加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 服务器 > 系统 > 正文

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

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读