k8s报错repository does not exist or may require 'docker login'

参考

https://blog.csdn.net/xukangkang1hao/article/details/80839834

执行wayne

kubectl   apply  -f  hack/kubernetes/dependency/

时报错"Failed to pull image "test.com/wayne/mysql:5.6.41": rpc error: code = Unknown desc = Error response from daemon: pull access denied for test.com/wayne/mysql, repository does not exist or may require 'docker login'",原因是修改了拉取本地harbor的镜像。需要添加登录秘钥如下操作

cd .docker/
vi config.json

{
        "auths": {
                "test.com": {
                        "auth": "bGlhbnRvbmc6TGlhbnRvbmcxMjM0NQ=="
                }
        },
        "HttpHeaders": {
                "User-Agent": "Docker-Client/18.09.2 (linux)"
        }
}

然后执行

cat ~/.docker/config.json |base64 -w 0

vi  registry-pull-secret.yaml

apiVersion: v1
kind: Secret
metadata:
  name: registry-pull-secret
  namespace: test
data:
  .dockerconfigjson: ewoJImF1dGhzIjogewoJCSJ0ZXN0LmNvbSI6IHsKCQkJImF1dGgiOiAiYkdsaGJuUnZibWM2VEdsaGJuUnZibWN4TWpNME5RPT0iCgkJfQoJfSwKCSJIdHRwSGVhZGVycyI6IHsKCQkiVXNlci1BZ2VudCI6ICJEb2NrZXItQ2xpZW50LzE4LjA5LjIgKGxpbnV4KSIKCX0KfQ== 
type: kubernetes.io/dockerconfigjson

cat namespace.yaml 
apiVersion: v1
kind: Namespace
metadata:
  name: test

kubectl   apply  -f  namespace.yaml

kubectl create -f registry-pull-secret.yaml

vi mysql.yaml 

 spec:
      imagePullSecrets:
      - name: registry-pull-secret
      containers:
      - name: mysql
        image: 'test.com/wayne/mysql:5.6.41'
        imagePullPolicy: IfNotPresent
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: root
        resources:
          limits:
            cpu: '1'
            memory: 2Gi
          requests:

kubectl  apply  -f  ../dependency/

扫描二维码关注公众号,回复: 5973462 查看本文章
kubectl   get  secret
 kubectl   get  secret  -n  test

vi wayne/deployment.yaml 

spec:
  replicas: 1
  selector:
    matchLabels:
      app: infra-wayne
  template:
    metadata:
      labels:
        app: infra-wayne
    spec:
      imagePullSecrets:
      - name: registry-pull-secret

      volumes:
      - name: config
        configMap:
          name: infra-wayne
      containers:
      - name: wayne
#        image: '360cloud/wayne:latest'
        image: 'test.com/docker/wayne:latest'
        imagePullPolicy: Always
        command:
          - /opt/wayne/backend
          - apiserver
        env:
 

行kubectl   apply  -f  ../wayne/

yne]# kubectl   get pods
NAME                                     READY   STATUS    RESTARTS   AGE
infra-wayne-787545bc4-xtz4v              1/1     Running   0          9s
infra-wayne-webhook-6b8df7b4b8-zgcrb     1/1     Running   0          9s
infra-wayne-woker-57495bf567-6pxxj       1/1     Running   0          9s
mysql-wayne-685c887785-tbwsc             1/1     Running   0          33m
nfs-client-provisioner-795497664-ffzzx   1/1     Running   2          24h
nginx-deployment-798ff649dc-8fhrj        1/1     Running   2          24h
nginx-deployment-798ff649dc-cplp4        1/1     Running   2          24h
nginx-deployment-798ff649dc-wz6tw        1/1     Running   2          24h
rabbitmq-wayne-7cc9fbf566-nxxtx          1/1     Running   0          33m
[root@master wayne]# 
[root@master wayne]# 
[root@master wayne]# kubectl  get  svc
NAME             TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)          AGE
infra-wayne      NodePort    10.0.0.251   <none>        8080:41502/TCP   31s
kubernetes       ClusterIP   10.0.0.1     <none>        443/TCP          46h
mysql-wayne      ClusterIP   10.0.0.93    <none>        3306/TCP         34m
rabbitmq-wayne   ClusterIP   10.0.0.91    <none>        5672/TCP         34m
[root@master wayne]# 
 

访问http://10.160.11.146:41502

猜你喜欢

转载自blog.csdn.net/sun007700/article/details/89356085