Private Registry

rayis·2021년 1월 28일
0

kubernetes

목록 보기
7/10

#모든 서버에 작성
sudo vi /etc/hosts
172.16.135.70 master
172.16.135.140 node01
172.16.135.141 node02
172.16.135.142 node03
172.16.135.143 node04

#master
sudo apt -y install docker-registry

sudo vi /etc/docker/registry/config.yml

#auth:
#  htpasswd:
#    realm: basic-realm
#    path: /etc/docker/registry

:wq

sudo systemctl restart docker-registry

#모든 서버에서 실행 추가
sudo vi /etc/docker/daemon.json

  "insecure-registries":
   [
      "docker.internal:5000",
      "master:5000"
   ]

:wq

sudo systemctl restart docker
sudo docker pull master:5000/nginx:my-registry

#인증 사용하기
sudo apt -y install apache2-utils

sudo vi /etc/docker/registry/config.yml #주석 해제 후 변경

auth:
  htpasswd:
    realm: basic-realm
    path: /etc/docker/registry/.htpasswd

sudo systemctl restart docker-registry

#유저 추가
sudo htpasswd -Bc /etc/docker/registry/.htpasswd ubuntu

New password:
Re-type new password:
Adding password for user ubuntu

sudo docker login master:50000

#kubernetes secret 추가
ll ~/.docker/config.json

cat ~/.docker/config.json | base64
ewoJImF1dGhzIjogewoJCSJodHRwczovL2luZGV4LmR....

vi regcred.yml

apiVersion: v1
kind: Secret
data:
  .dockerconfigjson: ewoJImF1dGhzIjogewoJCSJodHRwczovL2luZGV4LmR.....
metadata:
  name: regcred
type: kubernetes.io/dockerconfigjson

kubectl create -f regcred.yml
kubectl get secrets
sudo docker tag localhost:5000/nginx:my-registry master:5000/nginx:my-registry
sudo docker push master:5000/nginx:my-registry
sudo sudo docker push master:5000/nginx:my-registry

vi private-nginx.yml

apiVersion: v1
kind: Pod
metadata:
  name: private-nginx
spec:
  containers:
  - name: private-nginx
    image: master:5000/nginx:my-registry
  imagePullSecrets:
  - name: regcred

kubectl apply -f private-nginx.yml
kubectl get pods
kubectl describe pods private-nginx

profile
사다는 건 다 그런거지

0개의 댓글