<p>kubeadm рд░рд┐рд╕реЗрдЯ рд╕рдХреНрд╕реЗрд╕ рд▓реЗрдХрд┐рди рдпрд╣ рдиреЛрдб ip рдЕрднреА рднреА kubeadm-config configmap рдореЗрдВ рд╣реИ</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рджрд┐рд╕ре░ 2018  ┬╖  32рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: kubernetes/kubeadm

рдХреНрдпрд╛ рдпрд╣ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ

рд╕рдВрд╕реНрдХрд░рдгреЛрдВ

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"}
  • рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди :
  • OS (рдЙрджрд╛ / etc / os-release):
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

help wanted kinbug prioritimportant-soon

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

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

рд╕рднреА 32 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cc @fabriziopandini

рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░рд╕реНрдЯреИрдЯрд╕ рдХреЛ "рддрд╛рдЬрд╝рд╛" рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдЕрд╡реНрдпрд╡рд╕реНрдерд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдмрд┐рдирд╛ рдФрд░ kubeadm reset рдЪрд▓рд╛рдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рдХреЗ рдмрд┐рдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдиреЛрдбреНрд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░рд╕реНрдЯреИрдЯрд╕ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдл рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╣рдореЗрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ kubeadm join --control-plane ... рдЪрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рд╕рдВрднрд╡рддрдГ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдпрд╣рд╛рдБ:

kubeadm-config configMap рдЗрд╕ рдиреЛрдб рдЖрдИрдкреА рдХреЛ рд╣рдЯрд╛ рджреЗрдВред

@ рдкреЙрдЗрдЯрд┐рдорд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рдиреЛрдб

рдореЗрд░рд╛ рдЕрднреА рднреА рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИ, рдХреНрдпреВрдмреАрдбрдо рд░реАрд╕реЗрдЯ рдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рд╕реАрдзреЗ рдЗрд╕ рдиреЛрдб рдХреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣рдЯрд╛рдпрд╛? рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, kubectl рд╣рдЯрд╛рдПрдБ рдиреЛрдб рдЪрд▓рд╛рдПрдБрдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗред

@ рд▓рдХреНрд╕рд╛ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд╕рдВрджрд░реНрдн рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛
рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдиреЛрдб рдХреЗ рдкрд╛рд╕ рдЦреБрдж рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рдерд╛ (рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдбреНрд╕ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдирд┐рдпрдВрддреНрд░рдг-рдкреНрд▓реЗрди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ ...)

рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ ClusterStatus рдХреЛ "рд░реАрдлрд╝реНрд░реЗрд╢" рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ / ClusterStatus рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдл рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛

@danbeaulieu рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ kubeadm рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рд┐рдВрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЖрджреЗрд╢ рд╣реЛрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рд░рдВрддрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдпрдВрддреНрд░рдг рд▓реВрдк рдХреЗ рдмрд┐рдирд╛ рдХреБрдмреЗрджрдо рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрд╢рд╛ рд╕рд┐рдВрдХ рд╕реЗ рдмрд╛рд╣рд░ рдХреНрд▓рд╕реНрдЯрд░рд╕реНрдЯреИрдЯрд╕ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрдЧреАред
рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдпрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдЖрдИрдкреА рд╣реЛрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ (рд╕рдлрд╛рдИ рдХреА рдХрдореА) рдЕрдм рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрджрд┐ рдХреЛрдИ рдиреЛрдб рдореМрдЬреВрдж рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдиреЛрдб IP ClusterStatus (рдЧрд▓рдд рдкреНрд░рд╛рд░рдВрдн) рд╕реЗ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИ, рддреЛ рдпрд╣ рдЕрджреНрдпрддрди рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдПрдБ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрд░реЛрдХреНрдд рдзрд╛рд░рдгрд╛ рдЖрдкрдХреЗ рдЕрд░рд╛рдЬрдХрддрд╛ рдкрд░реАрдХреНрд╖рдг рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддреА рд╣реИ? рдХрд┐рд╕реА рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

@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 рд╕реЗ рдПрдкреАрдЖрдИ 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 рд╕реЗ рдПрдкреАрдЖрдИ endpoint kubeadm-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 рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ

рдХреГрдкрдпрд╛ рд░реАрд╕реЗрдЯ рд╕реБрдзрд╛рд░ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

  • https://github.com/kubernetes/kubeadm/issues/1312 ClusterStatus ( @Klaven https://github.com/kubernetes/kubernetes/pub/72886) рд╕реЗ рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди рдиреЛрдбреНрд╕ рдирд┐рдХрд╛рд▓реЗрдВ
  • https:// g рд▓рд┐рде

@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 рдЙрддреНрддрд░ рдкрд░ рд▓реЗрдХрд┐рди рдЕрджреНрдпрддрди рдХрд┐рдП рдЧрдП рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде):

  • рдиреЛрдб рдХреЛ рд╣рдЯрд╛рдПрдВ kubeadm-config configmap рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
>: 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 рд░реАрд╕реЗрдЯ рдиреЛрдб рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдиреЛрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд╣реАрдВ рд╣рдЯрд╛рддрд╛ рд╣реИ:

  • рд░реАрд╕реЗрдЯ рдмрд╕ рдиреЛрдб рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдиреЛрдб рдирд╛рдо рдЖрд░рдХреНрд╖рд┐рдд рд░рд╣рддрд╛ рд╣реИред
  • рдиреЛрдб рдХреЗ рдкрд╛рд╕ рдпрд╣ рдиреЛрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИред рдпрд╣ "admin.conf" (рдЬреИрд╕реЗ рдкреНрд░рд╢рд╛рд╕рдХ) рдХреЗ рдорд╛рд▓рд┐рдХ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИред

kubeadm reset рдПрдХ рдмреЗрд╣рддрд░реАрди рдкреНрд░рдпрд╛рд╕ рдХрдорд╛рдВрдб рд╣реИ

рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ: рдЬрдм kubeadm reset рдЬреЛ рднреА рдХрд╛рд░рдг рд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ (рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рд░реНрд╡рд░ рдХреА рдПрдХ рдХрдард┐рди рд╡рд┐рдлрд▓рддрд╛ рд╕рд╣рд┐рдд, рддрд╛рдХрд┐ рдХреБрдмреЗрджрдо рд░реАрд╕реЗрдЯ рдХреЛ рдХрднреА рднреА рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рди рдХрд┐рдпрд╛ рдЬрд╛рдП) рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдкрд╛рджрди рдХреЗ рд╕рд╛рде рд░рд╛рдЬреНрдп рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдореЗрдЯрдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ kubeadm-config configmap рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдиреЛрдб рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ?

рдпрджрд┐ рдиреЛрдб рдХрдард┐рди рд╣реИ рдФрд░ рдЖрдк рдЙрд╕ рдкрд░ kubeadm рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рдЪрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдкрдХреЛ рдирд┐рдореНрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
1) kubeadm-config CM ClusterStatus рд╕реЗ рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди IP рдирд┐рдХрд╛рд▓реЗрдВ
2) etcdctl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ etc рд╕рджрд╕реНрдп рдХреЛ рд╣рдЯрд╛ рджреЗрдВ
3) kubectl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЛрдб рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ (рдпрджрд┐ рдЖрдк рдЕрдм рдФрд░ рдиреЛрдб рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)

1 рдФрд░ 2 рдХреЗрд╡рд▓ рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди рдиреЛрдбреНрд╕ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЗрд╕ рд╡рд┐рдлрд▓-рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдпрджрд┐ рдХреБрдмреЗрджрдо рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

1.9 рдкрд░ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВред рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

bruceauyeung picture bruceauyeung  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cnmade picture cnmade  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jessfraz picture jessfraz  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

atoato88 picture atoato88  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

helphi picture helphi  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ