溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何將私有倉(cāng)庫(kù)安裝到 K8S集群中

發(fā)布時(shí)間:2021-12-16 09:16:08 來(lái)源:億速云 閱讀:104 作者:柒染 欄目:云計(jì)算

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何將私有倉(cāng)庫(kù)安裝到 K8S集群中,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

前言

私有倉(cāng)庫(kù)用于企業(yè)內(nèi)部私有 Docker 鏡像的存儲(chǔ)。

可以將私有倉(cāng)庫(kù)安裝到 K8S 集群中。

Harbor 鏡像倉(cāng)庫(kù)是由 VMware 開(kāi)源的一款企業(yè)級(jí)鏡像倉(cāng)庫(kù)系統(tǒng)。

自定義證書(shū)

openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=zuolinux.com" -key ca.key -out ca.crt

openssl genrsa -out harbor.zuolinux.com.key 4096
openssl req -sha512 -new -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=zuolinux.com"  -key harbor.zuolinux.com.key -out harbor.zuolinux.com.csr
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=harbor.zuolinux.com
DNS.2=*.harbor.zuolinux.com
DNS.3=hostname
EOF
openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in harbor.zuolinux.com.csr \
    -out harbor.zuolinux.com.crt
openssl x509 -inform PEM -in harbor.zuolinux.com.crt -out harbor.zuolinux.com.cert

安裝 harbor

helm install nginx-ingress --set "rbac.create=true,controller.service.externalIPs[0]=192.168.10.15" apphub/nginx-ingress
kubectl create ns harbor

kubectl create secret tls harbor.zuolinux.com --key harbor.zuolinux.com.key --cert harbor.zuolinux.com.crt -n harbor

helm repo add harbor https://helm.goharbor.io
helm repo update

helm install harbor --namespace harbor harbor/harbor \
  --set expose.ingress.hosts.core=core.harbor.zuolinux.com \
  --set expose.ingress.hosts.notary=notary.harbor.zuolinux.com \
  --set expose.tls.secretName=harbor.zuolinux.com \
  --set persistence.enabled=false \
  --set externalURL=https://core.harbor.zuolinux.com \
  --set harborAdminPassword=密碼

查看安裝情況和服務(wù)地址

# helm status harbor
# kubectl get pod
# kubectl get pv
# kubectl get pvc
# kubectl get service

訪問(wèn) harbor

本地配置 HOSTS

192.168.10.15   core.harbor.zuolinux.com

瀏覽器訪問(wèn) https://core.harbor.zuolinux.com

Docker 鏡像倉(cāng)庫(kù)管理

拷貝證書(shū)至 Docker 的證書(shū)配置目錄

mkdir -p /etc/docker/certs.d/core.harbor.zuolinux.com/
cp harbor.zuolinux.com.cert /etc/docker/certs.d/core.harbor.zuolinux.com/
cp harbor.zuolinux.com.key /etc/docker/certs.d/core.harbor.zuolinux.com/
cp ca.crt /etc/docker/certs.d/core.harbor.zuolinux.com/

推送鏡像

docker tag nginx core.harbor.zuolinux.com/library/nginx:latest
docker push core.harbor.zuolinux.com/library/nginx:latest

瀏覽器登錄 harbor 可以看到已經(jīng)有鏡像了

下載鏡像

docker rmi core.harbor.zuolinux.com/library/nginx:latest
docker pull core.harbor.zuolinux.com/library/nginx:latest

Helm Chart 倉(cāng)庫(kù)管理

Helm Push 插件

helm plugin install https://github.com/chartmuseum/helm-push

創(chuàng)建 Repo

WEB 頁(yè)面中創(chuàng)建項(xiàng)目 myrepo

添加倉(cāng)庫(kù)到本地,注意 chartrepo 是關(guān)鍵字,要保留不能修改

helm repo add myrepo https://core.harbor.zuolinux.com/chartrepo/myrepo --ca-file /root/harbor/ca.crt --username=admin --password=密碼

本地創(chuàng)建一個(gè)測(cè)試 Chart

helm create testapp

推送到倉(cāng)庫(kù)

helm push --ca-file /root/harbor/ca.crt --username=admin --password=密碼 testapp myrepo

在 WEB 頁(yè)面上 chartrepo 項(xiàng)目下的 Helm Chats 中可以看到推送上來(lái)的 Chart 包

Harbor 使個(gè)人和企業(yè)擁有了自主創(chuàng)建和管理私有倉(cāng)庫(kù)的能力。

上述就是小編為大家分享的如何將私有倉(cāng)庫(kù)安裝到 K8S集群中了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

k8s
AI