โธ๏ธ Kubernetes ๋ฐฐํฌ๊ฐ Google Cloud Platform์์ ์ฌ์ ๋ชจ๋ Step2 : ์ด๋ณด์๋ฅผ ์ํ ๋จ๊ณ๋ณ ์ค์ต
๐ ์๋ก
๋ง๋๋๋ฒ์ ์ด์ ๊ธ์ ์ฐธ๊ณ ํด์ฃผ์ธ์.
์ด๋ฒ์๋ ๊ฐ๋จํ๊ฒ ์ฟ ๋ฒ๋คํฐ์ค ์ค์ต ํ๋ ค๊ณ ํฉ๋๋ค.
์ฝ๋๋ ์์ ๋งํฌ์ ์์ผ๋ฉฐ ๊ฐ๋จํ ์ค์ต ๋ด์ฉ์ด๋ผ ์๋๋ ๋ถ๋ถ์ ๋๊ธ๋ก ๋ถํ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๐๏ธ ์ค์ต GCP Kubernetes Engine Pod ์์ฑ ๋ฐ ์์ 
์์ ์  ํ
์คํธ kubectl get pod ๋ช
๋ น์ด ์ ์๋ฌ๊ฐ ๋  ๊ฒฝ์ฐ ์ด์  ๋ธ๋ก๊ทธ ๊ธ์ ํ์ธํด์ฃผ์ธ์.
1. git clone ์ ์งํํด์ฃผ์ธ์.
  git clone https://github.com/smk692/kubernetes-summarize.git์ค๋น๋ฌผ: deployment.yaml
  apiVersion: apps/v1
  kind: Deployment
  metadata:
  name: nginx
  spec:
  selector:
  matchLabels:
        app: nginx
  replicas: 3
  template:
  metadata:
        labels:
        app: nginx
  spec:
        containers:
        - name: nginx
        image: nginx:1.21.1
        ports:
        - containerPort: 80
        resources:
        limits:
              memory: "64Mi"
              cpu: "50m"2. ๋๋ ํ ๋ฆฌ ์์น ๋ณ๊ฒฝ
cd kubernetes-summarize/step13. pod ์์ฑ
kubectl apply -f deployment.yaml
kubectl get deployment
      
  
    
GCP Kubernetes Engine ์ ์์ฑ๋๊ฑธ ํ์ธ ํ ์ ์์ต๋๋ค.
      
  
    
์คํฌ๋ฆฐ์ท๊ณผ ๊ฐ์ด ๋จ๋ฉด Pod ์์ฑ์ด ์๋ฃ!
4. pod ๋ณ๊ฒฝ
kubectl get deployment
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   3/3     3            3           6m33s
์์์ ํ์ธํ Name ์ผ๋ก ๋ณ๊ฒฝ์ ์งํํฉ๋๋ค.
kubectl edit deployment nginx
      
  
    
์ ์ฅ ์ deployment.apps/nginx edited ์์ ์ด๋์๋ค๊ณ  ํธ์ถ๋ฉ๋๋ค.
      
  
    
์คํฌ๋ฆฐ์ท๊ณผ ๊ฐ์ด ๋จ๋ฉด Pod ๋ณ๊ฒฝ์ด ์๋ฃ!
5. pod ์ญ์ 
kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-57858cd857-c8j25   1/1     Running   0          46m
kubectl delete pod nginx-57858cd857-c8j25
pod "nginx-57858cd857-c8j25" deleted # ์คํ๋๋ฉด์ ์ญ์  ๋๋ค.
kubectl get pod # ๋ค์ ํ์ธํ๋ฉด ์๋์ ๊ฐ์ด ์๋ก ๋น๋๋ค.
NAME                     READY   STATUS              RESTARTS   AGE
nginx-57858cd857-mj5vz   0/1     ContainerCreating   0          2syaml ์์ ์ด๋ฏธ replicas ์ง์ ํ๊ธฐ ๋๋ฌธ์ ์ญ์ ๋์ด๋ ์๋ก์ด pod ๊ฐ ๋จ๋๊ฑธ ํ์ธ ํ ์ ์์ต๋๋ค.
๐๏ธ ์ค์ต GCP Kubernetes Engine port-forward ํ ์คํธ
ํฌํธํฌ์๋ฉ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฌด์์๋ ๋ง์ด ์ฌ์ฉ๋์ง๋ ์๊ณ ๊ฐ๋ฐ์์ ํ ์คํธ์ฉ์ผ๋ก ๋ง์ด ์ฌ์ฉํฉ๋๋ค.
  # pod ์กฐํ
  kubectl get pod 
  
  NAME                     READY   STATUS    RESTARTS   AGE 
  nginx-57858cd857-c8j25   1/1     Running   0          16m
  kubectl port-forward nginx-57858cd857-c8j25 8080:80์์๋ ๋ ๋๊ณ ์ด์  ๋ค๋ฅธ ํฐ๋ฏธ๋์ผ๋ก ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ๋ ๋ฆฌ๋ฉด ์ ์กฐํ ๋๋๊ฒ์ ์ ์ ์๋ค.
curl localhost:8080/version
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.21.1</center>
</body>
</html>๐ Kubernetes ๋ก๊ทธ ๋ณด๋ ๋ฐฉ๋ฒ
# ์คํ์ค์ธ ํฌ๋๋ฅผ ์ ๊ทผํ์ฌ ์ค์๊ฐ ๋ก๊ทธ ํ์ธ 
kubectl attach deployment/nginx -c nginx
# ์คํ์ค์ธ ํฌ๋๋ฅผ ์ ๊ทผํ์ฌ ์ ์ฒด ๋ฐ ์ค์๊ฐ ๋ก๊ทธ ํ์ธ 
kubectl logs deployment/nginx -c nginx -f