를 구성하는 방법 Kubernetes 멀티-창 배포

나는 응용 프로그램을 배포하는 클러스터에 의해 관리해 배포를 통해 k8s 배포체입니다. 이 문서는 저에게 매우 혼란이다. 나의 기본 레이아웃에는 다음과 같은 구성요소가 있는 규모 독립적으로:

  1. API server
  2. UI 서버
  3. 캐시 Redis
  4. 타이머/예약된 작업 서버

기술적으로,모든 4 위에 속하는 별도의 포드는 독립적으로 확장.

나의 질문은:

  1. 이 필요한가요를 만드는모드를 선택합니다.yml파일을 그리고 어떻게든 그들을 참조에서 배포합니다.yml파일이나 수 있는 배치 파일도 포함 pod 정?
  2. K8s 문서를 것을 의미하는 것으로 보인스펙부분의배포해당 정의하나의니다. 는 것입니다. 무엇하고 싶은 경우에는 선언적으로 설명하 멀티-창 배포? 게 할 필요 여러 배포합니다.yml 파일이 있는가?
해결책

Pagids 대답은 대부분의 기본입니다. 을 만들어야 합니다 4배포시나리오에. 각 배포를 만들 것ReplicaSet의 일정을 예약하고 감독의 컬렉션포드를 위한배포.

각각의배포가장 가능성이 또한 필요하서비스그 앞에 대한 액세스입니다. 나는 일반적으로 하나 만들 yaml 파일이 있는배포와 해당하는서비스이다. 에 대한 예는 다음과 같습니다는 nginx.yaml나는 사용:

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
  name: nginx
  labels:
    app: nginx
spec:
  type: NodePort
  ports:
  - port: 80
    name: nginx
    targetPort: 80
    nodePort: 32756
  selector:
    app: nginx
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginxdeployment
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginxcontainer
        image: nginx:latest
        imagePullPolicy: Always
        ports:
        - containerPort: 80

여기에 몇 가지 추가 정보에 대한 설명:

-는지 않는 확장 가능 단위입니다. 는배포일정을 지정하는 창입니다. -는배포는 의미를 대표하는 단일 그룹의 창을 성취하는 단 하나의 목적으로 함께합니다. -할 수 있는 많은배포함께 일하는 가상 네트워크의 클러스터입니다. -에 대한 액세스하는배포으로 구성될 수 있는 많은에서 실행되는 다른 노드를 만들 수 있는 서비스입니다. -배포하는 것을 포함하는 무국적자 서비스입니다. 필요하신 경우에는 저장 상태를 만들어야 합StatefulSet대신에(예를 들어 데이터베이스에 대한 서비스).

해설 (11)

사용할 수 있습니다 KubernetesAPI 참조에 대한배포그리고 당신이'll 는스펙->템플릿필드 형식의PodTemplateSpec과 함께 관련 댓글(템플릿을 설명하는 창이 생성됩니다.) 이 답변은 질문입니다. 더 이상 설명할 수 있습의 과정에서 발견 될배포에 사용자 가이드.

당신의 질문에 대답하...

1)의해 관리되는배포와 별도로 정의하지 않는't 는 의미로 그들이 만들어지 수요에 의하여 배포합니다. 는 마음에 계속 있을 수 있습상의 복제본을 같은 창이 유형입니다.

2)각각의 응용 프로그램 목록에서,당신은 당'd 을 정의해야 하나는배포-는 또한 의미가 올 때 차이에 복제 개수 및 애플리케이션 구축.

3)당신이븐't 물었는지's 관련-와 함께는 별도의배포각각의 애플리케이션에 필요한 전담서비스그래서 다른 사람에 액세스할 수 있습니다.

해설 (6)