1 # 터미널 1 k ns default watch -d kubectl get svc,ep,deploy,rs,pods 2 # 터미널 2 mkdir 61 cd 61 # 파드와 노드증가를 시각화 하여 확인하는 Kubeops view 설치 git clone https://codeberg.org/hjacobs/kube-ops-view.git cd kube-ops-view/ kubectl apply -k deploy # 외부에서 kube-ops-view를 접속하기 위해서 Service Type을 LoadBalancer 로 변경한다. kubectl edit svc kube-ops-view apiVersion: v1 kind: Service metadata: annotations: name: kube-ops-view spec: .... sessionAffinity: None type: LoadBalancer status: (3분 걸림) # type: ClusterIP => type: LoadBalancer 로 수정. 3 eksctl scale nodegroup --cluster=free-vpc-cluster --name=standard-nodes --nodes=3 --nodes-min=1 --nodes-max=10 --region ap-northeast-2 eksctl scale nodegroup --cluster=free-vpc-cluster --name=standard-nodes --nodes=7 --nodes-min=1 --nodes-max=10 --region ap-northeast-2 4 cat < nginx-pod.yaml apiVersion: v1 kind: Pod metadata: name: my-nginx labels: app: web spec: containers: - name: nginx-container image: nginx:latest ports: - containerPort: 80 EOF 5 # 매니페스트 적용 kubectl apply -f nginx-pod.yaml # 파드 상태 확인 kubectl get pod my-nginx 6 # 파드 강제 삭제 kubectl delete pod my-nginx 7 cat < nginx-deploy.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 selector: matchLabels: app: web template: metadata: labels: app: web spec: containers: - name: nginx image: nginx:latest EOF kubectl apply -f nginx-deploy.yaml 8 cat < nginx-svc.yaml apiVersion: v1 kind: Service metadata: name: nginx-service spec: type: LoadBalancer ports: - port: 80 # 서비스가 외부에서 받을 포트 targetPort: 80 # 파드 내부의 포트 protocol: TCP selector: app: web # 핵심! Deployment의 labels와 일치해야 연결됨 EOF 9 # 서비스 생성 kubectl apply -f nginx-svc.yaml # 서비스 목록 및 접속 주소 확인 kubectl get svc nginx-service 10 kubectl get endpoints nginx-service 11 kubectl logs -f -l app=web 12