첫째, 어떻게는 Kubernetes 클러스터에서 노드를 제거하는
등 다음과 같이 클러스터 접근 방식에서이 노드 노드 K8S-node03 제거로 :
1)先在마스터节点查看노드情况 [루트 @의 K8S-master01 ~] # kubectl GET는 노드 NAME 상태 역할 AGE 버전 K8S-node01 준비 <없음> 47D v1.14.2의 K8S-node02 준비 <없음> 47D v1.14.2 k8s- node03 준비 <없음> 47D v1.14.2 2)接着查看下포드情况 [루트 @의 K8S-master01 ~] #의 kubectl 포드 폭 -o 얻을 NAME READY 상태가 AGE IP NODE 선정 NODE 준비 게이츠가 다시 시작 dnsutils-DS-5sc4z 1/1 963 40D 172.30.56.3 K8S-node02 실행 <없음> <없음> dnsutils-DS-h546r 963 40D 172.30.72.5 K8S-node03을 실행 1/1 <없음> <없음> dnsutils-DS-jx5kx 1/1 963 40D 172.30.88.4 K8S-node01 <없음> <없음>을 실행하지 0 27D 172.30.72.11 K8S-node03 <없음> <없음> 실행 케빈 - nginx를 1/1 내-의 nginx-5dd67b97fb-을 0 40D 172.30.72.4 K8S-node03을 실행 69gvm 1/1 <없음> <없음> 내-의 nginx-5dd67b97fb-8j4k6 1/1 0 40D 172.30.88.3 K8S-node01 <없음> <없음> 실행 의 nginx-7db9fccd9b-dkdzf 1 0 27D 172.30.88.8 K8S-node01 실행 / 1 <없음> <없음> 0 27D 172.30.72.10 K8S-node03 실행 Nginx에-7db9fccd9b-t8njb 1/1 <없음> <없음> 0 27D 172.30.56.6 K8S-node02 실행 Nginx에-7db9fccd9b-vrp9f 1/1 <없음> <없음> 경고 : ReplicationController, ReplicaSet, 작업, DaemonSet 또는 StatefulSet에 의해 관리되지 포드 삭제 : 기본 / 케빈-의 nginx를; DaemonSet 관리 포드 무시 : 기본 / dnsutils-DS를-h546r, 기본 / nginx를-DS-6kfsw, KUBE 시스템 / 노드 - 수출 - zmb68 의 nginx-DS-41D 4lf8z 0 172.30.56.2 K8S-node02 실행 1/1 <없음> <없음> Nginx에-DS-41D 6kfsw 0 172.30.72.2 K8S-node03 실행 1/1 <없음> <없음> 의 nginx-DS-41D xqdgw 0 172.30.88.2 K8S-node01 <없음> <없음> 실행 1/1 3)를封锁K8S -node03这个노드节点,排干该노드节点上的포드资源 [루트 @의 K8S-master01 ~] #에 kubectl 드레인 K8S는-node03는 --delete 로컬 데이터는 --ignore-daemonsets의 --force 노드 / K8S-node03은 수장 퇴거 포드 "메트릭 - 서버 54997795d9-rczmc" 포드 퇴거 "케빈 - nginx를" 포드 "의 nginx-7db9fccd9b-t8njb을"퇴거 퇴거 포드 "coredns-5b969f4c88-pd5js" 포드 "는 Kubernetes - 대시 보드 7976c5cb9c-4jpzb을"퇴거 포드 퇴거 " 내-의 nginx-5dd67b97fb-69gvm " 포드 / 내-의 nginx-5dd67b97fb-69gvm 퇴거 퇴거 포드 / coredns-5b969f4c88-pd5js 포드 / Nginx에-7db9fccd9b-t8njb 퇴거 포드 /는 Kubernetes-계기판 7976c5cb9c-4jpzb 퇴거 포드 / 케빈 Nginx의 퇴거 포드 / 메트릭 - 서버 54997795d9-rczmc 퇴거 노드 / K8S-node03 퇴거 4)接着删除K8S-node03의这个节点 [루트 @의 K8S-master01 ~] 노드 K8S-node03 삭제 kubectl # 노드 "K8S-node03"삭제 5)보기 포드 케이스 및 K8S-node03에 포드가 유지 다른 노드 노드에 파견 된 것을 발견 온 [루트 @의 K8S-master01 ~] #의 kubectl는 포드가 넓은 -o 수 AGE IP 노드 선정 NODE 준비 게이츠가 다시 시작 READY 상태 NAME 963 40D 172.30.56.3 K8S-node02 <없음> <없음> 실행 dnsutils-DS-5sc4z 1/1 dnsutils-DS-jx5kx 1/1 실행 963 40D 172.30.88.4 k8s-을 node01 <없음> <없음> 내-의 nginx-5dd67b97fb-8j4k6 1/1 0 40D 172.30.88.3 K8S-node01 <없음> <없음> 실행 실행 내-의 nginx-5dd67b97fb-kx2pc 1/1 0 98S 172.30.56.7 k8s- node02 <없음> <없음> 0 98S 172.30.88.7 K8S-node01 실행 Nginx에-7db9fccd9b-7vbhq 1/1 <없음> <없음> 0 27D 172.30.88.8 K8S-node01 실행 Nginx에-7db9fccd9b-dkdzf 1/1 <없음> <없음> 0 27D 172.30.56.6 K8S-node02 실행 Nginx에-7db9fccd9b-vrp9f 1/1 <없음> <없음> 의 nginx-DS- 0 41D 172.30.56.2 K8S-node02 실행 4lf8z 1/1 <없음> <없음> 의 nginx-DS-41D xqdgw 0 172.30.88.2 K8S-node01 실행 1/1 <없음> <없음> [루트 @의 K8S-master01는 ~] #의 kubectl 노드를 얻을 수 NAME 상태 역할 AGE 버전 K8S-node01 준비 <없음> 47D v1.14.2의 K8S-node02 준비 <없음> 47D v1.14.2 2 6) 마지막 노드 K8S-node03에 정리 작업을 수행 [K8S-node03 루트 @ ~] #에 systemctl STOP-프록시 도커 kubelet KUBE KUBE KUBE-프록시 Nginx에 flanneld [루트 @의 K8S-node03 ~] # 소스 /opt/k8s/bin/environment.sh [루트 @ | K8S-node03 ~] # 마운트 그렙 "$ {K8S_DIR}"| AWK는 '{$ 3 인쇄}'| xargs를 sudo를 언 마운트 [루트 @의 K8S-node03 ~] # RF RM은 $ {K8S_DIR} / kubelet [루트 @의 K8S-node03 ~] # RF RM은 $ {DOCKER_DIR} [루트 @ k8s- node03 ~] # rm을 -rf / var에 / 실행 / 플란넬 / [루트 @의 K8S-node03 ~] # rm을 -rf / var에 / 실행 / 고정 표시기 / [루트 @의 K8S-node03 ~] #는 rm -rf을 / etc / systemd / 시스템 / {kubelet, 고정 표시기, flanneld, KUBE-의 nginx} .service [K8S-node03 @ 루트 ~] # RF RM은 / 옵션 / K8S / 빈 / * [루트 @의 K8S-node03 ~] #는 rm -rf / 등 / flanneld / CERT / 기타 /는 Kubernetes / 인증서 [루트 @의 K8S-node03 ~] # iptables에 -F && iptables에 - X &&의 iptables -F -t NAT &&의 iptables -X -t NAT [루트 @의 K8S-node03 ~] # 개의 IP 링크 델 flannel.1 [루트 @의 K8S-node03 ~] # 개의 IP 링크 델 docker0
둘째로, 노드가 노드의 클러스터는 Kubernetes에 첨가하는 방법
등의 클러스터에 연결하기 이전에 제거 K8S-node03의 K8S 노드로서 (다음 동작은 K8S-master01 노드에서 수행)
1) 노드에 스크립트 파일 /opt/k8s/bin/environment.sh의 K8S-node03 노드 노드 변수를 수정하고 배포했습니다. /opt/k8s/bin/environment.sh /opt/k8s/bin/environment.sh.bak1 CP 번호 [루트 master01 @ ~ K8S] [@ K8S 루트 master01 ~] # 빔 / 옵션 / K8S / 빈 / 환경 .sh로 ........ # 클러스터 클러스터 배열 노드의 모든 IP 노드 수출 NODE_NODE_IPS = (172.16.60.246) 클러스터 배열 노드 호스트에 대응하는 #의 IP 노드 수출 NODE_NODE_NAMES = (K8S-node03) [루트 @의 K8S ~ -master01] # 데프 /opt/k8s/bin/environment.sh /opt/k8s/bin/environment.sh.bak1 17c17 <수출 NODE_NODE_IPS = (172.16.60.246) --- > 내보내기 NODE_NODE_IPS = (172.16.60.244 172.16 172.16.60.246 .60.245) 19c19 <수출 NODE_NODE_NAMES = (K8S-node03) --- > 수출 NODE_NODE_NAMES = (K8S-node01의 K8S-node02 K8S-node03) 2) 이전에 K8S-master01 노드 생산 인증서 파일에 새로 추가 된 노드 노드에 분산 [루트 @의 K8S-master01 일] $에서 node_node_ip에 대한 # NODE_NODE_IPS {[@]} 할 메아리 ">>> node_node_ip의 $ {}" 루트 node_node_ip SSH} {@ $ "에서 mkdir -p / 기타 /는 Kubernetes은 / CERT" 루트 node_node_ip config.json SCP의 .PEM CA-CA의 *를 @에 $ { } / 등 /는 Kubernetes / CERT 작성 하였다 . 3) 선박 네트워크 플란넬 [@ K8S 루트 master01 작업] # 개의 CD / 옵션 / K8S / 작업 [@ K8S 루트 master01 작업] # 소스 /opt/k8s/bin/environment.sh [@ K8S 루트 master01 작업] $에서 node_node_ip에 대한 # {NODE_NODE_IPS [@]} 할 메아리 ">>> node_node_ip의 $ {}" SCP 플란넬 / {flanneld, 루트 mk-docker-opts.sh}} @ $ {node_node_ip :/ 옵션 / K8S / 빈 / ssh를 루트 @에 $ {node_node_ip} "chmod를 + X / 옵션 / K8S / 빈 / *" 완료 $에서 node_node_ip에 대한 [루트 @의 K8S-master01 일] # {NODE_NODE_IPS는 [@]} 않는다 "에코 >>> $ {node_node_ip} " ssh를 뿌리 @의 $ {node_node_ip}"에서 mkdir -p / 등 / flanneld / CERT는 " scp를 flanneld * .PEM 루트 @에 $ {node_node_ip} :을 / etc / flanneld / 인증서 수행 에 node_node_ip에 대한 [루트 @의 K8S-master01 일] # $ {NODE_NODE_IPS [@]} 않는 메아리 ">>> $ {node_node_ip}" SCP flanneld.service 루트 @에 $ {node_node_ip} :을 / etc / systemd / 시스템 / 일 [루트 @의 K8S-master01 일] $에서 node_node_ip에 대한 # {NODE_NODE_IPS [@]} 않는다 ">>> $ {node_node_ip을}"에코 ssh를 루트 @에 $ {node_node_ip} "systemctl 데몬 리로드가 && && flanneld 수 있도록 systemctl이 systemctl 다시 시작이 flanneld" 완료 $에서 node_node_ip에 대한 [루트 @의 K8S-master01 일] #을 {NODE_NODE_IPS는 [@]} 않는다 "에코 >>> $ {node_node_ip } " ssh를 뿌리 @의 $ {node_node_ip}"systemctl 상태 flanneld | 활성 그렙 " 수행 4)部署노드节点运行组件 ->安装依赖包 [루트 @의 K8S-master01 ~] # 소스 /opt/k8s/bin/environment.sh [루트 @의 K8S-master01 ~] $에서 node_node_ip에 대한 #을 {NODE_NODE_IPS [@]} 않는다 ">>> $ {node_node_ip}"에코 ssh를 루트 @에 $ {node_node_ip} "냠 설치 -y의 EPEL-출시" ssh를 루트 @에 $ {node_node_ip} "냠 -y 작성한 conntrack가 ipvsadm NTP ntpdate를 ipset JQ의 iptables 컬 SYSSTAT libseccomp &&으로 modprobe ip_vs 설치" 완료 ->部署고정 표시기组件 [루트 @의 K8S-master01 일] #에서 cd / 옵션 / K8S / 일 [루트 @ K8S-master01 일] # 소스 /opt/k8s/bin/environment.sh $에서 node_node_ip에 대한 [루트 @의 K8S-master01 일] # {NODE_NODE_IPS [@]} 않는 메아리 ">>> $ {node_node_ip}" SCP 고정 표시기 / * 루트 @에 $ {node_node_ip} / 옵션 / K8S / 빈 / SSH 루트 @에 $ {node_node_ip} "chmod를 + X / 옵션 / K8S / 빈 / *" 완료 [루트 @의 K8S-master01 일] $에서 node_node_ip에 대한 # {NODE_NODE_IPS [@]} 않는 반향 ">>> node_node_ip $ {}" SCP 고정 표시기.서비스 루트 @에 $ {node_node_ip} :을 / etc / systemd / 시스템 / 완료 [루트 @의 K8S-master01 일] $에서 node_node_ip {NODE_NODE_IPS [@]}에 대한 # 않는다 ">>> $ {node_node_ip}"에코 "에서 mkdir -p / 등 / 고정 표시기 / $을 ssh를 루트 @에 $ {node_node_ip을} {DOCKER_DIR } / {데이터, 간부} " SCP 고정 표시기 - daemon.json 루트 @에 $ {node_node_ip} :을 / etc / 고정 표시기 / daemon.json 일 [루트 @의 K8S-master01 일] $에서 node_node_ip에 대한 # {NODE_NODE_IPS [@]} 할 에코 ">>> $ {node_node_ip}" ssh를 뿌리 @의 $ {node_node_ip} "systemctl 데몬 리로드가 && && systemctl 다시 시작 고정 표시기를 고정 표시기를 사용 systemctl가" 완료 $에 node_node_ip에 대한 #을 [루트 @의 K8S-master01 작업] {NODE_NODE_IPS [@] } 이렇게 "} >>> $ {node_node_ip를"에코 ssh를 루트 @에 $ {node_node_ip} "systemctl 상태 고정 표시기 | GREP 활동이" 완료 $에 node_node_ip에 대한 #을 [루트 @의 K8S-master01 작업] {NODE_NODE_IPS [@]} 할 메아리 ">>> $ {node_node_ip}" ssh를 뿌리 @의 $ {node_node_ip} "는 / usr / sbin에 / IP 요지 쇼 flannel.1 &&는 / usr / sbin에 / IP ADDR docker0 보여" 수행을 ->部署kubelet组件 [루트 @의 K8S-master01 ~] # cd를 / 옵션 / K8S / 일 [루트 @ K8S-master01 일] # 소스 /opt/k8s/bin/environment.sh $ {NODE_NODE_IPS [@]}에서 node_node_ip에 대한 [루트 @의 K8S-master01 일] # 않는 메아리 ">>> $ {node_node_ip}" SCP는 Kubernetes / 서버 / 빈 / kubelet 루트 @에 $ {node_node_ip} / 옵션 / K8S / 빈 / SSH 루트 @에 $ {node_node_ip} "chmod를 + X / 옵션 / K8S / 빈 / * " 완료 -> 토큰 생성 (! 당신이 만료 작성하기 전에, 토큰이 24 시간에 대해서만 유효, 즉 하루 만 유효) [루트 #에서 cd / 옵션 / K8S / 일 K8S-master01 일이 @] # 소스 / 옵션 [K8S-master01 작업 @ 루트] /k8s/bin/environment.sh $에서 node_node_name에 대한 [루트 @의 K8S-master01 작업] # {NODE_NODE_NAMES는 [@]} 않는다 "$ {node_node_name >>>}"에코 # 토큰 생성 수출 BOOTSTRAP_TOKEN은 = $ ((가) 토큰 생성 kubeadm \ 부트 스트랩 토큰 --- 설명 \에 kubelet bootstrappers : --groups 시스템 node_node_name} {$ \ --kubeconfig ~ / .kube / 설정) # 집합 클러스터 매개 변수 kubectl 설정 클러스터는 Kubernetes 설정 \ --certificate-기관 = / 등 /kubernetes/cert/ca.pem \ --embed에 충실-인증서 표시 = \ --server KUBE_APISERVER = $ {} \ = kubelet-에 부트 스트랩 --kubeconfig - $ {} .kubeconfig node_node_name # 설정 클라이언트 인증 매개 변수를 설정-SET-자격 증명 부트 스트랩에 kubelet kubectl \ --token BOOTSTRAP_TOKEN = $ {} \ --kubeconfig = kubelet-에 부트 스트랩 - $ {} node_node_name .kubeconfig # 세트 컨텍스트 매개 변수 kubectl 상황 설정의 기본 설정을 \ --cluster =는 Kubernetes \ --user = kubelet-에 부트 스트랩 \ --kubeconfig = kubelet-에 부트 스트랩 - $ {} node_node_name .kubeconfig # 기본 환경 설정 kubectl의 설정을 사용 컨텍스트를 --kubeconfig = kubelet-에 부트 스트랩 기본 - $ {} .kubeconfig node_node_name DONE 보기 kubeadm 새로운 노드 각 토큰에 대해 생성됩니다 : [@ K8S 루트 master01 작업] # 토큰 kubeadm 목록 --kubeconfig ~ / .kube / 설정 TOKEN TTL은 사용법에 대한 설명 EXTRA 그룹 EXPIRES 47 : 47 + 08 : 00 인증, kubelet - 부트 스트랩 토큰 시스템 서명 : bootstrappers을 : K8S-node03 sdwq5g.llzr9ytm32h1mnh1 23H 2019-08-06T11 [루트 @의 K8S-master01 일] # kubectl GET 비밀 KUBE-시스템을 -n | 그렙 부트 스트랩 토큰 부트 스트랩 - 토큰 sdwq5g의 bootstrap.kubernetes.io/token 7 77s [루트 @의 K8S-master01 일] #에서 cd / 옵션 / K8S / 일 [루트 @의 K8S-master01 일] # 소스 /opt/k8s/bin/environment.sh [루트 @의 K8S-master01 일] $에서 node_node_name에 대한 # {NODE_NODE_NAMES [@]} 할 ">>> $ {node_node_name을}"에코 SCP kubelet - 부트 스트랩 - $ {node_node_name} .kubeconfig 루트 @에 $ {node_node_name} :을 / etc /는 Kubernetes / kubelet-bootstrap.kubeconfig 수행 ->分发부트 스트랩 kubeconfig文件到新增노드节点 [루트 @의 K8S-master01 일] # cd를 / 옵션 / K8S / 일 [루트 @의 K8S-master01 일] # 소스 /opt/k8s/bin/environment.sh [루트 @의 K8S-master01 일] $에서 node_node_name에 대한 # {NODE_NODE_NAMES [@]} 할 "에코 >> > $ {node_node_name} " SCP kubelet - 부트 스트랩 - $ {node_node_name} .kubeconfig 루트 @에 $ {node_node_name} :을 / etc /는 Kubernetes / kubelet-bootstrap.kubeconfig 수행 ->分发kubelet参数配置文件 [루트 @의 K8S-master01 작업] # cd를 / 옵션 / K8S / 일 [루트 @의 K8S-master01 일] # 소스 /opt/k8s/bin/environment.sh {NODE_NODE_IPS는 [@]} $의 node_node_ip에 대한 [루트 @의 K8S-master01 일] # 않는다 ">>> $ {node_node_ip}"에코 "/의 / ## NODE_NODE_IP ## / $ {node_node_ip}"나오지도 -e kubelet- config.yaml.template> kubelet - 설정 - $ {node_node_ip} .yaml.template SCP kubelet - 설정 - $ {node_node_ip} .yaml.template 루트 @에 $ {node_node_ip} :을 / etc /는 Kubernetes / kubelet-config.yaml은 수행 - >分发kubelet systemd 단위文件 [루트 @의 K8S-master01 일] #에서 cd / 옵션 / K8S / 일 [루트 @의 K8S-master01 일] # 소스 /opt/k8s/bin/environment.sh [루트 @의 K8S-master01 작업] $에서 node_node_name에 대한 # {NODE_NODE_NAMES [@]} 않는다 ">>> $ {node_node_name을}"에코 SED -e "S / ## NODE_NODE_NAME ## / $ {node_node_name} /"kubelet.service.template> kubelet - $ {node_node_name} .service SCP kubelet - $ {node_node_name} .service 루트 @에 $ {node_node_name} : / 등 /systemd/system/kubelet.service이 완료 ->启动kubelet服务 [루트 @의 K8S-master01 일] # 소스 /opt/k8s/bin/environment.sh $에서 node_node_ip {NODE_NODE_IPS [대한 [루트 @의 K8S-master01 일] # @]} 않는 메아리 ">>> $ {node_node_ip}" ssh를 뿌리 @의 $ {node_node_ip} "에서 mkdir -p $ {K8S_DIR} / kubelet / kubelet - 플러그인 / 볼륨 / 간부 /" ssh를 뿌리 @의 $ {node_node_ip} "/ USR 경우 / sbin / 후 swapoff -a " ssh를 뿌리 @의 $ {node_node_ip}"systemctl 데몬 다시로드 && systemctl이 kubelet && systemctl를 다시 시작 kubelet 가능 " DONE -> 배포 KUBE-프록시 구성 요소 [루트 @의 K8S-master01 ~] # cd를 / 옵션 / K8S / 일 [루트 @의 K8S-master01 일] # 소스 /opt/k8s/bin/environment.sh [루트 @의 K8S-master01 일] $에서 node_node_ip에 대한 #을 { NODE_NODE_IPS [@]} 않는 메아리 ">>> $ {node_node_ip}" SCP는 Kubernetes / 서버 / 빈 / KUBE-프록시 루트 @에 $ {node_node_ip} / 옵션 / K8S / 빈 / SSH 루트 @에 $ {node_node_ip} "는 chmod + X / 옵션 / K8S / 빈 / * " 완료 $에서 node_node_name에 대한 [루트 @의 K8S-master01 일] # {NODE_NODE_NAMES [@]} 않는 메아리">>> $ {node_node_name} " SCP KUBE-proxy.kubeconfig 루트 @에 $ {node_node_name} :을 / etc /는 Kubernetes / 일 [루트 @의 K8S-master01 일] $에서 node_node_name에 대한 # {NODE_NODE_NAMES [@]} 할 "에코 >>>$ {node_node_name} " scp를 KUBE-proxy.service 루트 @에 $ {node_node_name} :을 / etc / systemd / 시스템 / 일 [루트 @의 K8S-master01 일] $에서 node_node_ip에 대한 # {NODE_NODE_IPS [@]} 않는 >>> "에코 $ {node_node_ip} " ssh를 뿌리 @의 $ {node_node_ip}"에서 mkdir -p $ {K8S_DIR은} / KUBE-프록시 " ssh를 뿌리 @의 $ {node_node_ip}"으로 modprobe ip_vs_rr " ssh를 뿌리 @의 $ {node_node_ip}는"systemctl 데몬 리로드는 && KUBE-프록시 수 systemctl &&가 KUBE-프록시 다시 시작 systemctl " 완료 $에 node_node_ip에 대한 [루트 @의 K8S-master01 일] #을 {NODE_NODE_IPS [@]} 않는 메아리">>> $ {node_node_ip} " ssh를 뿌리 @의 $ {node_node_ip}"systemctl 상태 kube- 프록시 | 그렙 활성 " DONE -> 수동으로 CSR 인증서 서버를 승인 [루트 @ K8S-master01 작업] # kubectl GET CSR NAME 나이 요청자 조건 CSR-5fwlh 3:34 시스템 : 부트 스트랩 : 승인 sdwq5g, 발행 CSR-t547p 3m21s 시스템 : 노드 : K8S-node03 보류 #의 kubectl [K8S-master01 작업 @ 루트] 승인] 인증서는 CSR-t547p 승인 certificatesigningrequest.certificates.k8s.io/csr-t547p [루트 @의 K8S-master01 작업] # kubectl CSR GET NAME 나이 요청자 조건 CSR-5fwlh 3m53s 시스템 : 부트 스트랩 : sdwq5g 승인, 발행 CSR-t547p 3m40s 시스템 : 노드 : K8S-node03 발행, 승인 ->보기 클러스터 상태 및 K8S-node03 노드가 클러스터에 다시 추가되었으며, 자원 포드 할당 된 발견했다. [루트 @의 K8S-master01 일] #의 kubectl 노드를 얻을 수 NAME 상태 역할 AGE 버전 K8S-node01 준비 <없음> 47D v1.14.2의 K8S-node02 준비 <없음> 47D v1.14.2의 K8S-node03 준비 <없음> 1 초 v1.14.2 [루트 @의 K8S-master01 일] # 개의 kubectl는 포드를 얻을 수 -o 넓은 NAME READY 상태가 다시 시작 AGE IP 노드 선정 NODE 준비 게이트 dnsutils-DS-5sc4z 965 40D 172.30.56.3 K8S-node02 <없음> <없음> 실행 1/1 일 94m 172.30을 실행 dnsutils-DS-gc8sb 1/1. 72.2 K8S-node03 <없음> <없음> dnsutils-DS-966 jx5kx 40D 172.30.88.4 K8S-node01 실행 1/1 <없음> <없음> 내-의 nginx-5dd67b97fb-8j4k6 1/1 0 40D 172.30.88.3 K8S-node01 <없음> <없음> 실행 0 174m 172.30.56.7 K8S-node02 실행 내-의 nginx-5dd67b97fb-kx2pc 1/1 <없음> <없음>을 0 174m 172.30.88.7 K8S-node01 실행 Nginx에-7db9fccd9b-7vbhq 1/1 <없음> <없음> 0 27D 172.30.88.8 K8S-node01 실행 Nginx에-7db9fccd9b-dkdzf 1/1 <없음> <없음> 의 nginx-7db9fccd9b- 0 27D 172.30.56.6 K8S-node02 실행 vrp9f 1/1 <없음> <없음> 의 nginx-DS-41D 4lf8z 0 172.30.56.2 K8S-node02 실행 1/1 <없음> <없음> 1 /-DS-jn759 Nginx의 0은 94m-node03 K8S 172.30.72.3 <없음> <없음> 실행 Nginx에 xqdgw 1/1 주행 DS-0 amdha01 K8S 41D 172.30.88.2 <없음> <없음> [루트를 K8S하지 @ 작동 -master01] 인기 kubectl 노드 # 1 NAME는 CPU (코어) 메모리 %는 CPU (바이트) 메모리 %의 K8S amdha01 96M-55 % 2 % 2123Mi K8S의 amdha02에 133M-46 1772Mi %. 3 %이다 K8S-46 남성. 1 % 4859Mi 61된다 node03 % == ================================================== ================================================== ====== 참고 A를 다음과 같이 K8S 위의 클러스터에 새 노드를 추가하는 경우, 관행은 다음과 같습니다 : 등 / 좋은 바인딩 호스트,은, 등등 방화벽을 끄고 1)에 로그인 할 수없는 신뢰 관계 암호를 ssh를하지 할뿐만 아니라, K8S-master01 새 노드를 좋은 직장 환경 초기화 준비 노드 노드를 않습니다. 2) /opt/k8s/bin/environment.sh 스크립트 변수 및 NODE_NODE_IPS 새로운 노드로 노드 변수 대응 정보 NODE_NODE_NAMES K8S-node03 추가 단계가 다시 수행 모든 노드의 수에 따라 첨가 이상) 3 ================================================== ================================================== ======== 두 참고 K8S 클러스터에 따라 상기 이진 방식을 사용. : K8S kubeadmin 클러스터 도구를 만들 경우, 다음과 같이 클러스터 노드의 동작이 추가됩니다 재 활성화 : 노드가 클러스터 명령 형식 (노드 노드 작업, 사용자 루트) 조인 #은 가입 --token <토큰> <마스터 IP를 kubeadm을 > : <마스터 포트> 운세 -token-CA-CERT-해시 SHA256 : <해시> 잊어 버린 토큰 마스터 노드를 보려면 다음 명령을 사용할 수있는 경우 (마스터 노드에서 작동) : #의 kubeadm 토큰 목록의 기본 토큰이 24 시간 동안 유효하며, 토큰이 만료 된 경우 다음 명령 (마스터 노드의 동작) 재생성하는데 사용될 수 있으며, 토큰 kubeadm 만들기 # 운세 토큰 캘리포니아 CERT-hash-- 경우 - : 값을 찾을 수 없습니다, 당신은 (마스터 노드에서 작동)를 생성하기 위해 다음 명령을 사용할 수 있습니다 에는 OpenSSL RSA | # OpenSSL을 X509 -pubkey -IN /etc/kubernetes/pki/ca.crt -pubin -outform DER 2> / 디바이스 / 널 | OpenSSL을 dgst -sha256 -hex | 나오지의 /^.* // ' 노드를 추가 한 후, 노드 (단계 마스터 노드)을 첨가보기 위해 잠시 기다려