Kubernetes Helm怎么运用
发布时间:2021-12-27 10:05:33 所属栏目:系统 来源:互联网
导读:本篇内容主要讲解Kubernetes Helm怎么使用,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Kubernetes Helm怎么使用吧! 什么是Helm?这可不是暗黑破坏神里装备的名称:头盔,而是Kubernetes的一个包管理工具,用来
本篇内容主要讲解“Kubernetes Helm怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Kubernetes Helm怎么使用”吧! 什么是Helm?这可不是暗黑破坏神里装备的名称:头盔,而是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理。我们Helm和Kubernetes的关系,我们可以理解成yum和CentOS,apt-get和Ubuntu的关系。 Helm由两部分组成,客户端helm和服务端tiller。 其中tiller运行在Kubernetes集群上,管理chart,而客户端helm就是一个命令行工具,可在本地运行,一般运行在持续集成/持续交付的服务器上 。 Kubernetes Helm怎么使用 我们现在就来试用下helm。 首先安装helm客户端。 下载helm执行文件的压缩包: wget -O helm.tar.gz https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-linux-amd64.tar.gz tar -xzf helm.tar.gz 解压完毕后,将helm文件移到目录/usr/local/bin/helm下面: mv linux-amd64/helm /usr/local/bin/helm 给这个文件加上执行权限: chmod +x /usr/local/bin/helm 首先使用-namespace参数指定使用的namespace,我例子里的命名空间是part-0110: helm init --tiller-namespace part-0110 --service-account access Kubernetes Helm怎么使用 helm init --tiller-namespace part-0110 --service-account access Creating /home/vagrant/.helm Creating /home/vagrant/.helm/repository Creating /home/vagrant/.helm/repository/cache Creating /home/vagrant/.helm/repository/local Creating /home/vagrant/.helm/plugins Creating /home/vagrant/.helm/starters Creating /home/vagrant/.helm/cache/archive Creating /home/vagrant/.helm/repository/repositories.yaml Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com Adding local repo with URL: http://127.0.0.1:8879/charts $HELM_HOME has been configured at /home/vagrant/.helm. Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster. Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy. For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation Happy Helming! 从helm的init命令输出,我们可以观察到,该命令生成了大量和helm server交互所必须的repository。 现在可以使用helm version命令行参数查看helm客户端和服务器端的版本号: helm version --tiller-connection-timeout=5 --tiller-namespace part-0110 vagrant@vagrant:~/.kube$ helm version --tiller-connection-timeout=5 --tiller-namespace part-0110 Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"} 使用命令helm repo list查看helm仓库列表: 根据名称搜索helm chart: helm search chaoskube 使用下面的命令行安装chart。命令行中的参数jerry可以根据需要改成你自己期望的名字。 helm install --name jerry stable/chaoskube --set namespaces=part-0110 --set rbac.serviceAccountName=access --tiller-namespace part-0110 --debug 下面是helm install命令的输出,供您参考: vagrant@vagrant:~/.kube$ helm install --name jerry stable/chaoskube --set namespaces=part-0110 --set rbac.serviceAccountName=access --tiller-namespace part-0110 --debug [debug] Created tunnel using local port: '36408' [debug] SERVER: "127.0.0.1:36408" [debug] Original chart version: "" [debug] Fetched stable/chaoskube to /home/vagrant/.helm/cache/archive/chaoskube-0.10.0.tgz [debug] CHART PATH: /home/vagrant/.helm/cache/archive/chaoskube-0.10.0.tgz NAME: jerry REVISION: 1 RELEASED: Thu Nov 15 16:37:19 2018 CHART: chaoskube-0.10.0 USER-SUPPLIED VALUES: namespaces: part-0110 rbac: serviceAccountName: access COMPUTED VALUES: affinity: {} annotations: null debug: false dryRun: true excludedDaysOfYear: null excludedTimesOfDay: null excludedWeekdays: null image: quay.io/linki/chaoskube imageTag: v0.10.0 interval: 10m labels: null minimumAge: 0s name: chaoskube namespaces: part-0110 nodeSelector: {} priorityClassName: "" rbac: create: false serviceAccountName: access replicas: 1 resources: {} timezone: UTC tolerations: [] HOOKS: MANIFEST: Source: chaoskube/templates/deployment.yaml apiVersion: apps/v1beta1 kind: Deployment metadata: name: jerry-chaoskube labels: app: chaoskube heritage: "Tiller" release: "jerry" chart: chaoskube-0.10.0 spec: replicas: 1 selector: matchLabels: app: chaoskube release: jerry template: metadata: labels: app: chaoskube heritage: "Tiller" release: "jerry" chart: chaoskube-0.10.0 spec: containers: name: chaoskube image: quay.io/linki/chaoskube:v0.10.0 args: --interval=10m --labels= --annotations= --namespaces=part-0110 --excluded-weekdays= --excluded-times-of-day= --excluded-days-of-year= --timezone=UTC --minimum-age=0s resources: {} serviceAccountName: "access" LAST DEPLOYED: Thu Nov 15 16:37:19 2018 NAMESPACE: part-0110 STATUS: DEPLOYED RESOURCES: ==> v1beta1/Deployment NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE jerry-chaoskube 1 1 1 0 2s ==> v1/Pod(related) NAME READY STATUS RESTARTS AGE jerry-chaoskube-6689695476-kchtn 0/1 ContainerCreating 0 1s NOTES: chaoskube is running and will kill arbitrary pods every 10m. You can follow the logs to see what chaoskube does: POD=$(kubectl -n part-0110 get pods -l='release=jerry-chaoskube' --output=jsonpath='{.items[0].metadata.name}') kubectl -n part-0110 logs -f $POD You are running in dry-run mode. No pod is actually terminated. 使用helm list命令,现在就能查看到刚才安装的名为jerry的chart了。 helm list --tiller-namespace part-0110 使用helm命令查看这个chart的明细(类似kubectl describe pod XXX ) helm status jerry --tiller-namespace part-0110 上图也显示了自动生成的pod名称为jerry-chaoskube-6689695476-kchtn,可以用kubectl log命令查看其运行日志: kubectl log jerry-chaoskube-6689695476-kchtn (编辑:我爱故事小小网_铜陵站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |