入门使用 Helm
Helm 简介
参考 K8s 权威指南第5版
随着容器技术和微服务架构逐渐被企业接受,在 K8s 上已经能便捷地部署简单的应用了,但对于复杂的应用或者中间件系统,在 K8s 上进行容器化部署并非易事。
因此 Helm 就闪亮登场啦!它用于对需要在 K8s 上部署的复杂应用干进行定义,安装和更新。
Helm 将 K8s 的资源,如 Deployment,Service,ConfigMap,Ingress等,打包到一个Chart 中,Chart被保存在Chart仓库,由Chart仓库存储、分发和共享。Helm支持应用Chart的版本管理,简化了 K8s 应用部署的应用定义、打包、部署、更新、删除和回滚等操作。
Helm 安装指南
首先查看我们的K8s 版本:
kubectl version
在 Helm 的 Github release 页面下载对应版本的二进制文件即可。
Helm 使用
添加 Chart 仓库
参考:https://www.chenshaowen.com/blog/configure-helm-mirror-in-china.html
helm repo add stable https://burdenbear.github.io/kube-charts-mirror/
部署 Mariadb 应用
helm install mariadb-1 stable/mariadb
验证
kubectl get all
NAME READY STATUS RESTARTS AGE
pod/mariadb-1-master-0 1/1 Running 0 6m27s
pod/mariadb-1-slave-0 1/1 Running 0 6m27s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 10d
service/mariadb-1 ClusterIP 10.98.153.111 <none> 3306/TCP 6m27s
service/mariadb-1-slave ClusterIP 10.110.161.94 <none> 3306/TCP 6m28s
NAME READY AGE
statefulset.apps/mariadb-1-master 1/1 6m27s
statefulset.apps/mariadb-1-slave 1/1 6m27s