Kubernetes拉取harbor私有倉庫問題

k8s部署文件的Deployment鏡像地址是自己之前部好的harbor私有倉庫,執行apply命令之後,查看pod狀態提示鏡像拉取失敗。進入harbor查看倉庫的訪問級別。
在這裏插入圖片描述項目倉庫的訪問級別爲公有的可以直接拉取。訪問的項目倉庫的訪問級別爲私有,所以不能直接拉取鏡像。需要在k8s中配置secret。

直接用命令創建,替換掉括號和裏面的內容:

kubectl create secret docker-registry (secretName) --docker-server=(registryAddress>)–docker-username=(username) --docker-password=(password) --docker-email=(email)

secretName:創建serect的名字。
registryAddress:鏡像倉庫地址。
username:倉庫賬號。
password:倉庫密碼。
email:email地址。

在需要拉取的yml中添加secret引用:

  imagePullSecrets:
        - name: secretname

如:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: demo-deployment
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: demo
    spec:
      containers:
        - name: demo
          image: 192.168.1.1/demo/demo-app:latest
          ports:
            - containerPort: 8088
          env:
            - name: TZ
              value: Asia/Shanghai
      imagePullSecrets:
        - name: demo-secret

執行:

kubectl apply -f demo.yml

就可以正常拉取私有倉庫鏡像了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章