티스토리 뷰
저는 os는 ubuntu22.04 package 관리 툴로는 snap 을 사용했습니다.
본인의 os 와 패키지 관리 툴에 맞는 명령어로 변경해주세요.
⭐⭐ master와 모든 worker 노드에서 실행해줘야 합니다. ⭐⭐
1. docker 관련 설정
1) docker 설치 (설치 되어있는 경우 생략)
sudo apt update
sudo snap version #2.61.1 이상이 아닌 경우 docker를 설치 할 수 없음으로 버전 업데이트를 해준다.
1-1) snap version 업데이트
#snap update
sudo snap refresh
1-2) docker 설치
sudo snap install docker
1-3) docker 시작
sudo systemctl start snap.docker.dockerd
1-4) docker 상태 확인
sudo systemctl status snap.docker.dockerd
2) insecure-registries 설정 (https 인 경우 생략)
2-1) daemon.json 변경
사설 registry 통신 프로토콜이 http인 경우 도커의 damon.json에 "insecure-registies" 를 설정해주어야 한다.
sudo vi /var/snap/docker/current/config/daemon.json
daemon.json에 아래와 같이 insecure-registries에 사설 저장소의 ip와 port를 입력해준다.
{
"log-level": "error",
"insecure-registries" : ["private registry ip:port"] #추가
}
2-2) docker daemon 재시작
sudo systemctl restart snap.docker.dockerd
2-3) 반영내용 확인
- 아래와 같이 Insecure Registries 에 입력한 사설 registry 정보가 보인다면 성공이다.
sudo docker info
3) 사설 registry 접속 가능 여부 확인
- 아래와 같이 {"repositories" : ["image명"]} 가 나오면 성공이다.
curl -X GET http://[ip]:[port]/v2/_catalog -u admin -p
이렇게만 설정해주고 pod를 생성하면 ErrImagePull 에러가 난다.
쿠버네티스에게 어떤 registry를 사용 할 것인지를 알려주어야한다.
2. ranchers k8s 관련 설정
1) registries.yaml 생성
- rancher config 가 위치한 곳에 registries.yaml 생성 (위치 확인 꼭 하세요!)
- 나는 검색 결과 /etc/rancher/rke2 하위에 config가 위치해있지만, 버전에 따라 rancher 하위에 생기는 폴더명이 다른 것 같다..(아직 초보라 잘 모른다..)
vi /etc/rancher/rke2/registries.yaml
# 아래 내용을 작성해주세요
mirrors:
"사설저장소IP:PORT":
endpoint:
- "http://사설저장소IP:PORT"
configs:
"사설저장소IP:PORT":
auth:
username: 계정명
password: 비밀번호
2) rancher 서비스 재시작
sudo systemctl restart rke2-server.service
3. pod 생성하여 확인해보기
1) pod.yaml 생성
- 간단한 pod를 생성해서 확인해보기 위해 아래처럼 pod.yaml 을 만들었다.
- imagePullPolicy를 Always로 지정해놓으면 항상 repository에서 이미지를 다운로드 한다.
apiVersion: v1
kind: Pod
metadata:
labels:
app: test
name: test
spec:
containers:
- image: 사설저장소/이미지명
name: test
imagePullPolicy: Always
2) pod실행
kubectl apply -f pod.yaml
3) pod 확인
$ kubectl describe pod [파드명]
kubernetes secret 생성하여 설정하는 방법이 있는 것으로 알고 있는데... 이건 나중에 테스트 해보기로..!
'인프라 > Kubernetes' 카테고리의 다른 글
- Total
- Today
- Yesterday
- 자바스크립트
- 현대
- springboot
- 오토에버코테
- Kubernetes
- java 코테
- 전자정부프레임워크
- mysql
- softeer java
- centos
- Docker
- java
- tomcat
- 스프링
- 리액트
- Spring
- 코딩테스트
- 톰캣
- 쿠버네티스
- javascript
- softeer
- 자바
- react
- 코테
- 자바코테
- 현대오토에버
- Linux
- 도커
- 현대코테
- 아파치카프카
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |