helm:Kubernetes的包管理工具,官网:https://helm.sh/
Charts:Kubernetesr打包好的配置文件包


安装helm

curl -SLO https://get.helm.sh/helm-v3.10.1-linux-amd64.tar.gz
tar -zxvf helm-v3.10.1-linux-amd64.tar.gz
mv  linux-amd64/helm  /usr/local/bin/helm
helm version

#添加镜像源:
helm repo list
helm repo remove stable
#helm repo add stable http://mirror.azure.cn/kubernetes/charts
helm repo add stable https://charts.kubesphere.io/stable
helm repo update 

#搜索
helm search repo redis

在k8s中安装Harbor

应用仓库:管理和分发Helm Charts

helm repo add harbor https://helm.goharbor.io
helm repo update
helm fetch harbor/harbor
ls
tar -zxvf harbor-1.8.1.tgz

cd harbor
vi values.yaml
#把type: ingress 修改成 nodePort
#enabled: false
#配置当前服务器对外的ip:port
#nodePort.ports.http.nodePort: 30882
#externalURL: http://192.168.99.200:30882


vi /etc/hosts
192.168.99.200 harbor


helm template .

#先在k8s中创建名称为harbor的namespace
cd ..
kubectl get ns
kubectl create ns harbor

helm install my-harbor harbor -n harbor
helm list -n harbor

kubectl get pods -n harbor -owide

#http://192.168.99.200:30882 登录harbor,默认用户:admin/Harbor12345

如果helm web ui登录时默认密码错误,连接数据库修改密码

kubectl exec -it -n harbor my-harbor-database-0 -- /bin/sh

#连接数据库
psql -h 127.0.0.1 -p 5432 -d postgres -U postgres

#查看有哪些数据库
\l

进入数据库
\c registry;

#查看数据库里的表
\dt

select * from harbor_user;
update harbor_user set password='a71a7d0df981a61cbb53a97ed8d78f3e', salt='ah3fdh5b7yxepalg9z45bu8zb36sszmr' where username='admin';
exit


开发一个Helm应用

helm create hello-chart
cd hello-chart
ls 

vi Chart.yaml
vi values.yaml

helm template .
cd ..
helm install first-chart hello-chart/ -n default 
helm list -n default

kubectl get pods -n default
kubectl get svc -n default

更新Helm

vi hello-chart/values.yaml
#service.type: ClusterIP 修改成NodePort,并加一行:nodePort: 30883

vi hello-chart/templates/service.yaml
#spec.ports.port 下面增加一行 nodePort: {{ .Values.service.nodePort }}

cd hello-chart
helm template .

cd ..
helm list -n default
helm upgrade first-chart hello-chart -n default
helm list -n default
kubectl get svc -n default


#访问http://192.168.99.200:30883

卸载Helm应用

helm uninstall first-chart -n default

kubectl get pods -n default
kubectl get svc -n default

打包Helm应用

helm package hello-chart
ll hello-chart-0.1.0.tgz

#在helm web ui中,项目->library,上传hello-chart-0.1.0.tgz

参考文档:
CentOS 7环境的k8s安装helm 3.7.1
harbor admin 用户密码修改
helm 基本使用

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐