Link Search Menu Expand Document

Kubernetes 리소스 관리

  • 모든 리소스는 apiVersion, kind, 그리고 metadata 필드를 가짐

Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

Service

  • 파드 집합에서 실행중인 애플리케이션을 네트워크 서비스로 노출하는 추상화 방법
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376

Ingress

  • 클러스터 외부에서 클러스터 내부 서비스로 HTTP와 HTTPS 경로를 노출
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: minimal-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
      - path: /testpath
        pathType: Prefix
        backend:
          service:
            name: test
            port:
              number: 80

References

https://kubernetes.io/ko/docs/