마스터 노드에서 확인하기
cat /etc/docker/daemon.json
["insecure-registries":["34.22.96.240:5000"]
GCP/Docker 인스턴스에서 도커 이미지를 도커 레지스트리에 업로드하기
sudo vi /etc/docker/daemon.json
sudo systemctl restart docker
{["insecure-registries":["34.22.96.240:5000"]}
docker push 34.22.96.240:5000/nginx:latest
전체 노드에다가도 레지스트리 정보 넣어주기!!
# vi /etc/docker/daemon.json
"insecure-registries":["34.22.96.240:5000"]
# systemctl restart docker
전체에 넣어주기!!
docker pull 34.22.96.240:5000/nginx:latest
maste를 nfs라고 가정하고 master에다가 nfs 기능을 탑재해보자.
잠시 master를 nfs서버인 것으로 가정하고 실습하자!
- nfs
master1에다가!
# yum install -y nfs-utils.x86_64
# mkdir /nfs_shared
# chmod 777 /nfs_shared/
# echo '/nfs_shared 172.25.0.0/24(rw,sync,no_root_squash)' >> /etc/exports
# systemctl enable --now nfs
# vi nfs-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
capacity:
storage: 100Mi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
server: 172.25.0.156 #master1의 ip
path: /nfs_shared
# kubectl apply -f nfs-pv.yaml
아직 pvc를 연결하지 않아서 bind가 아니라 Available로 나온다.
# vi nfs-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Mi
# kubectl apply -f nfs-pvc.yaml
앞서 만들었던 pv의 accessmode부분과 pvc의 accessmode부분을 맞춰주면 둘이 연결이 된다.
이것도 pv와 pvc를 연결하는 방법 중 하나이당!!
pvc를 연결해주었더니 Available -> Bound로 변경되었음!
이제 활용을 해보자!
# vi nfs-pvc-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nfs-pvc-deploy
spec:
replicas: 3
selector:
matchLabels:
app: nfs-pvc-deploy
template:
metadata:
labels:
app: nfs-pvc-deploy
spec:
containers:
- name: nginx
image: 34.64.199.110:5000/nginx:latest
volumeMounts:
- name: nfs-vol
mountPath: /usr/share/nginx/html
volumes:
- name: nfs-vol
persistentVolumeClaim:
claimName: nfs-pvc
# kubectl apply -f nfs-pvc-deploy.yaml
현재 pod가 없기 때문에 골고루 생길 것이다!
잉?ContainerCreating!
pod가 생성이 되지 않는다?!
그렇다면 describe로 내용을 확인해보장!
kubectl describe pod [파드이름]
확인해보면..
내용은 마운트가 되지 않았다. ㅜㅜ
yum install -y nfs-utils
마스터노드에는 설치가 되어 있기 때문에 worker들만 설치해줌
k get po -o wide
바로 띄워짐!!
k expose deployment nfs-pvc-deploy --type=LoadBalancer --name=nfs-pvc-deploy-svc1 --port=80
k get all
잉?
하지만 정상임!
왜?
이 폴더 안에 지금 들어간게 아무것도 없기 때문이다.
tar -xvf aws.tar -C /nfs_shared/
aws.tar파일을 nfs_shared 폴더에 풀어넣기!
pv를 nfs로 쓰면 여러가지 장점이 있당
바로 보여짐!!!!
여하튼.
지금가지 한 수업은
worker node의 호스트내에 저장소를 두는 것!!
그렇다면 worker node에 꼭 utils를 설치해야함을 잊지말자.
'Kubernetes' 카테고리의 다른 글
쿠버네티스-namespace (0) | 2024.02.19 |
---|---|
쿠버네티스-ConfigMap (0) | 2024.02.19 |
Kubernetes-volume (1) | 2024.02.19 |
쿠버네티스- MetalLB (0) | 2024.02.19 |
쿠버네티스 3 (0) | 2024.02.05 |