博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
helm安装配置
阅读量:6980 次
发布时间:2019-06-27

本文共 3036 字,大约阅读时间需要 10 分钟。

简介

helm是kubernetes的包管理工具,用于简化部署和管理 Kubernetes 应用。用来管理charts——预先配置好的安装包资源。

Helm和charts的主要作用:

  • 应用程序封装
  • 版本管理
  • 依赖检查
  • 便于应用程序分发

helm是一个C/S框架的软件,helm相当于一个客户端,tiller是一个 服务端

  • Helm CLI 是 Helm 客户端,可以在本地执行
  • Tiller 是服务器端组件,在 Kubernetes 群集上运行,并管理 Kubernetes 应用程序的生命周期
  • Repository 是 Chart 仓库,Helm客户端通过HTTP协议来访问仓库中Chart的索引文件和压缩包

安装

安装之前需要先配置好kubeconfigkubectl可以正常使用就表示kubeconfig已经配置正确,也可以通过环境变量KUBECONFIG指定helm使用的kubeconfig

安装helm

# 如下地址下载helm二进制文件 # 解压之后放在自己的PATH路径下# https://github.com/helm/helm/releasesmkdir -pv helm && cd helmwget https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gztar xf helm-v2.9.1-linux-amd64.tar.gzsudo mv linux-amd64/helm /usr/local/binrm -rf linux-amd64# 查看版本,不显示出server版本,因为还没有安装serverhelm version复制代码

简单安装tiller(本次实验采用)

# 部署 tillerhelm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 \--stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts# 查看kubectl get pods -n kube-system -l app=helmkubectl get svc -n kube-system -l app=helm复制代码

安全性更高的安装tiller(tls)

helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1 \--stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts \--tiller-tls \--tiller-tls-verify \--tiller-tls-cert=cert.pem \--tiller-tls-key=key.pem \--tls-ca-cert=ca.pem \--service-account=tiller# 其他命令都需要使用 tls# --tls复制代码

配置rbac

cat >helm-rbac-config.yaml<

查看状态

# 查看pod启动情况kubectl get pod -n kube-system -l app=helm# 再次查看版本,显示出server版本helm version复制代码

简单使用

查看可用charts

# 更新charts列表helm repo update # 搜索可用chartshelm searchhelm search mysql复制代码

查看已经安装的charts

helm list# helm ls复制代码

安装测试

以下两种部署方式任选一种

使用命令行模式部署
# 使用命令行模式部署helm install -n mariadb-test \--set persistence.enabled=false,mariadbRootPassword=will,mariadbUser=will,mariadbPassword=will,mariadbDatabase=will \stable/mariadb复制代码
使用配置文件定制部署
# 使用配置文件方式部署# 查看可配置项helm inspect values stable/mariadb# 获取所有可配置项(去行空行和注释)helm inspect values stable/mariadb | egrep -v '^\s*#|^$'# 配置cat >config.yml<
测试
# 查看状态helm lskubectl get podskubectl get svc# 连接测试kubectl run mariadb-cli --image=bitnami/mariadb:10.1.28-r1 -i --tty bashmysql -hmariadb-test-mariadb -uwill -pwill willshow databases;select version();select user();# 删除 mariadb-clikubectl delete deploy mariadb-cli# 删除部署helm delete mariadb-test --purge复制代码

自定义chart

创建chart

# 创建helm create hello# chart目录结构介绍hello├── charts # 本chart依赖的chart├── Chart.yaml # 描述chart的基本信息,如名称版本等├── templates # kubernetes manifest文件模板目录│   ├── deployment.yaml│   ├── _helpers.tpl│   ├── ingress.yaml│   ├── NOTES.txt # 纯文本文件,可在其中填写chart的使用说明│   └── service.yaml└── values.yaml # chart配置的默认值# 对chart的模板和配置进行测试helm install --dry-run --debug ./复制代码

测试安装chart

# 安装helm install -n hello-test ./# 查看helm lskubectl get podskubectl get svc# 端口转发export POD_NAME=$(kubectl get pods --namespace default -l "app=hello,release=hello-test" -o jsonpath="{.items[0].metadata.name}")kubectl port-forward $POD_NAME 8080:80# 访问curl http://127.0.0.1:8080# 删除helm delete hello-test --purge复制代码

chart分发

# 打包为压缩包helm package ./
本文转自掘金-

转载地址:http://cznpl.baihongyu.com/

你可能感兴趣的文章
javascript模块化、模块加载器初探
查看>>
PL/SQL Developer远程访问Oracle数据库
查看>>
我的友情链接
查看>>
eclipse插件安装方法
查看>>
Javascript中的字符串链接和Array.join()方法时间效率对比
查看>>
为什么用Immutable.js代替普通js对象?
查看>>
Ossim系统常见测试方法
查看>>
创业那些年,我们一起走过的坑
查看>>
Oracle软件的美学变迁
查看>>
HttpServlet中getAllDeclaredMethods()方法
查看>>
面试题2:二维数组中的查找
查看>>
文件上传的渐进式增强
查看>>
leetcode -- Sort Colors
查看>>
C#中使用自定义的纸张大小
查看>>
1z0-052 q209_3
查看>>
行测题哦
查看>>
JavaScript Window Navigator 浏览器本身的信息
查看>>
使用Android Ant在编译时混淆
查看>>
通过Servlet 将服务器硬盘图片 展示到浏览器
查看>>
linux_nand_driver
查看>>