나는 응용 프로그램을 배포하는 클러스터에 의해 관리해 배포를 통해 k8s 배포체입니다. 이 문서는 저에게 매우 혼란이다. 나의 기본 레이아웃에는 다음과 같은 구성요소가 있는 규모 독립적으로:
기술적으로,모든 4 위에 속하는 별도의 포드는 독립적으로 확장.
나의 질문은:
모드를 선택합니다.yml
파일을 그리고 어떻게든 그들을 참조에서 배포합니다.yml
파일이나 수 있는 배치 파일도 포함 pod 정?스펙
부분의배포
해당 정의하나의니다. 는 것입니다. 무엇하고 싶은 경우에는 선언적으로 설명하 멀티-창 배포? 게 할 필요 여러 배포합니다.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
대신에(예를 들어 데이터베이스에 대한 서비스).
사용할 수 있습니다 KubernetesAPI 참조에 대한배포그리고 당신이'll 는스펙
->템플릿
필드 형식의PodTemplateSpec
과 함께 관련 댓글(템플릿을 설명하는 창이 생성됩니다.) 이 답변은 질문입니다. 더 이상 설명할 수 있습의 과정에서 발견 될배포에 사용자 가이드.
당신의 질문에 대답하...
1)창
의해 관리되는배포
와 별도로 정의하지 않는't 는 의미로 그들이 만들어지 수요에 의하여 배포합니다. 는 마음에 계속 있을 수 있습상의 복제본을 같은 창이 유형입니다.
2)각각의 응용 프로그램 목록에서,당신은 당'd 을 정의해야 하나는배포
-는 또한 의미가 올 때 차이에 복제 개수 및 애플리케이션 구축.
3)당신이븐't 물었는지's 관련-와 함께는 별도의배포
각각의 애플리케이션에 필요한 전담서비스
그래서 다른 사람에 액세스할 수 있습니다.