kubernetes에서 Harbor registry에 있는 이미지 사용하여 Deployment 만들기
registry에 접근하려면 credentials 값이 필요합니다.
#kubectl create secret --help 로 tls, docker-registry, generic 이런 3가지 옵션이 있었다
kubectl create secret docker-registry <시크릿 명칭> —docker-server=harbor.kweather.co.kr \
—docker-username=admin —docker-password=mypassword –n 생성할 네임스페이스 –o=yaml >harbor-secert.yaml
#시크릿 생성, yaml파일 생성
Deployment 내에 imagePullSecrets 값을 추가합니다.
#Deployment.yaml
spec.template.spec.imagePullSecrets:
- name: harbor-secret
kubectl apply -f ./Deployment.yaml -n 네임스페이스
Container 생성 시 ImagepullError가 아니면 성공!
디버깅이 필요한 경우 kubectl describe, logs로 Pod의 상태를 꼭 체크할 것
특히 Describe 명령어를 사용하는 경우 Event 이하의 상태를 체크하는 것이 중요합니다.
2024.02.21 내용추가
Linux에서 docker login 시 insecure 처리안하고 진행할 시
daemon.json에 insecure 적용방식으로 진행할 시 아래 과정은 할 필요 없음
harbor 프로젝트에서 Registry Certificate 파일 다운 받고 진행
#다운받은 파일 적용
##Centos
/etc/pki/ca-trust/source/anchors
#위 경로에 파일 옮기고 아래 명령어 실행
update-ca-trust
##ubuntu
/etc/local/share/ca-certificates
update-ca-trust