반응형
현재 control(ip주소:10.0.0.1), node1(10.0.0.2), node2(10.0.0.3), node3(10.0.0.4) 이렇게 구축이 되어 있습니다.
image pull rate limit에서 문제가 있어 어쩔수 없이 로컬에서 docker 로 받은 이미지를 썼습니다.
docker 가 설치된 가상머신에서 tar 파일을 만들어 쿠버네티스 가상머신으로 복사합니다.
docker save -o word.tar mysql:5.7, wordpress:5.6
scp word.tar root@10.0.0.1:/root
scp word.tar root@10.0.0.2:/root
scp word.tar root@10.0.0.3:/root
control, node1, node2, node3 각각마다 이미지를 불러오고 확인합니다.
crictl images
ctr --namespace k8s.io image import word.tar
crictl -r unix:///run/containerd/containerd.sock image ls
# 불러온 이미지 지울땐 이런식으로...
crictl -r unix:///run/containerd/containerd.sock rmi wordpress:5.6
# manifest file (yaml)로 wordpress:5.6 컨테이너 pod 생성하기
vi word.yml
원래 노드 설정을 안해줘도 돌아가야하지만,..
전 자꾸 에러가 떠서 노드 설정을 하니 문제가 없어졌습니다.
imagePullPolicy는 현재 외부에서 image 받아오는게 안되고 있으므로, Never 또는 IfNotPresent를 씁니다.
(( WORDPRESS_DB_HOST 의 value 값은 사실은 mysql pod 먼저 생성한 뒤, 해당 pod 의 ip 주소 알아내고 써야합니다.))
# manifest file (yaml)로 mysql:5.7 컨테이너 pod 생성하기
vi mysql.yml
wordpress 와 mysql yaml 파일을 한꺼번에 만들어도 되지만
저는 지속적인 crashloopback error 때문에 하나씩 확인하면서 실행해보았습니다. (ㅜㅜ;;)
kubectl apply -f word.yml
kubectl apply -f mysql.yml
kubectl get po -n 1team
kubectl get po -n 1team -o wide --show-labels
-o wide --show-labels을 붙이면 내부 ip 주소, node 정보, app 이름이 추가된 것을 확인할 수 있습니다.
# wordpress 서비스 실행 및 포트 번호 확인
kubectl expose po -n 1team word --type=NodePort -l app=web
kubectl get svc -n 1team
최종 확인
반응형
'클라우드 기초 > 도커&컨테이너' 카테고리의 다른 글
[CKA] 문제풀이 (0) | 2023.08.03 |
---|---|
Pod, Svc 실행하기 & yaml 파일 생성 (0) | 2023.07.16 |
쿠버네티스 pod, service, manifest 파일로 pod 생성하기 (0) | 2023.06.22 |
wordpress, mysql 컨테이너 생성 및 연결 (0) | 2023.06.20 |
도커 네트워크 - bridge, host (0) | 2023.06.19 |
댓글