亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

k8s使用harbor私有倉庫

發布時間:2020-08-12 14:04:47 來源:網絡 閱讀:557 作者:羊皮裘老頭 欄目:云計算

1、登錄Docker

通過注冊表進行身份驗證才能提取私有映像:

docker login? registry.hello.com

出現提示時,輸入您的Docker用戶名和密碼。登錄過程將創建或更新config.json包含授權令牌的文件。

查看config.json文件:

cat ~/.docker/config.json

{

?????? "auths": {
? ????????????? "registry.hello.com": {
???????????? ?????????? "auth": "YWRtaW46YWRtaW4xMjM="
??????????????? }
??????? },
??????? "HttpHeaders": {
??????????????? "User-Agent": "Docker-Client/18.09.0 (linux)"
??????? }
}

2、根據現有Docker憑證創建密鑰

Kubernetes集群使用Secret docker-registry類型的密鑰通過容器注冊表進行身份驗證以提取私有映像。如果您已經運行過docker login,則可以將該憑證復制到Kubernetes中:

kubectl create secret generic harbor \??? #命名為harbor

??? --from-file=.dockerconfigjson=/root/.docker/config.json \

?? --type=kubernetes.io/dockerconfigjson

如果您需要更多控制權(例如,在新密鑰上設置名稱空間或標簽),則可以在存儲密鑰之前自定義密鑰。

務必:

??? 將數據項的名稱設置為 .dockerconfigjson

??? base64對docker文件進行編碼并粘貼該字符串,將其作為字段的值不間斷 data[".dockerconfigjson"]

設置type為kubernetes.io/dockerconfigjson

apiVersion:?v1
data:
??.dockerconfigjson:?eyJhdXRocyI6eyJyZWdpc3RyeS5jbi1oYW5nemhvdS5hbGl5dW5jcy5jb20iOnsicGFzc3dvcmQiOiJFY29uYWdlQGs4cyIsInVzZXJuYW1lIjoiazhzQGVjb25hZ2UifX19
kind:?Secret
metadata:
??name:?harbor
??namespace:?default
type:?kubernetes.io/dockerconfigjson

如果收到錯誤消息 `error: no objects passed to create`,這可能意味著 base64 編碼的字符串無效。如果您收到的錯誤類似 `Secret "myregistrykey" is invalid: data[.dockerconfigjson]: invalid value ...`,這意

味著數據已成功地編碼為 un-base64,但無法解析為一個 `.docker/config.json` 文件。

3、在 pod 上引用 imagePullSecrets

imagePullSecrets:

name: harbor

k8s使用harbor私有倉庫

4、使用 Docker 配置創建一個 Secret

kubectl?create?secret?docker-registry?myregistrykey?\
--docker-server=registry.hello.com?--docker-username=admin?\
--docker-password=admin123

Pod 只能引用它們自己命名空間中的鏡像拉取 secret,因此,每個命名空間都需要完成一次此過程

5、應用場景

有許多配置私有倉庫的解決方案。以下是一些常見的用例和建議的解決方案。

??? 1.集群只運行非專有(例如,開放源碼)鏡像。不需要隱藏鏡像。在 Docker hub 上使用公共鏡像

??? ??? ???? 不需要配置。

?? ??? ???? 在 GCE 或 GKE 上,自動使用本地鏡像來提高速度和可用性。

??? 2.集群運行一些私有鏡像,這些鏡像應該對公司以外用戶進行隱藏,但對所有集群用戶都是可見的。

??? ??? ???? 使用托管的 Docker 倉庫。它可能托管在 Docker Hub 上,或其它地方。像上面描述的那樣在每個節點上手動配置 .docker/config.json。

??? ??? ???? 或者,在防火墻后面運行內部私有倉庫,并打開讀取訪問權限。不需要 Kubernetes 配置。

??? ??? ???? 或者,在 GCE 或 GKE 上,使用項目的 Google 容器倉庫。與手動節點配置相比,集群自動伸縮會更好地工作。

??? ??? ???? 或者,在更改節點配置不方便的集群上,使用 imagePullSecrets。

??? 3.擁有專有鏡像的集群,其中一些需要更嚴格的訪問控制。

??? ??? ???? 確保 AlwaysPullImages 準入控制器 打開。否則,所有 pod 都可能訪問所有的鏡像。

??? ??? ???? 將敏感數據移動到 “Secret” 資源中,而不是將其打包到鏡像中。

??? 4.多租戶集群,每個租戶都需要自己的私有倉庫。

??? ??? ???? 確保 AlwaysPullImages 準入控制器 打開。否則,所有 pod 都可能訪問所有的鏡像。

??? ??? ???? 運行需要授權的私有倉庫。為每個租戶生成倉庫憑證,將其轉換為 secret,并將 secret 填充到每個租戶命名空間。

??? ??? ???? 租戶將該 secret 添加到每個命名空間的 imagePullSecrets 中。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广元市| 麻阳| 固始县| 武清区| 响水县| 柘荣县| 东兴市| 天津市| 扎赉特旗| 林周县| 南安市| 八宿县| 金湖县| 江油市| 衢州市| 新田县| 潞城市| 新化县| 大安市| 武功县| 横山县| 南木林县| 油尖旺区| 涿州市| 霍山县| 寿宁县| 娄烦县| 江城| 长治县| 额尔古纳市| 宁强县| 沿河| 襄樊市| 沾化县| 颍上县| 鹰潭市| 会泽县| 耒阳市| 洮南市| 阆中市| 海盐县|