通過tar包安裝,命令舉例:helm install xxx-1.tgz(不推薦使用);
通過chart本地目錄安裝,命令舉例:helm install xxx/xxx(一般是使用helm fetch stable/xxxxx 下載相應的模板,然后使用tar zxf 解壓,修改解壓后的目錄中的valumes.yaml文件中的值,就是自定義服務了,這種方式比較常用);
通過URL安裝,不太常用,命令舉例:helm install https://xxxx/charts/xxx-1.gz 。

二、自定義Chart包舉例

[root@master ~]# helm create testchart     #創建testchar包
#如果沒有“tree”命令,可以使用“yum -y install tree”進行安裝
[root@master ~]# tree -C testchart/        #可以看到生成的目錄下各種模板都有了,根據業務需求進行更改即可
testchart/
├── charts
├── Chart.yaml
├── templates
│ ├── deployment.yaml
│ ├── _helpers.tpl
│ ├── ingress.yaml
│ ├── NOTES.txt
│ ├── service.yaml
│ └── tests
│     └── test-connection.yaml
└── values.yaml
[root@master ~]# helm install testchart/ --dry-run --debug
#“--dry-run”:模擬安裝;“--debug” :檢測輸出
#執行上述命令后,即可輸出該目錄模板的yaml文件內容
[root@master ~]# helm lint testchart/    #對該目錄的內容進行語法檢測,testchart是目錄名
==> Linting testchart/
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, no failures

附加:https://hub.helm.sh/ ,這是一個helm模板倉庫的網站,上面有大量的helm模板,可以自行查看。

三、運行一個mysql服務進行示例
1、部署NFS服務

[root@master ~]# yum -y install nfs-utils
[root@master ~]# vim /etc/exports
/nfsdata *(rw,sync,no_root_squash)
[root@master ~]# systemctl start rpcbind
[root@master ~]# systemctl start nfs-server
[root@master ~]# showmount -e
Export list for master:
/nfsdata *

2、創建一個PV

[root@master ~]# vim Mysql-pv.yaml        #編寫yaml文件

apiVersion: v1
kind: PersistentVolume
metadata:
  name: MYSQL-pv
spec:
  accessModes:
    - ReadWriteOnce
  capacity:
    storage: 8Gi
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /nfsdata/mysql-pv     #指定本地的掛載目錄
    server: 192.168.20.6
[root@master ~]# mkdir -p /nfsdata/mysql-pv   #創建nfs的本地目錄
[root@master ~]# kubectl apply -f mysql-pv.yaml      #執行yaml文件
[root@master ~]# kubectl get pv       #確定pv狀態正常
NAME       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
mysql-pv   8Gi        RWO            Retain           Available                                   73s
#狀態為“Available”表示pv正常

3、helm部署MySQL

[root@master ~]# helm install stable/mysql --set mysqlRootPassword=123.com -n test-mysql
#在線安裝MySQL,并設置mysql的root密碼為123.com,“-n”表示指定其名稱
#查看其pod
[root@master ~]# helm list    #使用helm查看
NAME        REVISION    UPDATED                     STATUS      CHART       APP VERSION NAMESPACE
test-mysql  1           Sun Dec  1 21:22:56 2019    DEPLOYED    mysql-0.3.5             default  
[root@master ~]# kubectl get pod -o wide     #查看mysql所對應的pod
NAME                               READY   STATUS    RESTARTS   AGE     IP           NODE     NOMINATED NODE   READINESS GATES
test-mysql-mysql-dfb9b6944-4kmgv   1/1     Running   0          9m16s   10.244.2.2   node02   <none>           <none>
 #可以登錄數據庫進行測試
[root@master ~]# kubectl exec -it test-mysql-mysql-dfb9b6944-4kmgv -- mysql -uroot -p123.com        

當install安裝后,會輸出一些提示信息,其中就包括了查看MySQL數據庫密碼的命令,如果沒有使用“–set”命令設置數據庫的root密碼,那么可以通過此命令查看出默認的數據庫root與用戶密碼,提示命令如下:

也可以通過以下命令查看到關于test-mysql實例的詳細狀態信息

[root@master ~]# helm status test-mysql   #查看test-mysql的實例信息

在線升級MySQL鏡像操作

[root@master ~]# helm upgrade --set imageTag=5.7.16 test-mysql stable/mysql
#其中test-mysql是實例名稱;
# 還是需要指定初次運行時指定的stable/mysql文件,如果初次運行時指定的是目錄,那么這里就換成目錄
#驗證鏡像是否更新成功
[root@master ~]# kubectl describe pod test-mysql-mysql-68484cd8db-59wm5 

上述命令執行后,輸出的結果如下(可以看到鏡像的版本已經更新):

[root@master ~]# helm list      #再次查看實例,可以發現“REVISION”字段為2,而初次創建實例時,該列為1,
#每更新一次,該數值就會 1.
NAME        REVISION    UPDATED                     STATUS      CHART       APP VERSION NAMESPACE
test-mysql  2           Sun Dec  1 21:53:00 2019    DEPLOYED    mysql-0.3.5             default  

[root@master ~]# helm history test-mysql     #查看該實例的歷史版本
REVISION    UPDATED                     STATUS      CHART       DESCRIPTION     
1           Sun Dec  1 21:22:56 2019    SUPERSEDED  mysql-0.3.5 Install complete
2           Sun Dec  1 21:53:00 2019    DEPLOYED    mysql-0.3.5 Upgrade complete

進行test-mysql實例的版本回滾

[root@master ~]# helm rollback test-mysql 1    #回滾到版本1
Rollback was a success.

[root@master ~]# helm list   #再次查看,可以看到“REVISION”的值變成了3
NAME        REVISION    UPDATED                     STATUS      CHART       APP VERSION NAMESPACE
test-mysql  3           Sun Dec  1 22:12:25 2019    DEPLOYED    mysql-0.3.5             default  
#查看MySQL對應的容器詳細信息
[root@master ~]# kubectl describe pod test-mysql-mysql-dfb9b6944-8hfj4 

返回的信息如下,可以看到鏡像的版本已經回滾到初次創建的版本了,如下:

———————— 本文至此結束,感謝閱讀 ————————

更多關于云服務器域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » K8s之helm工具使用舉例

登錄

找回密碼

注冊

主站蜘蛛池模板: 人人澡人摸人人添| 日产国产一区二区不卡| 超碰成人人人做人人爽| 国产精品中文一区二区| 香港日本三级亚洲三级| 亚洲一区二区精品另类| 永修县| 日韩精品一区二区高清视频 | 国产自产av一区二区三区性色| 欧美成人精品在线| 99久久国产综合精品成人影院| 国产超碰无码最新上传| 成人无码一区二区三区网站| 婷婷六月天在线| 最新国产精品拍自在线观看| 动漫av纯肉无码av在线播放| 国产精品国产自产拍高清| 尉氏县| 日本一区二区三区专线 | 久久精品无码免费不卡| 亚洲人成网站观看在线观看| 色偷偷av一区二区三区| 无码乱人伦一区二区亚洲| 国产精品午夜无码AV天美传媒 | 亚洲综合国产伊人五月婷| 少妇激情av一区二区三区| 国产精品国产亚洲看不卡| 精品国产午夜福利在线观看 | 亚洲v欧美v日韩v国产v| 久久波多野结衣av| 大色综合色综合网站| 国产精品人妻系列21p| 久久精品亚洲精品国产色婷| 99中文字幕精品国产| 日本一区二区三区视频一| 国产免费网站看v片元遮挡| 国产亚洲精品国产福APP| 精品无码一区在线观看| 强开小雪的嫩苞又嫩又紧| 亚洲av与日韩av在线| 欧美人人妻人人澡人人尤物|