k8s(十三)—Helm (未完待续)

1. 简介

Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。

Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。

对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。

对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。

Helm V3 与 V2 最大的区别在于去掉了tiller

在这里插入图片描述
Helm官网

2 helm部署及配置

2.1 Helm安装

[root@foundation50 k8s]# scp helm-v3.4.1-linux-amd64.tar.gz  server2:helm  将下载好的helm安装包拷贝到server2的helm目录里
[root@server2 helm]# tar zxf helm-v3.4.1-linux-amd64.tar.gz   解压
[root@server2 helm]# ls
helm-v3.4.1-linux-amd64.tar.gz  linux-amd64
[root@server2 helm]# cd linux-amd64/   进入解压目录
[root@server2 linux-amd64]# ls
helm  LICENSE  README.md
[root@server2 linux-amd64]# mv helm /usr/local/bin/    将二进制程序helm拷贝到目录bin里
[root@server2 ~]# echo "source <(helm completion bash)" >> ~/.bashrc   设置自动补齐参数
[root@server2 ~]# source .bashrc   生效

2.2 搜索官方helm hub chart库

[root@server2 ~]# helm search hub nginx     搜索nginx,有很多

2.3 Helm 添加第三方 Chart 库

$ helm repo add stable http://mirror.azure.cn/kubernetes/charts/    推荐使用第一个微软的
$ helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
$ helm search repo redis
[root@server2 ~]#  helm repo add stable http://mirror.azure.cn/kubernetes/charts/   添加第三库成功
"stable" has been added to your repositories
[root@server2 ~]# helm search repo nginx  从第三方搜索nginx应用
NAME                       	CHART VERSION	APP VERSION	DESCRIPTION                                       
stable/nginx-ingress       	1.41.3       	v0.34.1    	DEPRECATED! An nginx Ingress controller that us...
stable/nginx-ldapauth-proxy	0.1.6        	1.13.5     	DEPRECATED - nginx proxy with ldapauth            
[root@server2 ~]# helm repo remove stable   将第三方仓库删掉
"stable" has been removed from your repositories

2.4 helm部署应用-nginx

使用官方库
在这里插入图片描述
在这里插入图片描述

[root@server2 ~]# helm repo add bitnami https://charts.bitnami.com/bitnami   添加仓库
"bitnami" has been added to your repositories
[root@server2 ~]# helm search repo  nginx -l   列出该仓库nginx所有版本
NAME                            	CHART VERSION	APP VERSION	DESCRIPTION                                       
bitnami/nginx                   	10.1.2       	1.21.6     	NGINX Open Source is a web server that can be a...
bitnami/nginx                   	10.1.1       	1.21.6     	NGINX Open Source is a web server that can be a...
bitnami/nginx                   	10.1.0       	1.21.6     	NGINX Open Source is a web server that can be a...
bitnami/nginx                   	10.0.1       	1.21.6     	NGINX Open Source is a web server that can be a...
[root@server2 ~]# cd helm/
[root@server2 helm]# helm pull bitnami/nginx  --version 8.8.5   拉取指定版本nginx,后面不跟版本号默认拉取最新的版本
[root@server2 helm]# ls
helm-v3.4.1-linux-amd64.tar.gz  linux-amd64  nginx-8.8.5.tgz    拉取成功
[root@server2 helm]# tar zxf nginx-8.8.5.tgz    解压
[root@server2 helm]# cd nginx/  进入解压目录
[root@server2 nginx]# ls    
Chart.lock  Chart.yaml  README.md  values.schema.json
charts      ci          templates  values.yaml
[root@server2 nginx]# vim Chart.yaml   nginx信息都在这里面
[root@server2 templates]# ls   这里面就是需要部属的yaml文件
deployment.yaml      ingress.yaml                 serviceaccount.yaml
extra-list.yaml      ldap-daemon-secrets.yaml     servicemonitor.yaml
health-ingress.yaml  NOTES.txt                    svc.yaml
_helpers.tpl         pdb.yaml                     tls-secrets.yaml
hpa.yaml             server-block-configmap.yaml
[root@server2 nginx]# vim values.yaml   这个就是模板调用的所有变量

在这里插入图片描述

[root@server1 ~]# docker pull bitnami/nginx:1.19.10-debian-10-r14   拉取所需镜像

habor仓库新建项目
在这里插入图片描述

[root@server1 ~]# docker tag bitnami/nginx:1.19.10-debian-10-r14 reg.westos.org/bitnami/nginx:1.19.10-debian-10-r14  改标签
[root@server1 ~]# docker push reg.westos.org/bitnami/nginx:1.19.10-debian-10-r14    上传镜像到仓库
[root@server2 nginx]# helm install nginx .    当前目录部属安装
[root@server2 nginx]# kubectl get svc --namespace default -w nginx
NAME    TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)        AGE
nginx   LoadBalancer   10.99.190.189   172.25.50.100   80:32300/TCP   88s
[root@server2 nginx]# helm list --all-namespaces   查询集群用helm部属的整个应用
NAME 	NAMESPACE	REVISION	UPDATED                                STATUS  	CHART      	APP VERSION
nginx	default  	1       	2022-04-21 19:28:36.226626507 +0800 CSTdeployed	nginx-8.8.5	1.19.10   

2.4.1 nginx应用版本更新

[root@server2 helm]# helm pull bitnami/nginx  --version 8.9.0   再次拉取另一个版本nginx
[root@server2 helm]# mkdir update
[root@server2 helm]# mv nginx-8.9.0.tgz update/   将镜像放入update目录
[root@server2 helm]# cd update/   进入目录
[root@server2 update]# tar zxf nginx-8.9.0.tgz   解压
[root@server2 update]# cd nginx/
[root@server2 nginx]# vim values.yaml 

在这里插入图片描述

[root@server2 nginx]# helm list    列出部署的helm
NAME 	NAMESPACE	REVISION	UPDATED                                STATUS  	CHART      	APP VERSION
nginx	default  	1       	2022-04-21 19:28:36.226626507 +0800 CSTdeployed	nginx-8.8.5	1.19.10
[root@server2 nginx]# helm upgrade nginx .   在当前目录升级nginx应用
[root@server2 nginx]# helm list  
NAME 	NAMESPACE	REVISION	UPDATED                                STATUS  	CHART      	APP VERSION
nginx	default  	2       	2022-04-21 19:53:57.563527117 +0800 CSTdeployed	nginx-8.9.0	1.19.10      可以发现nginx应用已经升级
[root@server2 nginx]# helm history nginx   列出nginx版本安装升级的历史
REVISION	UPDATED                 	STATUS    	CHART      	APP VERSION	DESCRIPTION     
1       	Thu Apr 21 19:28:36 2022	superseded	nginx-8.8.5	1.19.10    	Install complete
2       	Thu Apr 21 19:53:57 2022	deployed  	nginx-8.9.0	1.19.10    	Upgrade complete
[root@server2 nginx]# helm rollback nginx 1  版本回滚到1 
Rollback was a success! Happy Helming!
[root@server2 nginx]# helm list   版本回滚到了nginx-8.8.5版本
NAME 	NAMESPACE	REVISION	UPDATED                                STATUS  	CHART      	APP VERSION
nginx	default  	3       	2022-04-21 19:59:12.040341407 +0800 CSTdeployed	nginx-8.8.5	1.19.10  
[root@server2 nginx]# helm uninstall  nginx   卸载nginx

3 建立本地chart仓库

[root@server2 helm]# helm create mychart  自己创建一个chart库,库名为mychart
Creating mychart
[root@server2 helm]# cd mychart/
[root@server2 mychart]# ls
charts  Chart.yaml  templates  values.yaml
[root@server2 mychart]# yum install tree -y  
[root@server2 mychart]# tree .   查看路经,都被创建好了
.
├── charts
├── Chart.yaml
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── hpa.yaml
│   ├── ingress.yaml
│   ├── NOTES.txt
│   ├── serviceaccount.yaml
│   ├── service.yaml
│   └── tests
│       └── test-connection.yaml
└── values.yaml
[root@server2 mychart]# vim Chart.yaml  

在这里插入图片描述

[root@server2 mychart]# vim values.yaml    

在这里插入图片描述

[root@server2 mychart]# helm lint .    检测是否有语法错误
==> Linting .
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, 0 chart(s) failed
[root@server2 mychart]# helm package .   将当前目录mychart打包
Successfully packaged chart and saved it to: /root/helm/mychart/mychart-0.1.0.tgz
[root@server2 mychart]# mv mychart-0.1.0.tgz ..   移动到外层helm目录 

在habor仓库创建charts项目,这个用作存放应用包
在这里插入图片描述

[root@server2 helm]# helm repo add mychart https://reg.westos.org/chartrepo/charts   添加自己创建的chart库,但是发现仓库是加密的
Error: looks like "https://reg.westos.org/chartrepo/charts" is not a valid chart repository or cannot be reached: Get "https://reg.westos.org/chartrepo/charts/index.yaml": x509: certificate signed by unknown authority
所以需要将私有仓库证书,拷贝到操作系统识的anchors目录里:
[root@server2 helm]# cd /etc/docker/  
[root@server2 docker]# ls
certs.d  daemon.json  key.json
[root@server2 docker]# cd certs.d/
[root@server2 certs.d]# ls
reg.westos.org
[root@server2 certs.d]# cd reg.westos.org/
[root@server2 reg.westos.org]# ls
ca.crt   证书
[root@server2 reg.westos.org]# cp ca.crt /etc/pki/ca-trust/source/anchors/   让操作系统识别到证书
[root@server2 reg.westos.org]# update-ca-trust   更新操作系统信任的证书
[root@server2 reg.westos.org]# helm repo add mychart https://reg.westos.org/chartrepo/charts   再次添加chart库,成功
"mychart" has been added to your repositories
[root@server2 reg.westos.org]# helm repo list   列出添加的第三方仓库
NAME   	URL                                    
bitnami	https://charts.bitnami.com/bitnami     
mychart	https://reg.westos.org/chartrepo/charts   已经添加成功

如何上传chart包,需要安抓插件
[root@foundation50 k8s]# scp helm-push_0.9.0_linux_amd64.tar.gz server2:  将下载好的插件拷贝到server2上
[root@server2 ~]# helm plugin install https://github.com/chartmuseum/helm-push  也可以直接官网下载此插件,但是不好拉取成功
[root@server2 ~]# helm env  查看环境变量,确定插件位置
HELM_PLUGINS="/root/.local/share/helm/plugins"  获取插件目录,需要自己创建
[root@server2 ~]# mkdir -p /root/.local/share/helm/plugins  创建此路经
[root@server2 ~]# cd /root/.local/share/helm/plugins  
[root@server2 plugins]# mkdir push  在plugins 目录里创建push目录
[root@server2 ~]# tar zxf helm-push_0.9.0_linux_amd64.tar.gz -C /root/.local/share/helm/plugins/push/  解压到创建的push目录里
[root@server2 ~]# cd /root/.local/share/helm/plugins/push/
[root@server2 push]# ls
bin  LICENSE  plugin.yaml
[root@server2 helm]# helm push mychart-0.1.0.tgz mychart --insecure -u admin -p westos  上传chart包到仓库,需要用户名和密码认证
Pushing mychart-0.1.0.tgz to mychart...
Done.

查看仓库,上传成功
在这里插入图片描述

[root@server2 helm]# helm search repo mychart   搜索mychart库,但是搜索不到,没有更新
No results found
[root@server2 helm]# helm repo update  更新mychart
[root@server2 helm]# helm search repo mychart   再次搜索mychart库,上传的应用包就搜索出来了
NAME           	CHART VERSION	APP VERSION	DESCRIPTION                
mychart/mychart	0.1.0        	v1         	A Helm chart for Kubernetes
部署:
	[root@server2 helm]# helm install myapp mychart/mychart    myapp为应用名字,自定义,后面就是打的包
[root@server2 helm]# helm list   查看helm部署的应用
NAME 	NAMESPACE	REVISION	UPDATED                               	STATUS  	CHART        	APP VERSION
myapp	default  	1       	2022-04-21 21:33:56.95867012 +0800 CST	deployed	mychart-0.1.0	v1 

3.1 版本更新

[root@server2 mychart]# vim values.yaml 

在这里插入图片描述

[root@server2 mychart]# vim Chart.yaml 

在这里插入图片描述

[root@server2 helm]# helm package mychart  打包mychart目录
Successfully packaged chart and saved it to: /root/helm/mychart-0.2.0.tgz   生成软件包
[root@server2 helm]# helm push mychart-0.2.0.tgz mychart --insecure -u admin -p westos   上传到mychart库
Pushing mychart-0.2.0.tgz to mychart...
Done.
[root@server2 helm]# helm repo update  更新仓库
[root@server2 helm]# helm search repo mychart -l   列出mychart库中所有应用包版本
NAME           	CHART VERSION	APP VERSION	DESCRIPTION                
mychart/mychart	0.2.0        	v2         	A Helm chart for Kubernetes
mychart/mychart	0.1.0        	v1         	A Helm chart for Kubernetes
[root@server2 helm]# helm upgrade myapp  mychart/mychart   升级版本
[root@server2 helm]# helm list  列出集群用helm部属的应用
NAME 	NAMESPACE	REVISION	UPDATED                                STATUS  	CHART        	APP VERSION
myapp	default  	2       	2022-04-22 01:21:02.419386271 +0800 CSTdeployed	mychart-0.2.0	v2      版本以升级到v2
[root@server2 helm]# helm history myapp 查看myapp版本升级的历史
REVISION	UPDATED                 	STATUS    	CHART        	APP VERSION	DESCRIPTION     
1       	Fri Apr 22 00:22:07 2022	superseded	mychart-0.1.0	v1         	Install complete
2       	Fri Apr 22 01:21:02 2022	deployed  	mychart-0.2.0	v2         	Upgrade complete

3.2 版本回滚

[root@server2 helm]# helm rollback myapp 1   版本回滚到1
Rollback was a success! Happy Helming!
[root@server2 helm]# helm uninstall myapp    删除myapp应用

3.3 示例一:用helm部署nfs

在这里插入图片描述
在这里插入图片描述

[root@server2 nfs]# helm repo add moikot https://moikot.github.io/helm-charts   添加仓库
"moikot" has been added to your repositories
[root@server2 helm]# helm pull moikot/nfs-client-provisioner   拉取
[root@server2 helm]# tar zxf nfs-client-provisioner-1.3.0.tgz   解压
[root@server2 helm]# cd nfs-client-provisioner/  
[root@server2 nfs-client-provisioner]# ls
Chart.yaml  ci  OWNERS  README.md  templates  values.yaml
[root@server2 nfs-client-provisioner]# vim values.yaml   查看变量文件

在这里插入图片描述

[root@server1 harbor]# docker pull quay.io/external_storage/nfs-client-provisioner:v3.1.0-k8s1.11  拉取镜像
[root@server1 harbor]# docker tag quay.io/external_storage/nfs-client-provisioner:v3.1.0-k8s1.11 reg.westos.org/library/nfs-client-provisioner:v3.1.0-k8s1.11    更改标签
[root@server1 harbor]# docker push reg.westos.org/library/nfs-client-provisioner:v3.1.0-k8s1.11  上传镜像到仓库
[root@server2 nfs-client-provisioner]# vim values.yaml  修改配置

在这里插入图片描述
在这里插入图片描述

[root@server2 nfs-client-provisioner]# kubectl create namespace nfs-client-provisioner  创建一个namespace
namespace/nfs-client-provisioner created
[root@server2 nfs-client-provisioner]# helm install nfs-client-provisioner . -n nfs-client-provisioner  从当前目录安装nfs,并指定namespace(nfs-client-provisioner)
[root@server2 nfs-client-provisioner]# helm -n nfs-client-provisioner list   列出helm部署的应用
NAME                  	NAMESPACE             	REVISION	UPDATED                               	STATUS  	CHART                       	APP VERSION
nfs-client-provisioner	nfs-client-provisioner	1       	2022-04-22 19:39:46.72365943 +0800 CST	deployed	nfs-client-provisioner-1.3.0	3.1.0 
[root@server2 nfs-client-provisioner]# kubectl -n nfs-client-provisioner get all
NAME                                          READY   STATUS    RESTARTS   AGE
pod/nfs-client-provisioner-5bc9886cfb-s8dd4   1/1     Running   0          3h15m      已经运行

NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nfs-client-provisioner   1/1     1            1           3h15m

NAME                                                DESIRED   CURRENT   READY   AGE
replicaset.apps/nfs-client-provisioner-5bc9886cfb   1         1         1       3h15m
[root@server2 nfs-client-provisioner]# kubectl -n nfs-client-provisioner get sa
NAME                     SECRETS   AGE
default                  1         3h31m
nfs-client-provisioner   1         3h16m     创建成功

测试:
[root@server2 ~]# cd volumes/
[root@server2 volumes]# vim pvc.yaml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc1
spec:
  storageClassName: nfs-client
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
[root@server2 volumes]# kubectl apply -f pvc.yaml   创建
persistentvolumeclaim/pvc1 created
[root@server2 volumes]# kubectl get pvc  查看pvc
NAME   STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE   发现pvc始终没有绑定,不成功,是因为镜像的问题,换一个镜像
pvc1   Pending                                      nfs-client     94s      
[root@server2 volumes]# helm -n nfs-client-provisioner uninstall nfs-client-provisioner   回收
release "nfs-client-provisioner" uninstalled
[root@server2 volumes]# kubectl delete -f pvc.yaml   回收

将镜像换成v4.0.0版本

[root@server2 ~]# cd helm/
[root@server2 helm]# cd nfs-client-provisioner/
[root@server2 nfs-client-provisioner]# vim values.yaml 

在这里插入图片描述

[root@server2 nfs-client-provisioner]# helm -n nfs-client-provisioner install nfs-client-provisioner .   从当前目录安装nfs
[root@server2 volumes]# kubectl apply -f pvc.yaml   创建
[root@server2 volumes]# kubectl get pvc  查看pvc,已经绑定成功
NAME   STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc1   Bound    pvc-3a7bb43a-0cfa-4883-ab8e-f03aa2e976c3   5Gi        RWO            nfs-client     19s

3.4 示例二:用helm部署ingress

在这里插入图片描述
在这里插入图片描述

[root@server2 helm]#helm repo add bitnami https://charts.bitnami.com/bitnami  添加chart库
[root@server2 ingress-nginx]# helm pull bitnami/nginx-ingress-controller  拉取包
[root@server2 helm]# tar zxf nginx-ingress-controller-9.1.25.tgz  解压
[root@server2 helm]# cd nginx-ingress-controller/
[root@server2 nginx-ingress-controller]# vim values.yaml   查看变量文件

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

[root@server1 ~]# docker pull bitnami/nginx-ingress-controller:1.1.3-debian-10-r17  拉取所需镜像
[root@server1 ~]# docker pull bitnami/nginx:1.21.6-debian-10-r80   拉取所需镜像
[root@server1 harbor]# docker tag bitnami/nginx-ingress-controller:1.1.3-debian-10-r17 reg.westos.org/bitnami/nginx-ingress-controller:1.1.3-debian-10-r17   改标签
[root@server1 harbor]# docker tag bitnami/nginx:1.21.6-debian-10-r80 reg.westos.org/bitnami/nginx:1.21.6-debian-10-r80  改标签
[root@server1 harbor]# docker push reg.westos.org/bitnami/nginx-ingress-controller:1.1.3-debian-10-r17  上传镜像到仓库
[root@server1 harbor]# docker push reg.westos.org/bitnami/nginx:1.21.6-debian-10-r80  上传镜像到仓库
[root@server2 nginx-ingress-controller]# vim values.yaml   编辑

在这里插入图片描述

[root@server2 nginx-ingress-controller]# kubectl create namespace nginx-ingress-controller  创建一个namespace
namespace/nginx-ingress-controller created
[root@server2 nginx-ingress-controller]# helm install nginx-ingress-controller . -n nginx-ingress-controller  安装
tls:
        - hosts:
            - www.example.com
          secretName: example-tls
测试:
[root@server2 ~]# cd ingress/
[root@server2 ingress]# cat rs.yaml   运行两个pod用于测试用
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment-nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: myapp:v1
[root@server2 ingress]# kubectl apply -f rs.yaml   创建
[root@server2 ingress]# cat myservice.yaml
apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
spec:
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  selector:
    app: nginx
  type: ClusterIP
[root@server2 ingress]# kubectl apply -f myservice.yaml   创建svc服务
service/myservice created
[root@server2 ingress]# kubectl get svc
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP   12d
nginx-svc    ClusterIP   10.98.113.195   <none>        80/TCP    28s   创建成功	
[root@server2 ingress]# vim demo.yaml   创建ingress服务暴露svc端口
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-demo
spec:
  ingressClassName: nginx
  rules:
  - host: www1.westos.org
    http:
      paths:
      - path: /                
        pathType: Prefix
        backend:          
          service:
            name: nginx-svc          
            port:
              number: 80
[root@server2 ingress]# kubectl apply -f demo.yaml   创建
ingress.networking.k8s.io/ingress-demo created
[root@server2 ingress]# kubectl get ingress
NAME           CLASS   HOSTS             ADDRESS       PORTS   AGE
ingress-demo   nginx   www1.westos.org                  80      58s
[root@server2 ingress]# kubectl -n nginx-ingress-controller get svc   查看svc,分配的ip为172.25.50.100
NAME                                       TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                      AGE
nginx-ingress-controller                   LoadBalancer   10.102.94.227   172.25.50.100   80:30796/TCP,443:30295/TCP   109m
nginx-ingress-controller-default-backend   ClusterIP      10.111.17.156   <none>          80/TCP                       109m
[root@foundation50 Desktop]# vim /etc/hosts  在主机上添加解析
172.25.50.100 www1.westos.org
访问:
[root@foundation50 Desktop]# curl www1.westos.org  成功
Hello MyApp | Version: v2 | <a href="hostname.html">Pod Name</a>

4 helm可视化

helm repo add bitnami https://charts.bitnami.com/bitnami   添加chart库
[root@server2 helm]# helm pull bitnami/kubeapps  拉取包
[root@server2 helm]# tar zxf kubeapps-8.0.12.tgz   解压
[root@server2 helm]# cd kubeapps/
[root@server2 kubeapps]# vim values.yaml 

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@server1 harbor]# docker pull bitnami/kubeapps-kubeops:2.4.4-scratch-r2  拉取所需镜像
[root@server1 harbor]#docker pull bitnami/nginx:1.21.6-debian-10-r81   拉取所需镜像
[root@server1 harbor]docker pull bitnami/kubeapps-apprepository-controller:2.4.4-scratch-r2   拉取所需镜像
[root@server1 harbor]docker pull bitnami/kubeapps-asset-syncer:2.4.4-scratch-r2   拉取所需镜像
[root@server1 harbor]docker pull bitnami/kubeapps-dashboard:2.4.4-debian-10-r12   拉取所需镜像
[root@server1 harbor]# docker pull bitnami/kubeapps-apis: 2.4.4-debian-10-r19 拉取所需镜像
[root@server1 harbor]# docker tag bitnami/kubeapps-kubeops:2.4.4-scratch-r2 reg.westos.org/bitnami/kubeapps-kubeops:2.4.4-scratch-r2  改标签
[root@server1 harbor]# docker tag bitnami/nginx:1.21.6-debian-10-r81 reg.westos.org/bitnami/nginx:1.21.6-debian-10-r81  改标签
[root@server1 harbor]# docker tag bitnami/kubeapps-apprepository-controller:2.4.4-scratch-r2 reg.westos.org/bitnami/kubeapps-apprepository-controller:2.4.4-scratch-r2 改标签
[root@server1 harbor]# docker tag bitnami/kubeapps-asset-syncer:2.4.4-scratch-r2 reg.westos.org/bitnami/kubeapps-asset-syncer:2.4.4-scratch-r2  改标签
[root@server1 harbor]# docker tag bitnami/kubeapps-dashboard:2.4.4-debian-10-r12 reg.westos.org/bitnami/kubeapps-dashboard:2.4.4-debian-10-r12   改标签
[root@server1 harbor]# docker tag bitnami/kubeapps-apis:2.4.4-debian-10-r19 reg.westos.org/bitnami/kubeapps-apis:2.4.4-debian-10-r19
[root@server1 harbor]# docker push  reg.westos.org/bitnami/kubeapps-kubeops:2.4.4-scratch-r2   上传镜像到仓库
[root@server1 harbor]# docker push reg.westos.org/bitnami/nginx:1.21.6-debian-10-r81  上传镜像到仓库
[root@server1 harbor]# docker push reg.westos.org/bitnami/kubeapps-dashboard:2.4.4-debian-10-r12  上传镜像到仓库
[root@server1 harbor]# docker push reg.westos.org/bitnami/kubeapps-asset-syncer:2.4.4-scratch-r2   上传镜像到仓库
[root@server1 harbor]# docker push reg.westos.org/bitnami/kubeapps-apis:2.4.4-debian-10-r19  上传镜像到仓库
[root@server2 kubeapps]# vim values.yaml    配置文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@server2 helm]# cd kubeapps/
[root@server2 kubeapps]# cd charts/
[root@server2 charts]# cd postgresql/
[root@server2 kubeapps]# vim values.yaml 

在这里插入图片描述

在这里插入图片描述

[root@server1 harbor]# docker pull bitnami/postgresql:14.2.0-debian-10-r69  拉取镜像
[root@server1 harbor]# docker tag bitnami/postgresql:14.2.0-debian-10-r69 reg.westos.org/bitnami/postgresql:14.2.0-debian-10-r69    改标签
[root@server1 harbor]# docker push reg.westos.org/bitnami/postgresql:14.2.0-debian-10-r
[root@foundation50 Desktop]# vim /etc/hosts   做解析
172.25.50.100 www1.westos.org  kubeapps.westos.org 
[root@server2 kubeapps]# kubectl get sc   需要有存储
NAME                   PROVISIONER                            RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
nfs-client (default)   cluster.local/nfs-client-provisioner   Delete          Immediate           true                   27h
[root@server2 kubeapps]# kubectl create namespace kubeapps  创建namespace
namespace/kubeapps created
[root@server2 kubeapps]# helm -n kubeapps install kubeapps .  安装

实验没成功!!!!,后续在继续解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小莫细说linux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值