рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ
kubeadm рд╕рдВрд╕реНрдХрд░рдг ( kubeadm version
):
[root@k8s-211 ~]# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T21:02:01Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
рдкрд░реНрдпрд╛рд╡рд░рдг :
kubectl version
):[root@k8s-211 ~]# kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T21:04:45Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T20:56:12Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
uname -a
):Linux k8s-lixin-211 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
рдореИрдВ рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдиреЛрдб рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП kubeadm reset -f
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдХрдорд╛рдВрдб рд░рди рд╕рдлрд▓рддрд╛ред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ kubeadm-config
рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рджреЗрдЦрддрд╛ рд╣реВрдВ, рддреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рдореЗрдВ рдпрд╣ рдиреЛрдб рдЖрдИрдкреА рд╣реИред
рдореЗрд░рд╛ рдЕрднреА рднреА рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИ, рдХреНрдпреЛрдВ kubeadm reset
рдЗрд╕ рдиреЛрдб рдХреЛ рд╕реАрдзреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдирд╣реАрдВ рд╣рдЯрд╛рддреЗ рд╣реИрдВ? рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, kubectl delete node <node name>
рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдПрдВред
kubeadm-config
рд╡рд┐рдиреНрдпрд╛рд╕ рдЗрд╕ рдиреЛрдб рдЖрдИрдкреА рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
kubeadm init --config=kubeadm.yml
редkubeadm join --experimental-control-plane --config=kubeadm.yml
редkubeadm reset -f
редkubectl -n kube-system get cm kubeadm-config -oyaml
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреНрд▓рд╕реНрдЯрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рджреВрд╕рд░рд╛ рдиреЛрдб рдЖрдИрдкреА рдкрд╛рддреЗ рд╣реИрдВредkubeadm-config configMap yaml:
apiVersion: v1
data:
ClusterConfiguration: |
apiServer:
extraArgs:
authorization-mode: Node,RBAC
timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta1
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controlPlaneEndpoint: 192.168.46.117:6443
controllerManager: {}
dns:
type: CoreDNS
etcd:
local:
dataDir: /var/lib/etcd
extraArgs:
cipher-suites: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
serverCertSANs:
- 192.168.46.117
imageRepository: k8s.gcr.io
kind: ClusterConfiguration
kubernetesVersion: v1.13.0
networking:
dnsDomain: cluster.local
podSubnet: 10.244.0.0/16
serviceSubnet: 10.96.0.0/12
scheduler: {}
ClusterStatus: |
apiEndpoints:
k8s-211:
advertiseAddress: 192.168.46.211
bindPort: 6443
k8s-212:
advertiseAddress: 192.168.46.212
bindPort: 6443
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterStatus
kind: ConfigMap
metadata:
creationTimestamp: "2018-12-04T14:17:38Z"
name: kubeadm-config
namespace: kube-system
resourceVersion: "103402"
selfLink: /api/v1/namespaces/kube-system/configmaps/kubeadm-config
uid: 5a9320c1-f7cf-11e8-868d-0050568863b3
cc @fabriziopandini
рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░рд╕реНрдЯреИрдЯрд╕ рдХреЛ "рддрд╛рдЬрд╝рд╛" рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдЕрд╡реНрдпрд╡рд╕реНрдерд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдмрд┐рдирд╛ рдФрд░ kubeadm reset
рдЪрд▓рд╛рдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рдХреЗ рдмрд┐рдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдиреЛрдбреНрд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░рд╕реНрдЯреИрдЯрд╕ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдл рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╣рдореЗрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ kubeadm join --control-plane ...
рдЪрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рд╕рдВрднрд╡рддрдГ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдпрд╣рд╛рдБ:
kubeadm-config configMap рдЗрд╕ рдиреЛрдб рдЖрдИрдкреА рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
@ рдкреЙрдЗрдЯрд┐рдорд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рдиреЛрдб
рдореЗрд░рд╛ рдЕрднреА рднреА рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИ, рдХреНрдпреВрдмреАрдбрдо рд░реАрд╕реЗрдЯ рдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рд╕реАрдзреЗ рдЗрд╕ рдиреЛрдб рдХреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣рдЯрд╛рдпрд╛? рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, kubectl рд╣рдЯрд╛рдПрдБ рдиреЛрдб рдЪрд▓рд╛рдПрдБ
рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗред
@ рд▓рдХреНрд╕рд╛ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд╕рдВрджрд░реНрдн рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛
рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдиреЛрдб рдХреЗ рдкрд╛рд╕ рдЦреБрдж рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рдерд╛ (рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдбреНрд╕ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдирд┐рдпрдВрддреНрд░рдг-рдкреНрд▓реЗрди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ ...)
рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ ClusterStatus рдХреЛ "рд░реАрдлрд╝реНрд░реЗрд╢" рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ / ClusterStatus рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдл рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛
@danbeaulieu рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ kubeadm рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рд┐рдВрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЖрджреЗрд╢ рд╣реЛрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рд░рдВрддрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпрдВрддреНрд░рдг рд▓реВрдк рдХреЗ рдмрд┐рдирд╛ рдХреБрдмреЗрджрдо рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрд╢рд╛ рд╕рд┐рдВрдХ рд╕реЗ рдмрд╛рд╣рд░ рдХреНрд▓рд╕реНрдЯрд░рд╕реНрдЯреИрдЯрд╕ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрдЧреАред
рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдпрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдЖрдИрдкреА рд╣реЛрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ (рд╕рдлрд╛рдИ рдХреА рдХрдореА) рдЕрдм рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрджрд┐ рдХреЛрдИ рдиреЛрдб рдореМрдЬреВрдж рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдиреЛрдб IP ClusterStatus (рдЧрд▓рдд рдкреНрд░рд╛рд░рдВрдн) рд╕реЗ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИ, рддреЛ рдпрд╣ рдЕрджреНрдпрддрди рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдПрдБ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрд░реЛрдХреНрдд рдзрд╛рд░рдгрд╛ рдЖрдкрдХреЗ рдЕрд░рд╛рдЬрдХрддрд╛ рдкрд░реАрдХреНрд╖рдг рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддреА рд╣реИ? рдХрд┐рд╕реА рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
@fabriziopandini рдореИрдВ рдПрдХ рд╣реА рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди рдиреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓
рдореЗрд░реЗ рдХрджрдо
рджреВрд╕рд░рд╛ рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди рдиреЛрдб рдЖрдИрдкреА 192.168.46.212
ред
kubectl delete node k8s-212
kubeadm reset -f
редkubeadm join --experimental-control-plane --config kubeadm.yaml -v 5
рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдБредkubeadm рд▓реЙрдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ:
...
[etcd] Checking Etcd cluster health
I1207 17:57:18.109993 8541 local.go:66] creating etcd client that connects to etcd pods
I1207 17:57:18.110000 8541 etcd.go:134] checking etcd manifest
I1207 17:57:18.119797 8541 etcd.go:181] etcd endpoints read from pods: https://192.168.46.211:2379,https://192.168.46.212:2379
I1207 17:57:18.131111 8541 etcd.go:221] etcd endpoints read from etcd: https://192.168.46.211:2379
etcd cluster is not healthy: context deadline exceeded
рдореИрдВ kubeadm рдХреЛрдб рджреЗрдЦрддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╢рд╛рдпрдж 192.168.46.212 рдХреЗ рдХрд╛рд░рдг kubeadm-config
configMap рдореЗрдВ рд╢реЗрд╖ рд╣реИред
рдирд┐рдпрдВрддреНрд░рдг-рдкреНрд▓реЗрди рдиреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдкрд░ Kubeadm рдХреЛ kubeadm-config
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдПрдкреАрдЖрдИ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдФрд░ etcd рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдПрдкреАрдЖрдИ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд╕рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди 912.168.46.212
рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди рдиреЛрдб рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрднреА рддрдХ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЪреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреЛ рдЧрд▓рдд рдХрд░реЗрдВред
рдЬрдм рдореИрдВ рд╣рдЯрд╛рдиреЗ 192.168.46.212
рд╕реЗ рдПрдкреАрдЖрдИ endpoint kubeadm-config
ConfigMap, рдФрд░ рдЗрд╕ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдиреЛрдб рдлрд┐рд░ рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ, рдпрд╣ рд╕рдлрд▓рддрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛред
@pytimer рдзрдиреНрдпрд╡рд╛рдж!
рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рддрд░реНрдХ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ etcd рд╕реВрдЪреА рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рде etcd рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕реВрдЪреА рдХреЛ рд╕рд┐рдВрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ
рд╣рд╛рдБ рдпрд╣ рдПрдХ рдмрдЧ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 3 рдиреЛрдб рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди ASG рд╣реИред рдпрджрд┐ рд╣рдо рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдПрдПрд╕рдЬреА рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдирдпрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди рд╕рдорд╛рдкреНрдд рдиреЛрдб рдХреЛ etcd рдХреА рд╕рджрд╕реНрдп рд╕реВрдЪреА рдореЗрдВ рдЕрд╕реНрд╡рд╛рд╕реНрдереНрдпрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬрдм рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рд╕рд╛рдордиреЗ рдЖрддрд╛ рд╣реИ, рддреЛ kubeadm join...
рдЪрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЕрдирд╣реЗрд▓реНрджреА рдореЗрдВрдмрд░ рдХреЛ etcd рд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдЬрдм рддрдХ рд╣рдо kubeadm join...
рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддрдм рддрдХ etcd рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ 2 рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рд╕реНрд╡рд╕реНрде рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдмреЗрджрдо рдХреНрд▓реЗрд╕реНрдЯрд░рд╕реНрдЯреИрдЯрд╕ рдХреЛ рд╕рдЪреНрдЪрд╛рдИ рдХреЗ рдЕрдкрдиреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрднреА рднреА рдкреБрд░рд╛рдиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИред
Etcd рд╕рджрд╕реНрдпрддрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╕рд╣реА рд╣реИ, рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╕рдЪреНрдЪрд╛рдИ рдХреЗ рд╕рд╛рде kubeadm-config configMap рдЕрджреНрдпрддрди рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ kubeadm join...
рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ kubeadm join...
рд╕рддреНрдп рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ etcd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ рдФрд░ рддрджрдиреБрд╕рд╛рд░ kubeadm-config рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдЕрджреНрдпрддрди рдХрд░реЗрдЧрд╛ред
@fabianofranz рдореИрдВ рд╢рд╛рдпрдж рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдкрд╛рдпрд╛ред
рдЬрдм рд╡рд╛рд╕реНрддрд╡рд┐рдХ etcd рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде etc рдЕрдВрдд рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕рд┐рдВрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рд┐рдВрдХ рд╕рдлрд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рд╣рдХ рдХреЛ Endpoints
рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ etcd рдПрдВрдбрдкреЙрдЗрдВрдЯ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ, рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдЪрд░ рд╕реВрдЪрдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЕрдиреНрдп рдХреЛрдб рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдЕрднреА рднреА рдкреБрд░рд╛рдиреЗ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реИрдВ, рди рдХрд┐ рд╕рд┐рдВрдХ рдХреЗ рдмрд╛рдж рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБред
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдлреЛрд░реНрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛, рдЖрдк рдЗрд╕ PR https://github.com/pytimer/kubernetes/commit/0cdf6cad87a317be5326f868bafe4fa480800033 рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ join the same control-plane node
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╛рдорд▓реЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╣ рд╕рдлрд▓рддрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред
@ рдкрд╛рдпрдореЗрдЯрд┐рдорд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ! рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджреЗрдЦрд╛ рдЧрдпрд╛!
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдПрдХ рдкреАрдЖрд░ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ? IMO рдпрд╣ рдЪреЗрд░реА рдкрд┐рдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкрд╛рддреНрд░ рд╣реЛрдЧрд╛ред
@ neolit123 @timothysc ^^^
@fabianofranz рдкрд╣рд▓рд╛ рдкреАрдЖрд░ рдЧрд▓рдд рд╣реИ, рдореИрдВ рд╕реАрдПрд▓рдП рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВред
рдпрд╣ PR https://github.com/kubernetes/kubernetes/pull/71945 рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдХреБрдЫ рднреА рдЧрд▓рдд рд╣реЛ, рддреЛ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВрдЧреЗред
@fabriziopandini рдореИрдВ рдПрдХ рд╣реА рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди рдиреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓
рдореЗрд░реЗ рдХрджрдо
рджреВрд╕рд░рд╛ рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди рдиреЛрдб рдЖрдИрдкреА
192.168.46.212
ред
- 192.168.46.212 рдиреЛрдб рдЖрджрд┐ рдХреЛ рд╕рджрд╕реНрдп рд╕рдореВрд╣ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВред
kubectl delete node k8s-212
- рдЗрд╕ рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди рдиреЛрдб рдкрд░
kubeadm reset -f
редkubeadm join --experimental-control-plane --config kubeadm.yaml -v 5
рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдБредkubeadm рд▓реЙрдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ:
... [etcd] Checking Etcd cluster health I1207 17:57:18.109993 8541 local.go:66] creating etcd client that connects to etcd pods I1207 17:57:18.110000 8541 etcd.go:134] checking etcd manifest I1207 17:57:18.119797 8541 etcd.go:181] etcd endpoints read from pods: https://192.168.46.211:2379,https://192.168.46.212:2379 I1207 17:57:18.131111 8541 etcd.go:221] etcd endpoints read from etcd: https://192.168.46.211:2379 etcd cluster is not healthy: context deadline exceeded
рдореИрдВ kubeadm рдХреЛрдб рджреЗрдЦрддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╢рд╛рдпрдж 192.168.46.212 рдХреЗ рдХрд╛рд░рдг
kubeadm-config
configMap рдореЗрдВ рд╢реЗрд╖ рд╣реИредрдирд┐рдпрдВрддреНрд░рдг-рдкреНрд▓реЗрди рдиреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдкрд░ Kubeadm рдХреЛ
kubeadm-config
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдПрдкреАрдЖрдИ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдФрд░ etcd рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдПрдкреАрдЖрдИ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд╕рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди912.168.46.212
рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди рдиреЛрдб рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрднреА рддрдХ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЪреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреЛ рдЧрд▓рдд рдХрд░реЗрдВредрдЬрдм рдореИрдВ рд╣рдЯрд╛рдиреЗ
192.168.46.212
рд╕реЗ рдПрдкреАрдЖрдИ endpointkubeadm-config
ConfigMap, рдФрд░ рдЗрд╕ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдиреЛрдб рдлрд┐рд░ рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ, рдпрд╣ рд╕рдлрд▓рддрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛред
Kubeadm рд╕рдВрд╕реНрдХрд░рдг 1.13.2 рдореЗрдВ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА, рдореИрдВрдиреЗ рдиреЛрдб рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдФрд░ kubeadm-config рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдмрд╛рдХреА etcd рдиреЛрдбреНрд╕ рдЕрднреА рднреА рд╣рдЯрд╛рдП рдЧрдП рдиреЛрдб рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ
рдЬрдм рдореИрдВ
kubeadm-config
configMap рд╕реЗ192.168.46.212
api рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдг-рдкреНрд▓реЗрди рдиреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рд╕рдлрд▓рддрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
@pytimer рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ
рдореИрдВ 1.13.3 рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ; рдкреБрд░рд╛рдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛:
1. kubectl -n kube-system get cm kubeadm-config -o yaml > /tmp/conf.yml
2. manually edit /tmp/conf.yml to remove the old server
3. kubectl -n kube-system apply -f /tmp/conf.yml
рдореИрдВ рдЕрднреА рднреА рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ:
[etcd] Checking etcd cluster health
etcd cluster is not healthy: context deadline exceeded
рдлрд┐рд░ рдореИрдВрдиреЗ рдПрдкреА рдкреЙрдбреНрд╕ рдФрд░ рдХреЙрд░реНрдб рдкреЙрдбреНрд╕ (рдкреНрд░рддреНрдпреЗрдХ рдХреЗ 2) рдХреЛ рдорд╛рд░ рджрд┐рдпрд╛ рд╣реИред
рд╡реЗ рдлрд┐рд░ рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рдиреЛрдб рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рд╡рд╣реА рддреНрд░реБрдЯрд┐ рд╣реИред
1.13.3 (HA рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗрдЯрдЕрдк: 3 рдорд╛рд╕реНрдЯрд░ рдиреЛрдб + 3 рдХрд╛рд░реНрдпрдХрд░реНрддрд╛) рдореЗрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ред рдЕрдЧрд▓реЗ рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж рд╣реА рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдиреЛрдб рд╣рдЯрд╛рдПрдВ
kubectl delete node master03
рдбрд╛рдЙрдирд▓реЛрдб etcdctl (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рд╕реНрдЯрд░ 01 рдкрд░)
mkdir /opt/tools && cd /opt/tools
wget https://github.com/etcd-io/etcd/releases/download/v3.3.12/etcd-v3.3.12-linux-arm64.tar.gz
tar xfz etcd-v3.3.12-linux-arm64.tar.gz
рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдХреЛ etcd рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ
cd /opt/tools/etcd-v3.3.12-linux-arm64
./etcdctl --endpoints https://192.168.0.11:2379 --ca-file /etc/kubernetes/pki/etcd/ca.crt --cert-file /etc/kubernetes/pki/etcd/server.crt --key-file /etc/kubernetes/pki/etcd/server.key member list
./etcdctl --endpoints https://192.168.0.11:2379 --ca-file /etc/kubernetes/pki/etcd/ca.crt --cert-file /etc/kubernetes/pki/etcd/server.crt --key-file /etc/kubernetes/pki/etcd/server.key member remove 28a9dabfcfbca673
Kubeadm-config рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ
kubectl -n kube-system get cm kubeadm-config -o yaml > /tmp/conf.yml
manually edit /tmp/conf.yml to remove the old server
kubectl -n kube-system apply -f /tmp/conf.yml
@zhangyelong рдЕрдм kubeadm рд░реАрд╕реЗрдЯ, etcd рд╕рджрд╕реНрдп рдХреЛ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ etc рдХреНрд▓рд╕реНрдЯрд░ рдЕрднреА рднреА рд╣рдЯрд╛рдП рдЧрдП etc рдиреЛрдб рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЕрдм рдЖрдкрдХреЛ etcdctl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ etcd рд╕рджрд╕реНрдп рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬрдм рд░реАрд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдкреАрдЖрд░рдЖрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рднреЗрдЬрддрд╛ рд╣реВрдВ, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред https://github.com/kubernetes/kubernetes/pull/74112
@lvangool рдЖрдк @Halytskyi рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред PR: https://github.com/kubernetes/kubernetes/pull/71945 рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдиреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдкрд░ рд╕рд┐рдВрдХ etcd рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ, etc рд╕рджрд╕реНрдп рдХреЛ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИред
рд░реАрд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп etcd рд╕рджрд╕реНрдп рдХреЛ etcd рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ, рдЖрдк # 74112 kubernetes / kubernetes рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдЕрднреА рднреА 1.13.4 рдореЗрдВ рдПрдХ рдмрдЧ рд▓рдЧрддрд╛ рд╣реИред
рд╣рдореЗрдВ рдЕрднреА рднреА рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ kubeadm config map ala https://github.com/kubernetes/kubeadm/issues/1300#issuecomment -463374200 рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рдирд╣реАрдВ рд╣реИ
kubernetes / kubernetes # 71945 рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рддреНрдп рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЖрджрд┐ рдХреНрд▓рд╕реНрдЯрд░ рд╕рджрд╕реНрдпрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рдкреАрдЖрд░ рдиреЗ рдХреНрдпрд╛ рддрдп рдХрд┐рдпрд╛?
рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдпрд╣ рдЫрд┐рдЯрдкреБрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреНрд▓рд╕реНрдЯрд░рд╕реНрдЯреИрдЯрд╕ рдЬреИрд╕реЗ рдирдХреНрд╢реЗ рдкрд░ рдЧреЛрд▓рдВрдЧ рд░реЗрдВрдЬ рдореЗрдВ, рдЧреИрд░-рдирд┐рдпрддрд╛рддреНрдордХ рд╣реИ ред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдкрд╣рд▓рд╛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдпрд╣ рдкрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╕реЗ рд╣реИ рдЬреЛ рдЕрдм рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдЪреАрдЬреЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдпрджрд┐ рдпрд╣ рдПрдХ рд╕реНрд╡рд╕реНрде рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд┐рдВрдХ рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░рд╕реНрдЯреИрдЯрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдЧрд╛ ...
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг etcd clientv3 рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ рдЬрд╣рд╛рдВ рдмрдЧ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рджреВрд╕рд░реЗ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рдкреБрдирдГрдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдпрджрд┐ рдкрд╣рд▓реЗ рд╡рд╛рд▓рд╛ https://github.com/etcd-io/etcd/issues/9949 рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ
рдХреГрдкрдпрд╛ рд░реАрд╕реЗрдЯ рд╕реБрдзрд╛рд░ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
@fabriziopandini рдпрд╣рд╛рдБ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рд╣реИ рдЬреЛ kubeadm reset
рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
рдпрджрд┐ рдПрдХ рдиреЛрдб kubeadm рд░реАрд╕реЗрдЯ (рдЙрджрд╛рд╣рд░рдг рд╕рдорд╛рдкреНрддрд┐, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рдлрд▓рддрд╛ рдЖрджрд┐) рдХрд╛ рдореМрдХрд╛ рджрд┐рдП рдмрд┐рдирд╛ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ
рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ ClusterStatus.apiEndpoint рдЕрднреА рднреА рдПрдХ рдиреЛрдб рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдм рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП kubeadm join
рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореИрдк рдХреЛ рдкрдврд╝рдиреЗ, рд╕рдВрдкрд╛рджрди рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХреБрдмреЗрджрдо рдореЗрдВ рд╕рдВрднрд╡рддрдГ 2 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
1) рдбрд╛рдпрд▓ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рд╕реНрд╡рдпрдВ рд╣реА etcd рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ
2) рдЧреЛ-рдЬреАрдкреАрд╕реА рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП etcd рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдПрдХ рдиреЛрдб kubeadm рд░реАрд╕реЗрдЯ (рдЙрджрд╛рд╣рд░рдг рд╕рдорд╛рдкреНрддрд┐, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рдлрд▓рддрд╛ рдЖрджрд┐) рдХрд╛ рдореМрдХрд╛ рджрд┐рдП рдмрд┐рдирд╛ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ
рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ ClusterStatus.apiEndpoint рдЕрднреА рднреА рдПрдХ рдиреЛрдб рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдм рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдПkubeadm join
рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореИрдк рдХреЛ рдкрдврд╝рдиреЗ, рд╕рдВрдкрд╛рджрди рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдпрд╣ рд╕рдЪ рд╣реИ, рдмрд┐рдирд╛ рдХреЙрд▓ рд░реАрд╕реЗрдЯ рдХреЗ рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ ClusterStatus рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдЖрджреЗрд╢ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реЛред рдпрджрд┐ рдЖрдкрдХреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдмреЗрджрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдЕрд▓рдЧ рдЯрд┐рдХрдЯ рджрд░реНрдЬ рдХрд░реЗрдВред
рдмрд╕ рдЖрдЬ рез.резрек.рез рдкрд░ рдЗрд╕рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛
рдореЗрд░реЗ рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдЪрд▓ рд░рд╣рд╛ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛, рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рдЗрдирд╛рдпрдд рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рдЬрдм рдПрдХ рдирдП рдиреЛрдб рдиреЗ рдЗрд╕рдореЗрдВ рдЖрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рддреЛ рдЗрд╕ рдЯрд┐рдХрдЯ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред
рдореБрдЭреЗ etcdctl рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ etc рд╕рджрд╕реНрдп рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛ рдерд╛, рдлрд┐рд░ рдореИрдВ рдПрдХ рдирдП рдиреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рдерд╛ред рдореИрдВрдиреЗ рд╕реНрд╡рдпрдВ рднреА kubeadm-config configMap рд╕реЗ рдиреЛрдб рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред
@Halytskyi рдзрдиреНрдпрд╡рд╛рдж рдореЗрд░реЗ рд▓рд┐рдП рдорджрдж рдЖрджрд┐ рдЕрдиреБрднрд╛рдЧ рдореИрдВ .....
1.15.5 рдореЗрдВ рдЖрдЬ рдЗрд╕рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд▓реЗрдХрд┐рди 1.16 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рдеред рдлрд┐рд░ рдЗрд╕ рдиреЛрдб рдХреЛ kubectl delete node
15.5.5 рдкрд░ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдкреБрдирдГ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ (рд╡рд╣реА рдЖрдИрдкреА, рд╕рдорд╛рди рд╣реЛрд╕реНрдЯрдирд╛рдо, рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг) рдФрд░ рдЖрджрд┐ рдХреЛ рдЕрд╕реНрд╡рд╕реНрде рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред
рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ ( @Halytskyi рдЙрддреНрддрд░ рдкрд░ рд▓реЗрдХрд┐рди рдЕрджреНрдпрддрди рдХрд┐рдП рдЧрдП рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде):
>: kubectl edit configmap kubeadm-config -n kube-system
configmap/kubeadm-config edited
kubeadm рд░реАрд╕реЗрдЯ -f рдкреНрд░реЙрдмреНрд▓рдо рдиреЛрдб рдФрд░& iptables -t -f -X рдЗрддреНрдпрд╛рджрд┐ рдореЗрдВред
рд╣рдЯрд╛рдирд╛ рдЖрджрд┐ рд╕рджрд╕реНрдп (рдпрд╣ рдХреБрдВрдЬреА рд╣реИ):
root@k8s-nebula-m-115-2:wget https://github.com/etcd-io/etcd/releases/download/v3.4.3/etcd-v3.4.3-linux-amd64.tar.gz
root@k8s-nebula-m-115-2:tar xfz etcd-v3.4.3-linux-amd64.tar.gz
`` `рдЦреЛрд▓
root @ k8s-nebula-m-115-2 : ~ / etcdctl / etcd-v3.4.3-linux-amd64 # ./etcdctl --endpoints https://127.0.0.1 : 2379-acacert / etc / kubernetes / pki /etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key/etc/kubernetes/pki/etcd/server.key рд╕рджрд╕реНрдп рд╕реВрдЪреА
289ed62da3c6e9e5, рд╢реБрд░реВ, k8s-nebula-m-115-1, https ://10.205.30.2: 2380, https ://10.205.30.2: 2379, false
917e16b9e790c427, рд╢реБрд░реВ, k8s-nebula-m-115-0, https ://10.205.30.1: 2380, https ://10.205.30.1: 2379, false
ad6b76d968b18085, рд╢реБрд░реВ, k8s-nebula-m-115-2, https ://10.205.30.0: 2380, https ://10.205.30.0: 2379, false
```shell
root@k8s-nebula-m-115-2:~/etcdctl/etcd-v3.4.3-linux-amd64# ./etcdctl --endpoints https://127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key member remove 289ed62da3c6e9e5
Member 289ed62da3c6e9e5 removed from cluster d4913a539ea2384e
рдФрд░ рдлрд┐рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рддрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ kubeadm reset
рдмрд╛рдзрд┐рдд рд╣реЛ рдФрд░ рдиреЛрдб рдХреЛ kubeadm CM рд╕реЗ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХреЗред
рдРрд╕реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ kubeadm CM рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рддреЛ рдЕрдЧрд░ рдореИрдВ kubectl delete node foobar
рд╕рд╛рде рдиреЛрдб рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ
рдЖрджрд┐ рд╕рджрд╕реНрдп рд╕реЗ рдЗрд╕реЗ рд╣рдЯрд╛рдПрдВ? рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдиреЛрдб рдореЗрдВ kubeadm reset
рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ
рд╣рдЯрд╛рдирд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд░рддрд╛ рд╣реИ? ЁЯЩД
рдмреБрдз рдкрд░, 30 рдЕрдХреНрдЯреВрдмрд░ 2019, 13:27 рд▓реБрдмреЛрдорд┐рд░ рдЖрдИред рдЗрд╡рд╛рдиреЛрд╡, рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:
рдпрд╣ рддрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм kubeadm рд░реАрд╕реЗрдЯ рдмрд╛рдзрд┐рдд рд╣реЛ рдФрд░ рд╣рдЯрд╛ рди рд╕рдХреЗ
рдХреБрдмреЗрджрдо рдореБрдЦреНрдпрдордВрддреНрд░реА рд╕реЗ рдиреЛрдбред
рдРрд╕реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ kubeadm CM рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AF7BZL4EOZV7GQYNQOM3773QRF4SXANCNFSM4GIIZTPA
ред
"kubeadm reset" рдХреЛ рдЗрд╕реЗ kubeadm CM рд╕реЗ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди "kubectl delete рдиреЛрдб" рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬреЛ Node API рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ de configmap рд╕реЗ рдиреЛрдб рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд╣реБрдЖ
рдЖрджрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдореИрдВ etcdctl delete member
рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдереБ рдкрд░, 31 рдЕрдХреНрдЯреВрдмрд░ 2019 рдХреЛ 16:28 рдкрд░, рд▓реБрдмреЛрдорд┐рд░ рдЖрдИред рдЗрд╡рд╛рдиреЛрд╡ рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:
"kubeadm рд░реАрд╕реЗрдЯ" рдХреЛ kubeadm CM рд╕реЗ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди "kubectl" рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
"рдиреЛрдб рд╣рдЯрд╛рдПрдВ" рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬреЛ рдиреЛрдб рдПрдкреАрдЖрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/kubernetes/kubeadm/issues/1300?email_source=notifications&email_token=AF7BZLZVF7FFVA3LWINJZWQQQ2TLA5CNFSM4GIIZZKYH3H3H6H3H3H3H3H3H3H3H3&hl=hi&hl=hi&hl=hi&hl=hi&hl=hi&hl=hi&hl=hi&hl=hi&hl=hi&hl=hi&bh=hbhbh3h рдЗрд╕ рд╢реЛ
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AF7BZL2KB3GVLTFKQTJTYXLQRL2TLANCNFSM4GIIZTPA
ред
kubeadm reset рдХреЛ etcd рд╕рджрд╕реНрдп рдХреЛ etcd рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕реЗ рдЬреИрд╕реЗ --v = 5 рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ kubeadm рд░реАрд╕реЗрдЯ рдПрдХ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдкреНрд░рдпрд╛рд╕ рдХрдорд╛рдВрдб рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдпрд╣ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП kubectl delete node
рдЗрд╕реЗ etcd рд╕реЗ рдирд╣реАрдВ рд╣рдЯрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдиреЛрдб kubeadm reset
рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдореЗрд░реЗ рд▓рд┐рдП рдЯреВрдЯ рдЧрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ kubectl delete node
рдХреЛ рдлреЙрд░реНрдо рдЖрджрд┐ рдХреЛ рднреА рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛ рдореИрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ?
рд╢рд╛рдпрдж рдкреВрдЫ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рднреА рд╡рд╣рд╛рдВ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?
рд╡реИрд╕реЗ рднреА рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @ neolit123 , рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рдПрдХ рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛, рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЦреБрдж рдХреЛ рдХреЙрд░реНрдб рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рдереАред
рдЗрд╕рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпрд╛рдВ рд╣реИрдВред
kubectl рдиреЛрдб рд╣рдЯрд╛рдПрдВ, рдиреЛрдб API рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ - рдЖрдкрдХреЛ рдРрд╕рд╛ рддрдм рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдВ рдХрд┐ рдЖрдк рдЕрдм рдиреЛрдб рдиреЛрдб рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ,
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЙрд╕ рдиреЛрдб рдкрд░ kubeadm рд░реАрд╕реЗрдЯ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВ рдпрд╣ рдбрд┐рд╕реНрдХ рдкрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрджрд┐ рд╕рджрд╕реНрдп рдХреЛ рднреА рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ (рдпрджрд┐ рдпрд╣ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг-рд╡рд┐рдорд╛рди рдиреЛрдб рд╣реИ рдФрд░ рдпрджрд┐ рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдкреНрд░рддрд┐ рдирд┐рдпрдВрддреНрд░рдг-рд╡рд┐рдорд╛рди рдиреЛрдб рдкреНрд░рддрд┐ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ)
kubeadm рд░реАрд╕реЗрдЯ рдиреЛрдб рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдиреЛрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд╣реАрдВ рд╣рдЯрд╛рддрд╛ рд╣реИ:
kubeadm reset рдПрдХ рдмреЗрд╣рддрд░реАрди рдкреНрд░рдпрд╛рд╕ рдХрдорд╛рдВрдб рд╣реИ
рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ: рдЬрдм kubeadm reset
рдЬреЛ рднреА рдХрд╛рд░рдг рд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ (рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рд░реНрд╡рд░ рдХреА рдПрдХ рдХрдард┐рди рд╡рд┐рдлрд▓рддрд╛ рд╕рд╣рд┐рдд, рддрд╛рдХрд┐ рдХреБрдмреЗрджрдо рд░реАрд╕реЗрдЯ рдХреЛ рдХрднреА рднреА рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рди рдХрд┐рдпрд╛ рдЬрд╛рдП) рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдкрд╛рджрди рдХреЗ рд╕рд╛рде рд░рд╛рдЬреНрдп рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдореЗрдЯрдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ kubeadm-config configmap рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдиреЛрдб рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ?
рдпрджрд┐ рдиреЛрдб рдХрдард┐рди рд╣реИ рдФрд░ рдЖрдк рдЙрд╕ рдкрд░ kubeadm рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рдЪрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдкрдХреЛ рдирд┐рдореНрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
1) kubeadm-config CM ClusterStatus рд╕реЗ рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди IP рдирд┐рдХрд╛рд▓реЗрдВ
2) etcdctl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ etc рд╕рджрд╕реНрдп рдХреЛ рд╣рдЯрд╛ рджреЗрдВ
3) kubectl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЛрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ (рдпрджрд┐ рдЖрдк рдЕрдм рдФрд░ рдиреЛрдб рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)
1 рдФрд░ 2 рдХреЗрд╡рд▓ рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди рдиреЛрдбреНрд╕ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдЗрд╕ рд╡рд┐рдлрд▓-рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдпрджрд┐ рдХреБрдмреЗрджрдо рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
1.9 рдкрд░ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВред рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
1.13.3 (HA рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗрдЯрдЕрдк: 3 рдорд╛рд╕реНрдЯрд░ рдиреЛрдб + 3 рдХрд╛рд░реНрдпрдХрд░реНрддрд╛) рдореЗрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ред рдЕрдЧрд▓реЗ рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж рд╣реА рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдиреЛрдб рд╣рдЯрд╛рдПрдВ
рдбрд╛рдЙрдирд▓реЛрдб etcdctl (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рд╕реНрдЯрд░ 01 рдкрд░)
рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдХреЛ etcd рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ
Kubeadm-config рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ