반응형

ConfigMap

  • 컨테이너에 필요한 환경 설정을 컨테이너와 분리해서 제공하는 기능

사용

  • 설정
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: config-dev
    data:
      DB_URL: localhost
      DB_USER: myuser
      DB_PASS: mypass
      DEBUG_INFO: debug  
  • 컨피그맵 일부만 사용
    spec:
      containers:
      - name:
        image:
        env:
        - name: DEBUG_LEVEL
          valueFrom:
            configMapKeyRef:
              name: config-dev
              key : DEBUG_INFO
    • .env[].valueFrom 사용
    • .env[].valueFrom.configMapKeyRef 를 통해 이미 정의된 configmap 사용
  • 컨피그맵 전체를 불러오기
    spec:
      containers:
      - name:
        image:      
        envFrom:
        - configMapRef:
          name: config-dev      
  • volume 에 바인딩 하기
    spec:
      containers:
      - name:
        image:
        volumeMounts:
        - name: config-volume
          mountPath: /etc/config
      volumes:
      - name: config-volume
        configMap:
          name: config-dev    
    • 컨테이너 내부에 파일로 저장한다.
      root@nginx-deployment-67b8444cdf-sp7lx:/# ls /etc/config/
      DB_PASS  DB_URL  DB_USER  DEBUG_INFO

출처 : 쿠버네티스 입문 - 90가지 예제로 배우는 컨테이너 관리자 자동화 표준 (동양북스)

728x90
반응형
반응형

Service

개념

  • 동적으로 변하는 Pod 들을 고정적으로 접근할 때 사용한다.
  • 서비스는 주로 L4영역에서 통신할 때 사용한다.

서비스 타입

  • ClusterIP
    • default, 클러스터 내부에서만 사용가능
  • NodePort 모
    • 모든 노드에 지정된 포트를 할당함.
    • 외부에서 접근 가능
  • LoadBalancer
    • EXTERNAL-IP 생성
    • 외부에서 Pod 접근 가능 할수 있게 해줌
  • ExternalName
    • 서비스를 .spec.externalName 필드에 설정한 값과 연결한다.
    • 클러스터 안에서 외부에 접근할 때 주로 사용한다.

서비스 사용

  • 설정

    apiVersion: v1
    kind: Service
    metadata:
      name: my-service
    spec:
      type: ClusterIP
      selector:
        app: MyApp
      ports:
      - protocol: TCP
        port: 80
        targetPort: 8080
    • .spec.clusterIP 값을 None 로 설정하면 IP 가 없는 서비스 생성 가능

kube-proxy

  • userspace 모드
    • Pod 연결 요청시 실패할 경우 다른 Pod에 연결을 재시도함.
  • iptables 모드
    • 클라이언트 요청을 iptables 를 거쳐 Pod 로 직접 전달
    • Pod 연결 요청시 실패할 경우 재시도 안함
  • IPVS 모드

출처 : 쿠버네티스 입문 - 90가지 예제로 배우는 컨테이너 관리자 자동화 표준 (동양북스)

728x90
반응형

+ Recent posts