Skip to content

Kustomize

About

Kustomize는 쿠버네티스 구성을 사용자 정의화하는 도구이다. 이는 애플리케이션 구성 파일을 관리하기 위해 다음 기능들을 가진다.

  • 다른 소스에서 리소스 생성
  • 리소스에 대한 교차 편집 필드 설정
  • 리소스 집합을 구성하고 사용자 정의

Example

kustomization.yaml

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
  - deploy/deployment.yaml
  - deploy/service.yaml

deploy/deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: inspekt-deployment
  labels:
    app: inspekt
spec:
  replicas: 1
  selector:
    matchLabels:
      app: inspekt
  template:
    metadata:
      labels:
        app: inspekt
    spec:
      containers:
        - name: inspekt
          image: premist/inspekt:latest
          env:
            - name: NODE_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
            - name: HOST_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.hostIP
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          ports:
            - containerPort: 8000
          livenessProbe:
            httpGet:
              path: /
              port: 8000
            initialDelaySeconds: 3
            periodSeconds: 3

deploy/service.yaml

apiVersion: v1
kind: Service
metadata:
  name: inspekt
  namespace: default
spec:
  ports:
  - name: http
    targetPort: 8000
    port: 80
  selector:
    app: inspekt

deploy/ingress-example.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: inspekt
spec:
  rules:
    - http:
        paths:
          - path: /
            backend:
              serviceName: inspekt
              servicePort: http

See also

Favorite site