본문 바로가기
  • 오늘처럼
소프트웨어 아키텍처/Kubernetes

[Kubernetes] 1-21. static pod, service 생성

by bluefriday 2022. 5. 11.
반응형

정적 파드를 생성한 후에, Nodeport 타입의 서비스를 생성하여 파드를 해당 서비스로 노출 시킨다.

먼저 하단의 yaml 파일을 사용하여 파드를 생성한다.

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: my-static-pod
  name: my-static-pod
spec:
  containers:
  - image: nginx:1.16-alpine
    name: my-static-pod
    resources:
      requests:
        cpu: 10m
        memory: 20Mi
  dnsPolicy: ClusterFirst
  restartPolicy: Always
---

kubectl apply -f static-pod.yaml

파드가 정상적으로 구동됨을 확인한 후에, 해당 파드를 노출하는 서비스를 생성한다. kubectl expose 명령어를 사용할 수 있으며 yaml 파일을 준비하여 apply 명령으로도 가능하다.

### 파드 생성 확인
kubectl get pod -A | grep my-static
NAMESPACE     NAME                    READY   STATUS   ...   AGE
default       my-static-pod-master1   1/1     Running  ...   22s

### 서비스 노출 (방법 1)
kubectl expose pod my-static-pod-master1 \
  --name static-pod-service \
  --type=NodePort \
  --port 80
 
### 서비스 노출 (방법 2)
kubectl apply -f static-pod-service.yaml

--- 
apiVersion: v1
kind: Service
metadata:
  labels:
    run: my-static-pod
  name: static-pod-service
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    run: my-static-pod
  type: NodePort

생성 이후 service, endpoint 를 확인한다.

kubectl get svc,ep -l run=my-static-pod
NAME                         TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
service/static-pod-service   NodePort   10.99.168.252   <none>        80:30123/TCP   30s

NAME                           ENDPOINTS      AGE
endpoints/static-pod-service   10.32.0.4:80   30s

 

댓글