在k8s中使用harbor倉庫
阿新 • • 發佈:2020-10-09
在k8s中使用harbor倉庫
修改每個node上的docker認證倉庫
將每個node節點上的docker同樣需要配置可信任倉庫
vi /etc/docker/daemon.json #修改為 {"registry-mirrors": ["http://a58c8480.m.daocloud.io"], "insecure-registries": ["10.1.210.33"]} #重啟docker systemctl restart docker
建立認證secret
由於harbor採用了使用者名稱密碼認證,所以在映象下載時需要配置sercet
#建立 kubectl create secret docker-registry registry-secret --namespace=default \ --docker-server=10.1.210.33 \ --docker-username=admin \ --docker-password=Harbor12345 #檢視secret [root@master demo]# kubectl get secret NAME TYPE DATA AGE default-token-gdwgn kubernetes.io/service-account-token 3 2d18h registry-secret kubernetes.io/dockerconfigjson 1 116s #刪除 kubectl delete secret registry-secret
部署示例
以一個部署一個nginx為例子,其中需要把containers中的images映象指定為harbor倉庫映象地址,並且使用建立的的secret。
# kubectl create -f nginx.yml
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: appname: nginx spec: replicas: 3 selector: matchLabels: appname: nginx template: metadata: labels: appname: nginx spec: containers: - name: nginx image: 10.1.210.33/project1/nginx:latest #映象地址 ports: - containerPort: 80 imagePullSecrets: #使用的secret - name: registry-secret
檢視pod
檢視pod映象拉去日誌,可發現使用的是harbor倉庫。
ref:
https://www.cnblogs.com/wdliu/p/10250385.html
https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md
https://blog.csdn.net/u010278923/article/details/77941995
https://kubernetes.io/docs/concepts/containers/images/