From 19751d5f92f23d96b014399dd21c22a90e82f3e0 Mon Sep 17 00:00:00 2001 From: Vadim Date: Mon, 26 Sep 2022 19:25:09 +0200 Subject: [PATCH] Remove k8s-handle and helm compare --- README.md | 8 -------- helmVsK8s-handle.png | Bin 16331 -> 0 bytes 2 files changed, 8 deletions(-) delete mode 100644 helmVsK8s-handle.png diff --git a/README.md b/README.md index cf03979..bd72462 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ k8s-handle is a helm alternative, but without package manager # Table of contents * [Features](#features) -* [k8s-handle vs helm](#k8s-handle-vs-helm) * [Before you begin](#before-you-begin) * [Installation with pip](#installation-with-pip) * [Usage with docker](#usage-with-docker) @@ -51,13 +50,6 @@ k8s-handle is a helm alternative, but without package manager * Easy integration with CI pipeline (gitlab ci for example) * Ability to destroy resources (deploy and destroy from git branches, gitlab environments) -# k8s-handle vs helm -* k8s-handle acts like template parser and provisioning tool, but not package manager included like in helm -* k8s-handle don't need in cluster tools like The Tiller Server, you need only ServiceAccount for deploy -* k8s-handle secure by default, you don't need to generate any certificates for deploying application, k8s-handle uses kubernetes REST API with https, like kubectl - -![Deploy process](/helmVsK8s-handle.png) - # Before you begin * Setup Kubernetes cluster [https://kubernetes.io/docs/setup/](https://kubernetes.io/docs/setup/), or use any predefined * Install `kubectl` if you don't have it [https://kubernetes.io/docs/tasks/tools/install-kubectl/](https://kubernetes.io/docs/tasks/tools/install-kubectl/) diff --git a/helmVsK8s-handle.png b/helmVsK8s-handle.png deleted file mode 100644 index 082d09317751546f5590c9781c2dedb235802e83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16331 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