前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Helm的安装和使用

Helm的安装和使用

作者头像
mazhen
发布2023-11-24 15:37:57
2500
发布2023-11-24 15:37:57
举报
文章被收录于专栏:mazhen.techmazhen.tech

安装helm客户端

macOS上安装很简单:

代码语言:javascript
复制
brew install kubernetes-helm

其他平台请参考Installing Helm

配置RBAC

定义rbac-config.yaml文件,创建tiller账号,并和cluster-admin绑定:

代码语言:javascript
复制
apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system

执行命令:

代码语言:javascript
复制
$ kubectl create -f rbac-config.yaml
serviceaccount "tiller" created
clusterrolebinding "tiller" created

安装Tiller镜像

在强国环境内,需要参考kubernetes-for-china,将helm服务端部分Tiller的镜像下载到集群节点上。

初始化helm

执行初始化命令,注意指定上一步创建的ServiceAccount

代码语言:javascript
复制
helm init --service-account tiller --history-max 200

命令执行成功,会在集群中安装helm的服务端部分Tiller。可以使用kubectl get pods -n kube-system命令查看:

代码语言:javascript
复制
$kubectl get pods -n kube-system

NAME                                   READY   STATUS    RESTARTS   AGE
...
tiller-deploy-7fbf5fc745-lxzxl         1/1     Running   0          179m

Quickstart

  • 增加Chart Repository(可选)

查看helm的Chart Repository

代码语言:javascript
复制
$ helm repo list

NAME     	URL
stable   	https://kubernetes-charts.storage.googleapis.com
local    	http://127.0.0.1:8879/charts

如果你所处的网络环境无法访问缺省的Chart Repository,可以更换为其他repo,例如微软提供的 helm 仓库的镜像:

代码语言:javascript
复制
$ helm repo add stable http://mirror.azure.cn/kubernetes/charts/
"stable" has been added to your repositories

$ helm repo add incubator http://mirror.azure.cn/kubernetes/charts-incubator/
"incubator" has been added to your repositories

  • 所有可用chart列表:
代码语言:javascript
复制
helm repo update
helm search

  • 搜索tomcat chart
代码语言:javascript
复制
helm search tomcat

  • 查看stable/tomcat的详细信息
代码语言:javascript
复制
helm inspect stable/tomcat

stable/tomcat使用 sidecar 方式部署web应用,通过参数image.webarchive.repository指定war的镜像,不指定会部署缺省的sample应用。

  • 安装tomcat

如果是在私有化集群部署,设置service.typeNodePort

代码语言:javascript
复制
helm install --name my-web  --set service.type=NodePort  stable/tomcat

  • 测试安装效果
代码语言:javascript
复制
export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services my-web-tomcat)
export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT

# 访问sample应用
curl http://$NODE_IP:$NODE_PORT/sample/

  • 列表和删除
代码语言:javascript
复制
helm list
helm del --purge my-web
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装helm客户端
  • 配置RBAC
  • 安装Tiller镜像
  • 初始化helm
  • Quickstart
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档