Kubernetes : निजी रजिस्ट्री का उपयोग करें2024/06/07 |
|
स्वयं निजी रजिस्ट्री से कंटेनर छवियाँ खींचने के लिए निजी रजिस्ट्री को कॉन्फ़िगर करें। यह उदाहरण निम्न प्रकार के वातावरण पर आधारित है।
+----------------------+ +----------------------+
| [ ctrl.srv.world ] | | [ dlp.srv.world ] |
| Manager Node | | Control Plane |
+-----------+----------+ +-----------+----------+
eth0|10.0.0.25 eth0|10.0.0.30
| |
------------+--------------------------+-----------
| |
eth0|10.0.0.51 eth0|10.0.0.52
+-----------+----------+ +-----------+----------+
| [ node01.srv.world ] | | [ node02.srv.world ] |
| Worker Node#1 | | Worker Node#2 |
+----------------------+ +----------------------+
|
| [1] |
किसी नोड पर आप निजी रजिस्ट्री पॉड चलाना चाहते हैं, |
| [2] | Kubernetes में Secret जोड़ें। |
|
# एक उपयोगकर्ता के साथ एक बार रजिस्ट्री में लॉगिन करें root@ctrl:~# podman login ctrl.srv.world:5000 Username: serverworld Password: Login Succeeded! # निम्न फ़ाइल उत्पन्न होती है root@ctrl:~# ll /run/user/0/containers/auth.json -rw------- 1 root root 91 Jun 7 04:06 /run/user/0/containers/auth.json # फ़ाइल का BASE64 एनकोड root@ctrl:~# cat /run/user/0/containers/auth.json | base64 ewoJImF1dGhzIjogewoJCSJjdHJsLnN.....
root@ctrl:~#
vi regcred.yml # नया निर्माण # [.dockerconfigjson] अनुभाग के लिए एक पंक्ति के साथ ऊपर BASE64 एन्कोडिंग की सामग्री निर्दिष्ट करें apiVersion: v1 kind: Secret data: .dockerconfigjson: ewoJImF1dGhzIjogewoJCSJjdHJsLnNy..... metadata: name: regcred type: kubernetes.io/dockerconfigjson kubectl create -f regcred.yml secret "regcred" created root@ctrl:~# kubectl get secrets NAME TYPE DATA AGE regcred kubernetes.io/dockerconfigjson 1 4s |
| [3] | स्वयं निजी रजिस्ट्री से छवियाँ खींचने के लिए, पॉड्स को तैनात करते समय निजी छवि और गुप्त को निम्नानुसार निर्दिष्ट करें। |
|
root@ctrl:~# podman images REPOSITORY TAG IMAGE ID CREATED SIZE ctrl.srv.world:5000/nginx my-registry 8cc89f55a4af About a minute ago 126 MB srv.world/ubuntu-nginx latest 8cc89f55a4af About a minute ago 126 MB docker.io/library/ubuntu latest 17c0145030df 7 days ago 78.7 MB
root@ctrl:~#
vi private-nginx.yml
apiVersion: v1
kind: Pod
metadata:
name: private-nginx
spec:
containers:
- name: private-nginx
# निजी रजिस्ट्री पर छवि
image: ctrl.srv.world:5000/nginx:my-registry
imagePullSecrets:
# आपके द्वारा जोड़ा गया गुप्त नाम
- name: regcred
root@ctrl:~#
root@ctrl:~# kubectl create -f private-nginx.yml pod "private-nginx" created kubectl get pods NAME READY STATUS RESTARTS AGE private-nginx 1/1 Running 0 11sroot@ctrl:~# kubectl describe pods private-nginx
Name: private-nginx
Namespace: default
Priority: 0
Service Account: default
Node: node02.srv.world/10.0.0.52
Start Time: Fri, 07 Jun 2024 04:15:31 +0000
Labels: <none>
Annotations: cni.projectcalico.org/containerID: cd962c8ef7bba34ef95bfe6b1cdb8c2b16ee1e65450f92fbf6ff35022b404171
cni.projectcalico.org/podIP: 192.168.241.133/32
cni.projectcalico.org/podIPs: 192.168.241.133/32
Status: Running
IP: 192.168.241.133
IPs:
IP: 192.168.241.133
Containers:
private-nginx:
Container ID: containerd://8ac1b511600858b55a6d059592efcd8e30d4cf7e3ec62294c57c0cb35a151fd8
Image: ctrl.srv.world:5000/nginx:my-registry
Image ID: ctrl.srv.world:5000/nginx@sha256:b790f6375b967d44c7991183af48faa86cb321e478476a5b80791559dd2d0246
Port: <none>
Host Port: <none>
State: Running
Started: Fri, 07 Jun 2024 04:15:34 +0000
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-xgq42 (ro)
.....
.....
|
| Sponsored Link |
|
|