前言
Helm是Kubernetes包管理工具,类似CentOS的yum包管理工具
学习Kubernetes,了解如何通过Helm安装跟管理Kubernetes应用很有必要,下面就来介绍Helm的入门使用。
一、Helm基本管理
1.1 检查Helm版本
helm version
helm version
二、配置Helm仓库
Helm可以通过添加仓库源来使用公共的 Chart仓库
2.1 添加官方稳定Chart仓库
Helm repo add
helm repo add stable https://charts.helm.sh/stable
helm repo add stable-hub https://hub.helm.sh/stable
常见问题
#国内直接配置stable仓库报错
#报错提示一
Error: looks like "https://charts.helm.sh/stable" is not a valid chart repository or cannot be reached: Get "https://charts.helm.sh/stable/index.yaml": dial tcp: lookup charts.helm.sh: no such host
#报错提示二
Error: looks like "https://charts.helm.sh/stable" is not a valid chart repository or cannot be reached: Get "https://charts.helm.sh/stable/index.yaml": dial tcp [2606:50c0:8002::153]:443: connect: no route to host
#报错提示三
Error: looks like "https://charts.helm.sh/stable" is not a valid chart repository or cannot be reached: context deadline exceeded (Client.Timeout or context cancellation while reading body)
解决思路
由于国内网络访问的限制,建议配置私有仓库,或者国内可用的Helm仓库,参考如下2.2部分
2.2 添加国内Helm仓库
#配置国内常用的Helm仓库
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm repo add azure http://mirror.azure.cn/kubernetes/charts
helm repo add kaiyuanshe http://mirror.kaiyuanshe.cn/kubernetes/charts
helm repo add bitnami https://charts.bitnami.com/bitnami
#arthub上ingress-nginx
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
2.2.1 本地Docker Desktop添加Chart仓库
aliyun
kaiyuanshe
bitnami(Vmware)
2.2.2 常用Helm Chart包
ingress-nginx(kubernetes仓库)
k8s-dashboard(kubernetes仓库)
harbor(harbor官方)
helm repo add harbor https://helm.goharbor.io
2.2.3 云服务器添加chart仓库
添加仓库
更新仓库
2.3 查看已添加的仓库
Helm repo list
helm repo list
2.4 刷新仓库本地缓存
Helm repo update
helm repo update
三、Helm安装应用
3.1 Helm搜索Chart包
helm search repo nginx
helm search repo nginx
3.2 查看安装包内容
Helm inspect values
helm inspect values
3.3 Helm安装Chart包(安装ingress-nginx)
helm install my-ingress-nginx
helm install mynginx stable/nginx
helm install stable/nginx-ingress
helm install --name my-release stable/nginx-ingress
查看pod安装情况
查看deployment安装情况
查看service创建情况
Nginx安装主要资源对象
访问Nginx服务
安装问题记录
常见问题 Init:ImagePullBackOff
解决思路
1. kubectl describe pod,查看pod异常事件,提示拉取镜像失败
2. 尝试手动pull镜像
3. 手动拉取镜像成功
4. 检查pod状态,手动拉取镜像后,pod状态正常拉起
3.4 Helm安装kubernetes-dashboard
3.4.1 helm install my-kubernetes-dashboard
helm install my-kubernetes-dashboard k8s-dashboard/kubernetes-dashboard --version 7.5.0
kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-kong-proxy 8443:443 #访问Dashboard执行
kubectl -n default get svc
https://localhost:8443
查看deployment情况
查看pod情况
查看service情况
3.4.2 端口转发port-forward 8443->443
kubectl port-forward svc/my-kubernetes-dashboard-kong-proxy 8443:443
3.4.3 创建sa账号dashboard
1. 创建sa serviceaccount
kubectl create serviceaccount dashboard -n kubernetes-dashboard
2. 创建rolebinding
kubectl create rolebinding def-ns-admin --clusterrole=admin --serviceaccount=default:def-ns-admin
3. 创建clusterrolebinding
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard
4. 创建secret(注意:1.24版本后不会自动创建secret,需手动创建)
cat<<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: dashboard
annotations:
kubernetes.io/service-account.name: "dashboard"
EOF
5. 查看sa的token
kubectl describe sa dashboard
6. 查看secret dashboard
3.4.4 创建sa账号dashboard-admin
1. 创建sa serviceaccount
kubectl create serviceaccount dashboard-admin -n kube-system #创建dashboard管理用户
2. 绑定用户为集群管理用户
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
3. 创建secret给dashboard-admin(注意:1.24版本后不会自动创建secret,需手动创建)
cat<<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: dashboard-admin-token
annotations:
kubernetes.io/service-account.name: "dashboard-admin"
EOF
4. 查看secret dashboard-admin-token
3.4.5 访问Kubernets-Dashboard
3.5 Helm安装harbor
Helm install my-harbor
helm install my-harbor harbor/harbor --version 1.15.1
查看pod安装情况
查看deployment安装情况
查看statefulset安装情况
查看ingress安装情况
查看service安装情况
查看pv创建情况
查看pvc创建情况
Harbor安装主要资源对象
查看node节点的外部IP
4 管理Helm安装列表
4.1 查看安装列表
helm list
helm list
helm list --all
4.2 查看Release状态
helm status my-harbor
helm status my-harbor
4.3 查看Release具体信息
Helm get notes <release>
helm get notes my-harbor
Helm get manifest <release>
helm get manifest <release>
5 查看应用Chart 可配置参数
5.1 查看应用Chart
Helm show chart <repo>/<chart-id>
Helm show chart <repo>/<chart-id>
5.2 查看应用可配置参数Values
Helm show values <repo>/<chart-id>
Helm show values <repo>/<chart-id>
6 Helm升级应用Chart包
6.1 Helm升级Chart
Helm upgrade my-harbor
helm upgrade my-harbor
写在最后
Helm作为Kubernetes的包管理工具,学习掌握Helm的使用对Kubernetes上的应用管理很有帮助,快来试试,用Helm搭建你的Kubernetes应用,大大提高效率哦~
标签:入门,查看,kubernetes,repo,helm,dashboard,Helm,Kubernetes From: https://blog.csdn.net/qq_42567701/article/details/142439939