본문 바로가기
반응형

1. 프로젝트 생성 방법

  1. harbor 웹 콘솔 접속하여 로그인
  2. Project 탭의 NEW Project 클릭

 

    3. Project 값 입력

 

 

커맨드 확인

2. 이미지 태그 및 PUSH 방법

docker pull nginx:latest

테스트 이미지용 nginx:latest 다운로드

 

docker login 192.168.133.11

harbor(사설저장소) docker 로그인

docker tag nginx:latest 192.168.133.11/test/nginx:latest
docker push 192.168.133.11/test/nginx

tag 명령어로 사설저장소 주소 추가 후 push

 

웹 콘솔 접속하여 저장소에 이미지가 잘 올라갔는지 확인

3. 쿠버네티스 secret 작성 (imagePullSecret 용)

https://kubernetes.io/ko/docs/tasks/configure-pod-container/pull-image-private-registry/

참고

kubectl create secret generic regcred \\
    --from-file=.dockerconfigjson=<path/to/.docker/config.json> \\
    --type=kubernetes.io/dockerconfigjson

regcred 대신 원하는 secret 이름 입력해도 됨.

  • docker login 을 하면 ~/.docker 아래 config.json 파일이 생기는데 여기에 로그인 정보를 담고 있음

 

base64 decode 하면 auth 의 내용을 확인할 수 있다.

4. 쿠버네티스에서 이미지 사용

nginx-test.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      imagePullSecrets:
      - name: regcred
      containers:
      - name: nginx
        image: 192.168.133.11/test/nginx:latest
        ports:
        - containerPort: 80

imagePullSecrets: 항목에 위에 만든 regcred secret 추가

kubectl apply -f nginx-test.yaml

 

계속해서 ImagePullBackOFF 에러가 뜰 시

  1. 이미지 경로가 제대로 되었는지 확인
  2. ImagePullSecret 에 제대로 image repository 인증정보가 들어가있는지 확인
  3. 각 노드들 OS 에 서버 인증서를 전달했는지 확인 (하버 OS 인증서 등록과 동일하게)
    (인증서 적용 이후 K8S Container 재기동 필수 (Containerd))
728x90
반응형

'IT 공부 > PaaS' 카테고리의 다른 글

K8S 에서 containerd 와 docker  (0) 2024.05.29
[Harbor] 사설 image repository Harbor 설치 방법 정리  (0) 2024.04.11
[K8S] MetalLB 설치  (0) 2024.02.20
[K8S] 9. AutoScaling & Scheduler  (0) 2024.01.22
[K8S] 8. Statefulset  (0) 2024.01.20

한걸음 한걸음

개인적인 기록