openshift搭建registry-持久存储nfs

    xiaoxiao2021-04-16  28

    报错:

    https://docs.openshift.org/latest/install_config/registry/deploy_registry_existing_clusters.html 

    The Docker registry pod runs as user 1001. This user must be able to write to the host directory. You may need to change directory ownership to user ID 1001 with this command:

    $ sudo chown 1001:root <path>

    新增registry:

    oc delete dc docker-registry registry-console router

    oc delete svc docker-registry registry-console router

    oc delete serviceaccounts registry router

     

     

    mkdir -p /opt/openshift-registry

    chown 1001:root /opt/openshift-registry

    oc create serviceaccount registry -n default

    oc adm policy add-scc-to-user privileged system:serviceaccount:default:registry

     

    #service clusterrolebinding deploymentconfig

    oc adm registry --service-account=registry --mount-host=/opt/openshift-registry

    oc logs dc/docker-registry

     

     

    #为admin帐号授权

    oc adm policy add-role-to-user system:registry admin

    oc adm policy add-role-to-user admin admin -n openshift

    oc adm policy add-role-to-user system:image-builder admin

     

    oc adm policy add-role-to-user system:image-puller system:anonymous -n openshift

     

     

     

     

    搭建nfs-nfs目录权限

    chown 1001.1000030000 /export/openshift-registry-storage

    chmod g+s /export/openshift-registry-storage

    共享:exports

    /export/openshift-registry-storage *(rw,sync,no_root_squash,no_subtree_check)

     

    oc project default

    [root@master template]# cat registry-pvc.yaml

    apiVersion: v1

    kind: List

    items:

    - apiVersion: v1

    kind: PersistentVolume

    metadata:

    name: registry-storage

    labels:

    provider: docker-registry

    project: default

    spec:

    capacity:

    storage: 20Gi

    accessModes:

    - ReadWriteMany

    nfs:

    path: /export/openshift-registry-storage

    server: 192.168.6.135

    persistentVolumeReclaimPolicy: Retain

    - apiVersion: v1

    kind: PersistentVolumeClaim

    metadata:

    labels:

    provider: docker-registry

    project: default

    name: registry-storage

    spec:

    accessModes:

    - ReadWriteMany

    resources:

    requests:

    storage: 20Gi

    volumeName: registry-storage

     

     

     

    oc get svc docker-registry -o yaml > registry-svc.yml

    oc delete -f registry-svc.yml

    [root@master template]# cat registry-svc.yml

    apiVersion: v1

    kind: Service

    metadata:

    creationTimestamp: 2017-04-14T01:57:18Z

    labels:

    docker-registry: default

    name: docker-registry

    namespace: default

    resourceVersion: "56807"

    selfLink: /api/v1/namespaces/default/services/docker-registry

    uid: b0fbef3d-20b5-11e7-832b-5afbca75f359

    spec:

    clusterIP: 172.30.0.3

    portalIP: 172.30.0.3

    ports:

    - name: 5000-tcp

    port: 5000

    protocol: TCP

    targetPort: 5000

    selector:

    docker-registry: default

    sessionAffinity: ClientIP

    type: ClusterIP

    status:

    loadBalancer: {}

     

     

    oc create -f registry-svc.yml

    oc get svc docker-registry

     

    web界面:

    进入 "openshift web" - "default" - "Deployments" - "docker-registry" 点 "Actions" - "Edit YAML" 进入编辑模式,找到以下部分

    修改:

    volumes:

    - name: registry-storage

    persistentVolumeClaim:

    claimName: registry-storage

     

     

    oc login -n openshift

    oc whoami -t

    docker login -u admin -p 5S1FMOjluARDLwR33PW-JTJAz3PkY4XcnximqoAYDuU 172.30.0.3:5000

    docker tag nginx:1.11.4-alpine 172.30.0.3:5000/openshift/nginx:1.11.4-alpine

    docker push 172.30.0.3:5000/openshift/nginx:1.11.4-alpine

    转载请注明原文地址: https://ju.6miu.com/read-672862.html

    最新回复(0)