環球通訊!Kubernetes 部署 Harbor

2022-12-26 17:28:05 來源:51CTO博客

helm 部署

項目地址

??Releases · helm/helm (github.com)??

安裝流程

[root@k8s-master2 ~]# mkdir helm[root@k8s-master2 ~]# cd helmtar zxvf helm-v3.5.4-linux-amd64.tar.gz cp -av linux-amd64//helm  /usr/local/bin/helm helphelm create nginx helm repo listhelm repo add stable http://mirror.azure.cn/kubernetes/chartshelm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/chartshelm repo list

安裝NFS

所有節點安裝NFS客戶端

yum install -y nfs-utils

選擇一臺做nfs server

進行如下配置(這里選擇40.181節點):


(資料圖片)

創建根目錄
mkdir -p /mnt/nfs復制代碼
編輯
vim /etc/exports/mnt/nfs/ 192.168.40.0/24(rw,sync,fsid=0)復制代碼
同192.168.0.0/24一個網絡號的主機可以掛載NFS服務器上的/mnt/nfs/目錄到自己的文件系統中rw表示可讀寫sync表示同步寫fsid=0表示將/mnt找個目錄包裝成根目錄啟動nfs服務
systemctl start rpcbind.servicesystemctl start nfs-server.service復制代碼
設置開機自啟
systemctl enable rpcbind.servicesystemctl enable nfs-server.service復制代碼
使用配置生效
exportfs -r復制代碼
查看掛載情況
exportfs

本次使用nfs 做存儲

PV 動態供給(StorageClass)

支持動態供給的存儲插件:????https://kubernetes.io/docs/concepts/storage/storage-classes/??

(1)添加倉庫

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner

(2)更新倉庫

helm repo update

(3)下載到本地

helm pull  nfs-subdir-external-provisioner/nfs-subdir-external-provisioner --untar

(4)修改values

repository: dyrnq/nfs-subdir-external-provisioner  tag: v4.0.2  pullPolicy: IfNotPresentimagePullSecrets: []nfs:  server: 192.168.40.181  path: /mnt/nfs

(5)安裝

helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/

改變默認 StorageClass

(1)列出你的集群中的 StorageClasses:

kubectl get storageclass

(2)標記一個 StorageClass 為默認的:

kubectl patch storageclass nfs-client -p "{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}"

Harbor

前提已部署ingress

參考

??部署Ingress Controller1.31 以及使用案例_趙承勝博客的技術博客_51CTO博客??

添加 Harbor Helm Chart 倉庫,并將 Helm Chart 下載到本地。

helm repo add harbor https://helm.goharbor.iohelm pull  harbor/harbor --untar

編輯 harbar/values.yaml 文件:

設置 HTTPS 證書的域名。修改 externalURL,表示外部客戶端訪問 Harbor 的地址。修改存儲類名稱storageClass: "nfs-client" (之前我們創建的存儲類)

☆ (部署之前接的刪除之前部署的pvc )

accessMode: ReadWriteMany # 卷的訪問模式,需要修改為ReadWriteMany,允許多個組件讀寫,否則有的組件無法讀取其它組件的數據

執行下面命令在 cloudnative-lab 命名空間部署 Harbor。

helm install harbor harbor

服務驗證

訪問

https://core.harbor.domain用戶 admin  密碼如下:cat harbor/values.yaml | grep 123harborAdminPassword: "Harbor12345"

WebUI 上傳 Helm Charts

首先新建一個項目名為 demo。

從 Helm Chart 倉庫 找一個別人分享的 Helm Chart,這里我選擇一個 Kafka Helm Chart。

倉庫地址??https://artifacthub.io/??

使用以下命令拉取 Kafka Helm Chart。

helm repo add bitnami https://charts.bitnami.com/bitnamihelm pull bitnami/kafka

在 Harbor 界面選擇 Kafka Helm Chart 的壓縮文件,點擊上傳。

Helm Charts 上傳成功后,就可以看到相關信息,包括: Chart 版本號、狀態、作者、模板引擎、創建時間等信息。

添加 harbor helm 倉庫

因為我們的 HTTPS 證書是自簽名證書,在添加倉庫的時候需要帶上 ca.crt,如果是受信任的第三方 CA 簽名的證書則無需此步驟。點擊注冊證書下載 ca.crt 文件。

添加倉庫 ,安裝kafka

helm repo add   --ca-file ca.crt  --username=admin --password=Harbor12345 myrepo https://core.harbor.domain/chartrepo/demohelm repo listhelm install kafka --ca-file=ca.crt --username=admin --password=Harbor12345 myrepo/kafka

標簽: 命名空間 模板引擎 訪問模式

上一篇:天天快消息!Prometheus監控之pushgateway安裝配置
下一篇:精彩看點:#yyds干貨盤點# 名企真題專題:編碼