간략한 소개
이 문서는 포드에 지정된 노드의 노드에 할당하는 방법에 초점을 맞추고
참고 :이 문서는 공식 문서를 참조하여 이해되어야합니다. 오해의 소지가있는 경우, 비판을하시기 바랍니다.
노드에 태그 추가
(1)는, 현재의 중앙 집중화, 모든 노드 레이블을 볼 수
# kubectl get nodes --show-labels
출력 :
NAME STATUS ROLES AGE VERSION LABELS
k8s-master01 Ready master 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master01,kubernetes.io/os=linux,node-role.kubernetes.io/master=
k8s-master02 Ready master 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master02,kubernetes.io/os=linux,node-role.kubernetes.io/master=
k8s-master03 Ready master 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master03,kubernetes.io/os=linux,node-role.kubernetes.io/master=
k8s-node01 Ready <none> 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node01,kubernetes.io/os=linux
k8s-node02 Ready <none> 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node02,kubernetes.io/os=linux
k8s-node03 Ready <none> 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node03,kubernetes.io/os=linux
k8s-node04 Ready <none> 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node04,kubernetes.io/os=linux
노드 노드를 선택합니다, 표시labels
# kubectl label nodes k8s-node04 disktype=ssd
3,보기 노드의 레이블
# kubectl get nodes k8s-node04 --show-labels
다음과 같이 출력은 다음과 같습니다
NAME STATUS ROLES AGE VERSION LABELS
k8s-node04 Ready <none> 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,disktype=ssd,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node04,kubernetes.io/os=linux
출력 결과에서 보면, k8s-node04
노드는 labels
표시 disktype=ssd
라벨
지정된 노드 포드에 일정 만들기
이 문서는 노드 선택 (디스크 형 SSD)를 갖는 포드 포드 구성을 설명한다. 이 수단은있을 것이다 disktype = ssd
스케줄링 포드 노드 레이블을. 파일 :pod-nginx.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
env: test
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
nodeSelector:
disktype: ssd
포드 만들기
# kubectl apply -f /root/k8s-example/pods/pod-nginx.yaml
보기 포드의 자세한 사항
# kubectl get pods -o wide
포드에 예약 지정되어 출력 결과로부터,k8s-node04
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx 1/1 Running 0 107s 100.88.217.86 k8s-node04 <none> <none>
지정된 노드 포드에 일정 만들기
또한 사용할 수있는 nodeName
노드 노드를 지정하는 일정을 선택할 수 있습니다.
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
nodeName: k8s-node1
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
개요
지정된 노드에 1 개의 포드 스케줄링 방법 :
- 노드에 의해 표시된 라벨
nodeSelect
스케줄링에 지정된 함유lables
노드 - 으로
nodeName
지정된 노드의 이름입니다.