Kubeadm: рдорд╛рд╕реНрдЯрд░ рдЖрдИрдкреА рдкрддрд╛ рдмрджрд▓рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдЬреБрд▓ре░ 2017  ┬╖  29рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: kubernetes/kubeadm

рдореИрдВ рдПрдХ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдиреЛрдб рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдирд┐рдЬреА рдЖрдИрдкреА рдкрддреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдмреЗрджрдо-рдЖрдзрд╛рд░рд┐рдд рд╕реЗрдЯрдЕрдк рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдХреБрдмреЗрджрдо рдХреЗ рд╕рд╛рде рдПрдХрджрдо рдирдпрд╛ рдорд╛рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╢реАрди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ рдорд╢реАрди рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдЬреА рдЖрдИрдкреА рдкрддрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдм рдХреБрдмреЗрдХреНрдЯрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ Unable to connect to the server: x509: certificate is valid for 10.96.0.1, 10.4.36.13, not 10.4.20.67
(рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдорд╛рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рдХрд╛ рдирдпрд╛ рдЖрдИрдкреА рдкрддрд╛ рд╣реИред)

рдХреНрдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП kubeadm init рдЪрд▓рд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВ рдХреНрд▓рд╕реНрдЯрд░ рдкреЙрдбреНрд╕, рдЖрд░рд╕реА рдЖрджрд┐ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдмрдЬрд╛рдп рд╣реЛрд╕реНрдЯрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЬрдм рдореИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдмрдЬрд╛рдп рд╣реЛрд╕реНрдЯрдирд╛рдо рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ init рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдореБрдЭрд╕реЗ рдЕрд╕рд╣рдордд рд╣реИ:

[06:20 root<strong i="12">@scumbag01</strong> ~] > kubeadm init --apiserver-advertise-address scumbag01 --skip-preflight-checks
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
[init] Using Kubernetes version: v1.7.0
[init] Using Authorization modes: [Node RBAC]
[preflight] Skipping pre-flight checks
[certificates] Using the existing CA certificate and key.
[certificates] Using the existing API Server certificate and key.
[certificates] Using the existing API Server kubelet client certificate and key.
[certificates] Using the existing service account token signing key.
[certificates] Using the existing front-proxy CA certificate and key.
[certificates] Using the existing front-proxy client certificate and key.
[certificates] Valid certificates and keys now exist in "/etc/kubernetes/pki"
a kubeconfig file "/etc/kubernetes/admin.conf" exists already but has got the wrong API Server URL

рдпрд╣ 10.4.36.13 рдХреЗ рд▓рд┐рдП рдЕрдм рдЕрдиреБрдкрдпреЛрдЧреА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЙрдард╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореЗрд░реЗ рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдмрд╛рд╣рд░ рдПрдХ рдЖрдИрдкреА рдкрддрд╛ рд╣реИред

рдЕрдЧрд░ рдореИрдВ /etc/kubernetes/*.conf рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ, рдФрд░ рдЙрдкрд░реЛрдХреНрдд init рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рд╣реЛрд╕реНрдЯрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп server: https://10.4.20.67:6443 рд▓рд┐рдЦрддрд╛ рд╣реИред

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

  • kubeadm рд╕рдВрд╕реНрдХрд░рдг : &version.Info{рдореЗрдЬрд░:"1", рдорд╛рдЗрдирд░: "7", GitVersion: "v1.7.0", GitCommit: "d3ada0119e776222f11ec7945e6d86061339aad", GitTreeState: "рдХреНрд▓реАрди", рдмрд┐рд▓реНрдбрдбреЗрдЯ: "2017-06-29T22:55: 19Z", GoVersion: "go1.8.3", рдХрдВрдкрд╛рдЗрд▓рд░: "gc", рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: "linux/amd64"}
  • рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг : 1.7.0
  • рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди : рд╕реНрдХреЗрд▓рд╡реЗ, рдЗрдВрдЯреЗрд▓ рдПрдЯреАрдУрдПрдо x64
  • OS (рдЬреИрд╕реЗ /etc/os-release рд╕реЗ): рдбреЗрдмрд┐рдпрди рдЬреЗрд╕реА
  • рдЧрд┐рд░реА : 4.9.20

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

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдкреБрд░рд╛рдирд╛ рдореБрджреНрджрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдХрд┐рд╕реА рдХреЗ рдХрд╛рдо рдЖрдПрдЧреАред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ @patricklucas рдФрд░ @weisjohn рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдмрдирд╛рдпрд╛ рд╣реИ:

systemctl stop kubelet docker

cd /etc/

# backup old kubernetes data
mv kubernetes kubernetes-backup
mv /var/lib/kubelet /var/lib/kubelet-backup

# restore certificates
mkdir -p kubernetes
cp -r kubernetes-backup/pki kubernetes
rm kubernetes/pki/{apiserver.*,etcd/peer.*}

systemctl start docker

# reinit master with data in etcd
# add --kubernetes-version, --pod-network-cidr and --token options if needed
kubeadm init --ignore-preflight-errors=DirAvailable--var-lib-etcd

# update kubectl config
cp kubernetes/admin.conf ~/.kube/config

# wait for some time and delete old node
sleep 120
kubectl get nodes --sort-by=.metadata.creationTimestamp
kubectl delete node $(kubectl get nodes -o jsonpath='{.items[?(@.status.conditions[0].status=="Unknown")].metadata.name}')

# check running pods
kubectl get pods --all-namespaces

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

рдпрд╣ рдХреБрдмреЗрджрдо рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╕реБрд░рдХреНрд╖рд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИред
рдкреНрд░рдорд╛рдгрдкрддреНрд░ {your-old-IP-here} рдХреЗ рд▓рд┐рдП рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╣реИ рдФрд░ рддрдм {your-new-ip-here} рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрдЪрд╛рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдк рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдЕрдзрд┐рдХ рдЖрдИрдкреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐...

рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдЪреВрдВрдХрд┐ рдЖрдИрдкреА рдкрддреЗ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдирд╛ рддрднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрдм рдореИрдВ рдЗрд╕реЗ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХреВрдВред (рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдкрддрд╛ред)

рдореИрдВрдиреЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдХрд┐ kubeadm reset рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╕рдВрджрд░реНрдн рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд░реАрд╕реЗрдЯ рдФрд░ рдЗрдирд┐рдЯ рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдорд╛рд╕реНрдЯрд░ рдорд╢реАрди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ рдмрдЪреВрдВрдЧрд╛ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рджреБрд░реНрд▓рдн рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рдЙрддреНрдкрд╛рджрди рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рд╕реЗ рджреВрд░ рд╣реИред рдлрд┐рд░ рднреА, рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреЛрдИ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ kubeadm reset рдЪрд░рдгреЛрдВ рдХреА рдирдХрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗрдЯрдЕрдк рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП etcd рдбреЗрдЯрд╛ рдлрд╝реЛрд▓реНрдбрд░ рд░рдЦреЗрдВ?

рдХрд┐рд╕реА рднреА рддрд░рд╣, рдХреБрдмреЗрджрдо рдкрд░ рдХрд┐рдП рдЧрдП рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдорд┐рдирдЯреЛрдВ рдореЗрдВ рдЖрддреЗ рджреЗрдЦрдирд╛ рдЬрд╛рджреБрдИ рд╣реИ - рдореИрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ 0.14 рд╕реЗ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, 1.0 рд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВред

@analytik рдореБрдЭреЗ рдЖрдкрдХреА рдЬреИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореЗрд░рд╛ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ gcr.io рдХреЛ рдмреНрд▓реЙрдХ рдХрд░ рджреЗрддрд╛ рд╣реИред рддреЛ рдореИрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЛрдВрдЧрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреНрд░рджрд╛рддрд╛ рдЖрдИрдкреА рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдирд╣реАрдВ рд╣реИред рддреЛ рдореИрдВ рднреА рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реВрдБред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдореИрдВ рдЕрдкрдирд╛ рдбреЛрдВрдЧрд▓ рдкреНрд▓рдЧ рдЗрди рд░рдЦрддрд╛ рд╣реВрдВ, рддреЛ рдХрднреА-рдХрднреА рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдХрд╛рд░рдг рдЖрдИрдкреА рдкрд░рд┐рд╡рд░реНрддрди рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ? рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓ рд░рд╣реЗ рд╣реИрдВ?
@luxas рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ K8S рдХреЗ рд▓рд┐рдП рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рд╣реВрдБред рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЛ рдЧрдпрд╛ред рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдЗрд╕ рдЧрддрд┐рд╢реАрд▓ рдЖрдИрдкреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рдЖрдк рд▓реЛрдЧ рдмрджрд▓реЗ рд╣реБрдП рдорд╛рд╕реНрдЯрд░ рдЖрдИрдкреА рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?

рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдХреГрдкрдпрд╛ рд╕рдВрдкреВрд░реНрдг рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдорд╛рд╕реНрдЯрд░ рдЖрдИрдкреА рд╕рдВрд╢реЛрдзрди рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ?

рдореИрдВ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:

  • /etc/kubernetes . рдореЗрдВ рд╕рднреА рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ рдХреЛ рдмрджрд▓рдирд╛
  • рдмреИрдХрдЕрдк / etc / Kubernetes / pki
  • /etc/kubernetes/pki рдореЗрдВ рдРрд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдЬрд┐рдирдХрд╛ рдкреБрд░рд╛рдирд╛ IP рдкрддрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ[1]
  • рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреА рджреЛрдиреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ (рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рд┐рд░реНрдл рдПрдкрд┐рд╕рд░реНрд╡рд░ рдФрд░ рдЖрджрд┐/рд╕рд╣рдХрд░реНрдореА рдерд╛)
  • kubeadm alpha phase certs [2] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛
  • рдкреБрд░рд╛рдиреЗ рдЖрдИрдкреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ kube-system рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рдХреЙрдиреНрдлрд┐рдЧрдореИрдк рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ [3]
  • рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрди configmaps рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛
  • рдХреНрдпреВрдмрд▓реЗрдЯ рдФрд░ рдбреЙрдХрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ (рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)

[1]

/etc/kubernetes/pki# for f in $(find -name "*.crt"); do openssl x509 -in $f -text -noout > $f.txt; done
/etc/kubernetes/pki# grep -Rl 12\\.34\\.56\\.78 .
./apiserver.crt.txt
./etcd/peer.crt.txt
/etc/kubernetes/pki# for f in $(find -name "*.crt"); do rm $f.txt; done

[2]

/etc/kubernetes/pki# rm apiserver.crt apiserver.key
/etc/kubernetes/pki# kubeadm alpha phase certs apiserver
...
/etc/kubernetes/pki# rm etcd/peer.crt etcd/peer.key
/etc/kubernetes/pki# kubeadm alpha phase certs etcd-peer
...

[3]

$ kubectl -n kube-system get cm -o yaml | less
...
$ kubectl -n kube-system edit cm ...

рд╡рд╛рд╣, рдореИрдВ рдЗрди рдЖрджреЗрд╢реЛрдВ рд╕реЗ рдЕрдирдЬрд╛рди рдерд╛ред рдорд╣рд╛рди рдЬрд╛рдирдХрд╛рд░реА, рдЬрд┐рд╕рдиреЗ рдЪрд╛рд▓ рдЪрд▓реАред рд╢реБрдХреНрд░рд┐рдпрд╛ !

рдХреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрдореИрдкреНрд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЦреЛрдЬрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдХреБрдмреЗрджрдо рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд╡рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@patricklucas рдЧрдВрднреАрд░рддрд╛ рд╕реЗ, рдЙрд╕ рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЗрд╕рдиреЗ рдореЗрд░реА рдЬрд╛рди рдмрдЪрд╛рдИред

рдФрд░ рднреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ:

  1. /etc/kubernetes рдореЗрдВ рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ IP рдкрддрд╛ рдмрджрд▓реЗрдВ
    bash oldip=192.168.1.91 newip=10.20.2.210 cd /etc/kubernetes # see before find . -type f | xargs grep $oldip # modify files in place find . -type f | xargs sed -i "s/$oldip/$newip/" # see after find . -type f | xargs grep $newip
  2. рдмреИрдХрдЕрдк /etc/kubernetes/pki
    bash mkdir ~/k8s-old-pki cp -Rvf /etc/kubernetes/pki/* ~/k8s-old-pki
  3. /etc/kubernetes/pki рдРрд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдЬрд┐рдирдХрд╛ рдкреБрд░рд╛рдирд╛ IP рдкрддрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ (рдЗрд╕реЗ рд╕рд╛рдлрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)
    bash cd /etc/kubernetes/pki for f in $(find -name "*.crt"); do openssl x509 -in $f -text -noout > $f.txt; done grep -Rl $oldip . for f in $(find -name "*.crt"); do rm $f.txt; done
  4. рдкреБрд░рд╛рдиреЗ рдЖрдИрдкреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ kube-system рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдирдореИрдк рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

    # find all the config map names
    configmaps=$(kubectl -n kube-system get cm -o name | \
      awk '{print $1}' | \
      cut -d '/' -f 2)
    
    # fetch all for filename reference
    dir=$(mktemp -d)
    for cf in $configmaps; do
      kubectl -n kube-system get cm $cf -o yaml > $dir/$cf.yaml
    done
    
    # have grep help you find the files to edit, and where
    grep -Hn $dir/* -e $oldip
    
    # edit those files, in my case, grep only returned these two:
    kubectl -n kube-system edit cm kubeadm-config
    kubectl -n kube-system edit cm kube-proxy
    
  5. IP рдкрддрд╛ рдмрджрд▓реЗрдВ (рдЖрдкрдХреЗ рдбрд┐рд╕реНрдЯреНрд░реЛ рдХреЗ рд▓рд┐рдП cli рдпрд╛ gui рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)
  6. рдкреВрд░реНрд╡ рдЪрд░рдг рдореЗрдВ grep рджреНрд╡рд╛рд░рд╛ рдкрд╣рдЪрд╛рдиреЗ рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреА рджреЛрдиреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдЙрди рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ

    рдиреЛрдЯ: kubeadm admin phase certs ... рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдирдпрд╛ рдЖрдИрдкреА рдкрддрд╛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

    rm apiserver.crt apiserver.key
    kubeadm alpha phase certs apiserver
    
    rm etcd/peer.crt etcd/peer.key
    kubeadm alpha phase certs etcd-peer
    
  7. рдХреНрдпреВрдмрд▓реЗрдЯ рдФрд░ рдбреЙрдХрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ
    bash sudo systemctl restart kubelet sudo systemctl restart docker
  8. рдирдП рдХреЙрдиреНрдлрд┐рдЧ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
    bash sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config

@mariamTr ^

рдПрдХ рдФрд░ рдмрд╛рдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ k8s рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдСрдлрд╝рд▓рд╛рдЗрди рдореЛрдб рдореЗрдВ рдХрд░реНрдЯ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рдерд╛: https://github.com/kubernetes/kubernetes/issues/54188#issuecomment -418880831

@weisjohn рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдпрд╣ рдиреЛрдЯ рдХрд░рдХреЗ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

kubectl edit cm -nkube-public cluster-info

рдХреНрдпрд╛ рдХреБрдмреЗрджрдо рдХреЗ рд▓рд┐рдП рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ?

рдЕрдиреНрдпрдерд╛, рдореЗрд░реЗ рдХреБрдмреЗрджрдо рдЬреЙрдЗрди рдХрдорд╛рдВрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрд░рд╛рдиреЗ/рдЧрд▓рдд рдПрдкрд┐рд╕рд░реНрд╡рд░ рдЖрдИрдкреА рдЖрдзреЗ рд░рд╛рд╕реНрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдлрд▓ рд╣реЛрддреЗ рд░рд╣рддреЗ рд╣реИрдВред

рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ @weisjohn (https://github.com/kubernetes/kubeadm/issues/338#issuecomment-418879755) рдФрд░ @michaelfig (https://github.com/kubernetes/kubeadm/issues/) рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИред 338#issuecomment-428340099) рд╣рд░ рдЬрдЧрд╣ рдкрддреЗ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЛ eth0 рдкрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ IP рдХреЗ рдмрдЬрд╛рдп eth1 рдкрд░ рдирдП рдмрдирд╛рдП рдЧрдП VPC рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рднреА рдЬрдм рдореИрдВ kubeadm upgrade diff v1.12.3 рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддрдм рднреА рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ --advertise-address рдореЗрдВ /etc/kubernetes/manifests/kube-apiserver.yaml рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред

рдХреЛрдИ рд╕реБрд░рд╛рдЧ?

kubectl get all --export=true --all-namespaces -o yaml рдореЗрдВ рднреА рдкреБрд░рд╛рдирд╛ рдЖрдИрдкреА рдХрд╣реАрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ

рдЕрдкрдбреЗрдЯ: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ kubeadm upgrade diff рдиреЗ рдПрдХ рдмрджрд▓рд╛рд╡ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди kubeadm upgrade apply рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрддрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдмрджрд▓рд╛ред (рдХрдИ рдмрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ 1.13 рдЬреИрд╕реЗ рдлрд┐рдХреНрд╕)

@weisjohn рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

@patricklucas рдЧрдВрднреАрд░рддрд╛ рд╕реЗ, рдЙрд╕ рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЗрд╕рдиреЗ рдореЗрд░реА рдЬрд╛рди рдмрдЪрд╛рдИред

рдФрд░ рднреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ:

  1. /etc/kubernetes рдореЗрдВ рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ IP рдкрддрд╛ рдмрджрд▓реЗрдВ
    shell oldip=192.168.1.91 newip=10.20.2.210 cd /etc/kubernetes # see before find . -type f | xargs grep $oldip # modify files in place find . -type f | xargs sed -i "s/$oldip/$newip/" # see after find . -type f | xargs grep $newip
  2. рдмреИрдХрдЕрдк /etc/kubernetes/pki
    shell mkdir ~/k8s-old-pki cp -Rvf /etc/kubernetes/pki/* ~/k8s-old-pki
  3. /etc/kubernetes/pki рдРрд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдЬрд┐рдирдХрд╛ рдкреБрд░рд╛рдирд╛ IP рдкрддрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ (рдЗрд╕реЗ рд╕рд╛рдлрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)
    shell cd /etc/kubernetes/pki for f in $(find -name "*.crt"); do openssl x509 -in $f -text -noout > $f.txt; done grep -Rl $oldip . for f in $(find -name "*.crt"); do rm $f.txt; done
  4. рдкреБрд░рд╛рдиреЗ рдЖрдИрдкреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ kube-system рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдирдореИрдк рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

    # find all the config map names
    configmaps=$(kubectl -n kube-system get cm -o name | \
     awk '{print $1}' | \
     cut -d '/' -f 2)
    
    # fetch all for filename reference
    dir=$(mktemp -d)
    for cf in $configmaps; do
     kubectl -n kube-system get cm $cf -o yaml > $dir/$cf.yaml
    done
    
    # have grep help you find the files to edit, and where
    grep -Hn $dir/* -e $oldip
    
    # edit those files, in my case, grep only returned these two:
    kubectl -n kube-system edit cm kubeadm-config
    kubectl -n kube-system edit cm kube-proxy
    
  5. IP рдкрддрд╛ рдмрджрд▓реЗрдВ (рдЖрдкрдХреЗ рдбрд┐рд╕реНрдЯреНрд░реЛ рдХреЗ рд▓рд┐рдП cli рдпрд╛ gui рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)
  6. рдкреВрд░реНрд╡ рдЪрд░рдг рдореЗрдВ grep рджреНрд╡рд╛рд░рд╛ рдкрд╣рдЪрд╛рдиреЗ рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреА рджреЛрдиреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдЙрди рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ

    рдиреЛрдЯ: kubeadm admin phase certs ... рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдирдпрд╛ рдЖрдИрдкреА рдкрддрд╛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

    rm apiserver.crt apiserver.key
    kubeadm alpha phase certs apiserver
    
    rm etcd/peer.crt etcd/peer.key
    kubeadm alpha phase certs etcd-peer
    
  7. рдХреНрдпреВрдмрд▓реЗрдЯ рдФрд░ рдбреЙрдХрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ
    shell sudo systemctl restart kubelet sudo systemctl restart docker
  8. рдирдП рдХреЙрдиреНрдлрд┐рдЧ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
    shell sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config

@mariamTr ^

рдХрджрдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдХреНрдпрд╛ рдЖрдк рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рдХреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рдкреБрд░рд╛рдиреЗ рд╡рд░реНрдХрд░ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЙрд╕ рдкреБрди: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж :)

рд╢рд╛рдпрдж рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЬрдм рдорд╛рд╕реНрдЯрд░ рдЖрдИрдкреА рдХреЛ рдирд┐рдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдУрд╡рд░рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреИрд▓рд┐рдХреЛ VPC рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рддрдХ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрдм рддрдХ рдХрд┐ рд╡рд╣ рдЙрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдмрдВрдзрд╛ рдирд╣реАрдВ рдерд╛:

         env:
            - name: IP_AUTODETECTION_METHOD
              value: interface=eth1

рдХреБрдмреЗрджрдо рдЕрд▓реНрдлрд╛ рдлреЗрдЬ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдПрдкрд┐рд╕рд░реНрд╡рд░

@weisjohn kubeadm рдЕрд▓реНрдлрд╛ рдлреЗрдЬ

1.13 рдореЗрдВ рдХрдорд╛рдВрдб рдХреЛ kubeadm init phase certs apiserver рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/#cmd -phase-certs

рдЙрдкрд╛рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдХрджрдо - рдзрдиреНрдпрд╡рд╛рдж @patricklucas рдФрд░ @weisjohn !

рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдпреБрдХреНрддрд┐ рдЕрдЧрд░, рдореЗрд░реА рддрд░рд╣, рдЖрдк рд░рд╛рдЬреНрдп рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдИрдкреА рдкрддрд╛ рдкрд╣рд▓реЗ рд╣реА рдмрджрд▓ рдЪреБрдХрд╛ рд╣реИ, рддреЛ рдЖрдк рдЪрд░рдг 4 рдореЗрдВ рдХреЙрдиреНрдлрд┐рдЧрдореИрдкреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ-рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рд╣реЛрд╕реНрдЯрдирд╛рдо kubernetes рд▓рд┐рдП рдПрдкреАрдЖрдИ-рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рддрд╛рдХрд┐ рдЖрдк рдЗрд╕реЗ /etc/hosts рдореЗрдВ рдирдП рдЖрдИрдкреА рдкрддреЗ рдореЗрдВ рдЙрдкрдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХреЗрдВ, рдлрд┐рд░ kubectl --server=https://kubernetes:6443 ... ред

@bboreham @weisjohn @patricklucas рдЖрдкрдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рдЖрдИрдкреА рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕ рдкрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рд╣рдЯрд╛рдПрдВ/рдЗрд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ? рдпрд╛ рдмрд╕ _/etc/kubernetes/kubelet.conf_ рдФрд░ _/etc/kubernetes/pki/ca.crt_ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓реЗрдВ?

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдкреБрд░рд╛рдирд╛ рдореБрджреНрджрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдХрд┐рд╕реА рдХреЗ рдХрд╛рдо рдЖрдПрдЧреАред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ @patricklucas рдФрд░ @weisjohn рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдмрдирд╛рдпрд╛ рд╣реИ:

systemctl stop kubelet docker

cd /etc/

# backup old kubernetes data
mv kubernetes kubernetes-backup
mv /var/lib/kubelet /var/lib/kubelet-backup

# restore certificates
mkdir -p kubernetes
cp -r kubernetes-backup/pki kubernetes
rm kubernetes/pki/{apiserver.*,etcd/peer.*}

systemctl start docker

# reinit master with data in etcd
# add --kubernetes-version, --pod-network-cidr and --token options if needed
kubeadm init --ignore-preflight-errors=DirAvailable--var-lib-etcd

# update kubectl config
cp kubernetes/admin.conf ~/.kube/config

# wait for some time and delete old node
sleep 120
kubectl get nodes --sort-by=.metadata.creationTimestamp
kubectl delete node $(kubectl get nodes -o jsonpath='{.items[?(@.status.conditions[0].status=="Unknown")].metadata.name}')

# check running pods
kubectl get pods --all-namespaces

@ valerius257 рдзрдиреНрдпрд╡рд╛рдж рдпрд╛рд░, рдЖрдк рд╣рдорд╛рд░реЗ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВ)

рдзрдиреНрдпрд╡рд╛рдж @valerius257
рдореИрдВрдиреЗ @patricklucas рдФрд░ @weisjohn рдХреЗ рд╕рднреА рд░рд╛рдЗрдЯ-рдЕрдк/рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛

@valerius257 рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢ рдореВрд▓ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдореИрдВрдиреЗ рдЙрди рдореБрджреНрджреЛрдВ рдХреЛ рдирд╣реАрдВ рдорд╛рд░рд╛ рдЬреЛ рдореЗрд░реЗ рдХреБрдмреЗрджрдо рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВред рдореИрдВ рдХреБрдмреЗрджрдо рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрд┐рд╕рдХрд╛ рдЖрдИрдкреА рдмрджрд▓ рдЧрдпрд╛ред

@valerius257 . рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рдмрд╛рдж
рдореИрдВ рдПрдХ рдПрдХрд▓ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рдлрд▓рд╛рд▓реИрди рдПрди/рдбрдмреНрд▓реНрдпреВ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдлрд▓рд╛рд▓реИрди рд╕рдорд╕реНрдпрд╛: рдХреНрдпреВрдм-рдлрд▓рд╛рд▓реИрди-рдбреАрдПрд╕-рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕ рдмреИрдХ-рдСрдлрд╝ рд╡рд┐рдлрд▓ рдХрдВрдЯреЗрдирд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛
рдкреЙрдб рд╕реНрдЯреЗрдЯ: рдХреНрд░реИрд╢рд▓реВрдкрдмреИрдХрдСрдлред рдЗрд╕рдХреЗ рдХрд╛рд░рдг рдЕрдиреНрдп рдкреЙрдбреНрд╕ рдЬреИрд╕реЗ core-dns-xxx рднреА рдирд╣реАрдВ рдЖ рдкрд╛ рд░рд╣реЗ рд╣реИрдВред

рд╕рдВрдХрд▓реНрдк: рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ cidr n/w (рдЬрдм IP рдкреБрд░рд╛рдирд╛ рдерд╛ рдпрд╛ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╕рдордп) рдХреЗ рд╕рд╛рде kubeadm init рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдг рдиреЗ "/etc/kubernetes/manifests/kube-controller-manager" рд╕реЗ cidr рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдорд┐рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ .yaml" рдлрд╝рд╛рдЗрд▓ред
kubeadm init --ignore-preflight-errors=DirAvailable--var-lib-etcd.

рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдиреЗ "kubeadm init --token {{ kubeadm_token}} --pod-network-cidr=10.244.0.0/16" рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде kubeadm рдорд╛рд╕реНрдЯрд░ рдиреЛрдб (рдкрд╣рд▓реА рдмрд╛рд░ IP рдкрддреЗ рдХреЗ рд╕рд╛рде) рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрд╡рдВрдЯрди рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ рдирдпрд╛ рдЖрдИрдкреА рдЖрдкрдХреЛ --pod-network-cidr=10.244.0.0/16 рдХреЗ рд╕рд╛рде рдирд┐рдореНрди рдЖрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
" kubeadm init --ignore-preflight-errors=DirAvailable--var-lib-etcd --token {{ kubeadm_token }} --pod-network-cidr=10.244.0.0/16"

рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ "/etc/kubernetes/manifests/kube-controller-manager.yaml рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдпрджрд┐ рд╡реЗ Spec:containers :command рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИрдВ:

  • --рдЖрд╡рдВрдЯрди-рдиреЛрдб-рд╕реАрдбрд░ = рд╕рдЪ
  • --рдХреНрд▓рд╕реНрдЯрд░-рд╕реАрдбреАрдЖрд░=10.244.0.0/16

    • --рдиреЛрдб-рд╕реАрдбреАрдЖрд░-рдорд╛рд╕реНрдХ-рдЖрдХрд╛рд░=24

      рд╕рдВрджрд░реНрдн: https://github.com/coreos/flannel/issues/728 , @wkjun рд╕реЗ рд╕рдорд╛рдзрд╛рди рдкрдврд╝реЗрдВ

      рдПрдХ рдмрд╛рд░ рдЙрдкрд░реЛрдХреНрдд рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж,

      рд╕рд┐рд╕реНрдЯрдордХреНрдЯрд▓ рд╕реНрдЯреЙрдк рдХреНрдпреВрдмрд▓реЗрдЯ рдбреЙрдХрд░

      рд╕реЛ рдЬрд╛рдУ 20

      systemctl рд╕реНрдЯрд╛рд░реНрдЯ рдбреЙрдХрд░ рдХреНрдпреВрдмрд▓реЗрдЯ

      рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдлрд▓рд╛рд▓реИрди рд╕рд╣рд┐рдд рд╕рднреА рдкреЙрдб рдКрдкрд░ рдФрд░ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред

      Kubect get pods -n kube-system

рдЕрдВрдХ 2:
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдиреЗрдорд╕реНрдкреЗрд╕ рдпрд╛ рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕рднреА рдкреЙрдбреНрд╕ рдкреЙрдб рдХрдорд╛рдВрдб рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ:
"рдЪреЗрддрд╛рд╡рдиреА рд╡рд┐рдлрд▓ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рд╢реЗрдбреНрдпреВрд▓рд░ 0/1 рдиреЛрдбреНрд╕ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: 1 рдиреЛрдб рдореЗрдВ рджрд╛рдЧ рдереЗ рдХрд┐ рдкреЙрдб рдмрд░реНрджрд╛рд╢реНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ред"
рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: kubectl рдЯреЗрдВрдЯ рдиреЛрдбреНрд╕ --all node-role.kubernetes.io/master-
рдРрдкреНрд╕ рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рдпрд╛ рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо рдиреЗрдорд╕реНрдкреЗрд╕ рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╕рднреА рдкреЙрдбреНрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ, рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдореНрдпреВрдЯрд┐-рдиреЛрдб рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рддрд░реНрдХ рд░рд╣рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

@patricklucas рдЧрдВрднреАрд░рддрд╛ рд╕реЗ, рдЙрд╕ рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЗрд╕рдиреЗ рдореЗрд░реА рдЬрд╛рди рдмрдЪрд╛рдИред

рдФрд░ рднреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ:

  1. /etc/kubernetes рдореЗрдВ рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ IP рдкрддрд╛ рдмрджрд▓реЗрдВ
    shell oldip=192.168.1.91 newip=10.20.2.210 cd /etc/kubernetes # see before find . -type f | xargs grep $oldip # modify files in place find . -type f | xargs sed -i "s/$oldip/$newip/" # see after find . -type f | xargs grep $newip
  2. рдмреИрдХрдЕрдк /etc/kubernetes/pki
    shell mkdir ~/k8s-old-pki cp -Rvf /etc/kubernetes/pki/* ~/k8s-old-pki
  3. /etc/kubernetes/pki рдРрд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдЬрд┐рдирдХрд╛ рдкреБрд░рд╛рдирд╛ IP рдкрддрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ (рдЗрд╕реЗ рд╕рд╛рдлрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)
    shell cd /etc/kubernetes/pki for f in $(find -name "*.crt"); do openssl x509 -in $f -text -noout > $f.txt; done grep -Rl $oldip . for f in $(find -name "*.crt"); do rm $f.txt; done
  4. рдкреБрд░рд╛рдиреЗ рдЖрдИрдкреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ kube-system рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдирдореИрдк рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

    # find all the config map names
    configmaps=$(kubectl -n kube-system get cm -o name | \
     awk '{print $1}' | \
     cut -d '/' -f 2)
    
    # fetch all for filename reference
    dir=$(mktemp -d)
    for cf in $configmaps; do
     kubectl -n kube-system get cm $cf -o yaml > $dir/$cf.yaml
    done
    
    # have grep help you find the files to edit, and where
    grep -Hn $dir/* -e $oldip
    
    # edit those files, in my case, grep only returned these two:
    kubectl -n kube-system edit cm kubeadm-config
    kubectl -n kube-system edit cm kube-proxy
    
  5. IP рдкрддрд╛ рдмрджрд▓реЗрдВ (рдЖрдкрдХреЗ рдбрд┐рд╕реНрдЯреНрд░реЛ рдХреЗ рд▓рд┐рдП cli рдпрд╛ gui рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)
  6. рдкреВрд░реНрд╡ рдЪрд░рдг рдореЗрдВ grep рджреНрд╡рд╛рд░рд╛ рдкрд╣рдЪрд╛рдиреЗ рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреА рджреЛрдиреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдЙрди рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ

    рдиреЛрдЯ: kubeadm admin phase certs ... рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдирдпрд╛ рдЖрдИрдкреА рдкрддрд╛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

    rm apiserver.crt apiserver.key
    kubeadm alpha phase certs apiserver
    
    rm etcd/peer.crt etcd/peer.key
    kubeadm alpha phase certs etcd-peer
    
  7. рдХреНрдпреВрдмрд▓реЗрдЯ рдФрд░ рдбреЙрдХрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ
    shell sudo systemctl restart kubelet sudo systemctl restart docker
  8. рдирдП рдХреЙрдиреНрдлрд┐рдЧ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ
    shell sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config

@mariamTr ^

newip рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╣рдореЗрдВ рдХреМрди рд╕рд╛ ip рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдХреНрдпрд╛ рд╣рдо рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдПрдХ рдЖрдИрдкреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ?

@VipinKrizz рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рдВрджрд░реНрдн рдпрд╣ рд╣реИ рдХрд┐ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдХрд╛рд░рдХреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЖрдИрдкреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдЖрдкрдХреЗ рд╡рд┐рд╢реЗрд╖ рд╕реЗрдЯ-рдЕрдк рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреЛрдИ рднреА рдЙрддреНрддрд░ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕ рдЖрдИрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕реНрд▓реИрдХ рдкрд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ рдвреВрдВрдв рд╕рдХреЗрдВ? рдХреБрдмреЗрджрдо рдореБрджреНрджреЗ рд╕рд╣реА рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИрдВред

@ valerius257 рдЙрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдЕрдм рдореБрдЭреЗ рдЕрдкрдиреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдХрдИ рдбрд╛рдЙрдирд╕рд╛рдЗрдбреНрд╕ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЫреЛрдЯреЗ рдХрд┐рдирд╛рд░реЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╕рднреА k8s рдореЗрдВ рд╣реИ)ред рдореБрдЭреЗ рд╕рдХреНрд╖рдо рд╕реЗрд╡рд╛рдУрдВ/рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд, рдбреАрдПрдирдПрд╕, рд╡рд┐рд╢реЗрд╖ рднрдВрдбрд╛рд░рдг рд╡рд░реНрдЧреЛрдВ, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдкреИрдЪ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рд▓реЗрдХрд┐рди рд╣рд╛рдБ, рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдЖрдЬ рдореЗрд░реЗ рдмреЗрдХрди рдХреЛ рдмрдЪрд╛ рд▓рд┐рдпрд╛ред

@ valerius257 рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдХрджрдо рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдиреАрдЪреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ

root@ubuntu :/etc/kubernetes/pki# kubeadm init --ignore-preflight-errors=DirAvailable--var-lib-etcd
W0122 10:15:34.819150 102032 version.go:101] рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛: URL рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде " https://dl.k8s.io/release/stable-1.txt ": https рдкреНрд░рд╛рдкреНрдд
W0122 10:15:34.819340 102032 version.go:102] рд╕реНрдерд╛рдиреАрдп рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╡рд╛рдкрд╕ рдЖ рд░рд╣рд╛ рд╣реИ: v1.16.3
[init] Kubernetes рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛: v1.16.3
[рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ] рдкреНрд░реА-рдлреНрд▓рд╛рдЗрдЯ рдЪреЗрдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
[рдЪреЗрддрд╛рд╡рдиреА IsDockerSystemdCheck]: "cgroupfs" рдХреЛ Docker cgroup рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ред рдЕрдиреБрд╢рдВрд╕рд┐рдд рдбреНрд░рд╛рдЗрд╡рд░ "systemd" рд╣реИред рдХреГрдкрдпрд╛ https://kubernetes.io/docs/setup/cri/ рдкрд░ рдЧрд╛рдЗрдб рдХрд╛ рдкрд╛рд▓рди
[рдЪреЗрддрд╛рд╡рдиреА рдЙрдкрд▓рдмреНрдз--var-lib-etcd]: /var/lib/etcd рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реИ
[рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ] рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЦреАрдВрдЪрдирд╛
[рдкреВрд░реНрд╡ рдЙрдбрд╝рд╛рди] рдЖрдкрдХреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреА рдЧрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдпрд╛ рджреЛ рдорд┐рдирдЯ рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВ
[preflight] рдЖрдк 'kubeadm config images pull' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рднреА рдпрд╣ рдХреНрд░рд┐рдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
[рдХреНрдпреВрдмрд▓реЗрдЯ-рд╕реНрдЯрд╛рд░реНрдЯ] рдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЭрдВрдбреЗ рдХреЗ рд╕рд╛рде рдХреНрдпреВрдмрд▓реЗрдЯ рдкрд░реНрдпрд╛рд╡рд░рдг рдлрд╛рдЗрд▓ рд▓рд┐рдЦрдирд╛ "/var/lib/kubelet/kubeadm-flags.env"
[рдХреНрдпреВрдмрд▓реЗрдЯ-рд╕реНрдЯрд╛рд░реНрдЯ] рдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд▓рд┐рдЦрдирд╛ "/var/lib/kubelet/config.yaml"
[рдХреНрдпреВрдмрд▓реЗрдЯ-рд╕реНрдЯрд╛рд░реНрдЯ] рдХреНрдпреВрдмрд▓реЗрдЯ рд╕реЗрд╡рд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдирд╛
[рд╕реАрд░реНрдЯреНрд╕] рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдбреАрдЖрдИрдЖрд░ рдлреЛрд▓реНрдбрд░ "/etc/kubernetes/pki" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
[рдкреНрд░рдорд╛рдгрдкрддреНрд░] рдореМрдЬреВрджрд╛ рд╕реАрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
[рд╕реАрд░реНрдЯреНрд╕] "рдПрдкрд┐рд╕рд░реНрд╡рд░" рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛
[рд╕реАрд░реНрдЯреНрд╕] рдПрдкрд┐рд╕рд░реНрд╡рд░ рд╕рд░реНрд╡рд┐рдВрдЧ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдбреАрдПрдирдПрд╕ рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ [рдЙрдмрдВрдЯреВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ред
[рд╕реАрд░реНрдЯреНрд╕] рдореМрдЬреВрджрд╛ рдПрдкрд┐рд╕рд░реНрд╡рд░-рдХреНрдпреВрдмрд▓реЗрдЯ-рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
[рд╕рд░реНрдЯ] рдореМрдЬреВрджрд╛ рдлреНрд░рдВрдЯ-рдкреНрд░реЙрдХреНрд╕реА-рд╕реАрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
[рд╕реАрд░реНрдЯреНрд╕] рдореМрдЬреВрджрд╛ рдлреНрд░рдВрдЯ-рдкреНрд░реЙрдХреНрд╕реА-рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
[рдкреНрд░рдорд╛рдгрдкрддреНрд░] рдореМрдЬреВрджрд╛ рдЖрджрд┐/рд╕реАрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
[рд╕реАрд░реНрдЯреНрд╕] рдореМрдЬреВрджрд╛ рдЖрджрд┐/рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
[рд╕реАрд░реНрдЯреНрд╕] "рдЖрджрд┐/рд╕рд╣рдХрд░реНрдореА" рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреА рдмрдирд╛рдирд╛
[рд╕реАрд░реНрдЯреНрд╕] рдЖрджрд┐/рдкреАрдпрд░ рд╕рд░реНрд╡рд┐рдВрдЧ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдбреАрдПрдирдПрд╕ рдирд╛рдореЛрдВ [рдЙрдмрдВрдЯреВ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ] рдФрд░ рдЖрдИрдкреА [192.168.120.137 127.0.0.1:1] рдХреЗ рд▓рд┐рдП рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╣реИред
[рд╕реАрд░реНрдЯреНрд╕] рдореМрдЬреВрджрд╛ рдЖрджрд┐/рд╕реНрд╡рд╛рд╕реНрдереНрдп рдЬрд╛рдВрдЪ-рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
[рд╕реАрд░реНрдЯреНрд╕] рдореМрдЬреВрджрд╛ рдПрдкрд┐рд╕рд░реНрд╡рд░-рдЖрджрд┐-рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
[рдкреНрд░рдорд╛рдгрдкрддреНрд░] рдореМрдЬреВрджрд╛ "sa" рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
[kubeconfig] kubeconfig рдлрд╝реЛрд▓реНрдбрд░ "/etc/kubernetes" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
[kubeconfig] "admin.conf" рд▓рд┐рдЦрдирд╛ kubeconfig рдлрд╝рд╛рдЗрд▓
[kubeconfig] "kubelet.conf" рд▓рд┐рдЦрдирд╛ kubeconfig рдлрд╝рд╛рдЗрд▓
[kubeconfig] "controller-manager.conf" рд▓рд┐рдЦрдирд╛ kubeconfig file
[kubeconfig] "scheduler.conf" рд▓рд┐рдЦрдирд╛ kubeconfig file
[рдирд┐рдпрдВрддреНрд░рдг-рд╡рд┐рдорд╛рди] рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ "/ etc/kubernetes/manifests"
[рдирд┐рдпрдВрддреНрд░рдг-рд╡рд┐рдорд╛рди] "рдХреНрдпреВрдм-рдПрдкрд┐рд╕рд░реНрд╡рд░" рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рдкреЙрдб рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдмрдирд╛рдирд╛
[рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди] "рдХреНрдпреВрдм-рдХрдВрдЯреНрд░реЛрд▓рд░-рдореИрдиреЗрдЬрд░" рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдЯрд┐рдХ рдкреЙрдб рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдмрдирд╛рдирд╛
[рдХрдВрдЯреНрд░реЛрд▓-рдкреНрд▓реЗрди] "рдХреНрдпреВрдм-рд╢реЗрдбреНрдпреВрд▓рд░" рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдЯрд┐рдХ рдкреЙрдб рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдмрдирд╛рдирд╛
[рдЖрджрд┐] "/ etc / Kubernetes / рдкреНрд░рдХрдЯ" рдореЗрдВ рд╕реНрдерд╛рдиреАрдп etcd рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рдкреЙрдб рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдмрдирд╛рдирд╛
[рдкреНрд░рддреАрдХреНрд╖рд╛-рдирд┐рдпрдВрддреНрд░рдг-рд╡рд┐рдорд╛рди] рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдХреЛ рд╕реНрдерд┐рд░ рдкреЙрдбреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "/ etc/kubernetes/manifests" рд╕реЗ рдмреВрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдореЗрдВ 4m0s . рддрдХ рдХрд╛ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ
[рдХреНрдпреВрдмрд▓реЗрдЯ-рдЪреЗрдХ] 40 рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдордп рдмреАрдд рдЪреБрдХрд╛ рд╣реИред
[рдХреНрдпреВрдмрд▓реЗрдЯ-рдЪреЗрдХ] рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреВрдмрд▓реЗрдЯ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдпрд╛ рд╕реНрд╡рд╕реНрде рдирд╣реАрдВ рд╣реИред
[рдХреНрдпреВрдмрд▓реЗрдЯ-рдЪреЗрдХ] 'рдХрд░реНрд▓-рдПрд╕рдПрд╕рдПрд▓ http://localhost :10248/healthz' рдХреЗ рдмрд░рд╛рдмрд░ HTTP рдХреЙрд▓ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓: http://localhost :10248/healthz: рдбрд╛рдпрд▓ рдХрд░реЗрдВ tcp 127.0.0.1:10248: рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ: рдХрдиреЗрдХреНрд╢рди рдордирд╛ рдХрд░ рджрд┐рдпрд╛ред
[рдХреНрдпреВрдмрд▓реЗрдЯ-рдЪреЗрдХ] рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреВрдмрд▓реЗрдЯ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдпрд╛ рд╕реНрд╡рд╕реНрде рдирд╣реАрдВ рд╣реИред
[рдХреНрдпреВрдмрд▓реЗрдЯ-рдЪреЗрдХ] 'рдХрд░реНрд▓-рдПрд╕рдПрд╕рдПрд▓ http://localhost :10248/healthz' рдХреЗ рдмрд░рд╛рдмрд░ HTTP рдХреЙрд▓ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓: http://localhost :10248/healthz: рдбрд╛рдпрд▓ рдХрд░реЗрдВ tcp 127.0.0.1:10248: рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ: рдХрдиреЗрдХреНрд╢рди рдордирд╛ рдХрд░ рджрд┐рдпрд╛ред
[рдХреНрдпреВрдмрд▓реЗрдЯ-рдЪреЗрдХ] рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреВрдмрд▓реЗрдЯ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдпрд╛ рд╕реНрд╡рд╕реНрде рдирд╣реАрдВ рд╣реИред
[рдХреНрдпреВрдмрд▓реЗрдЯ-рдЪреЗрдХ] 'рдХрд░реНрд▓-рдПрд╕рдПрд╕рдПрд▓ http://localhost :10248/healthz' рдХреЗ рдмрд░рд╛рдмрд░ HTTP рдХреЙрд▓ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓: http://localhost :10248/healthz: рдбрд╛рдпрд▓ рдХрд░реЗрдВ tcp 127.0.0.1:10248: рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ: рдХрдиреЗрдХреНрд╢рди рдордирд╛ рдХрд░ рджрд┐рдпрд╛ред
[рдХреНрдпреВрдмрд▓реЗрдЯ-рдЪреЗрдХ] рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреВрдмрд▓реЗрдЯ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдпрд╛ рд╕реНрд╡рд╕реНрде рдирд╣реАрдВ рд╣реИред
[рдХреНрдпреВрдмрд▓реЗрдЯ-рдЪреЗрдХ] HTTP рдХреЙрд▓ 'рдХрд░реНрд▓ -sSL http://localhost :10248/healthz' рдХреЗ рдмрд░рд╛рдмрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓: http://localhost :10248/healthz: рдбрд╛рдпрд▓ рдХрд░реЗрдВ tcp 127.0.0.1:10248: рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ: рдХрдиреЗрдХреНрд╢рди рдордирд╛ рдХрд░ рджрд┐рдпрд╛ред
[рдХреНрдпреВрдмрд▓реЗрдЯ-рдЪреЗрдХ] рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпреВрдмрд▓реЗрдЯ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдпрд╛ рд╕реНрд╡рд╕реНрде рдирд╣реАрдВ рд╣реИред
[рдХреНрдпреВрдмрд▓реЗрдЯ-рдЪреЗрдХ] HTTP рдХреЙрд▓ 'рдХрд░реНрд▓ -sSL http://localhost :10248/healthz' рдХреЗ рдмрд░рд╛рдмрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓: http://localhost :10248/healthz: рдбрд╛рдпрд▓ рдХрд░реЗрдВ tcp 127.0.0.1:10248: рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ: рдХрдиреЗрдХреНрд╢рди рдордирд╛ рдХрд░ рджрд┐рдпрд╛ред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рд╣реИ:
рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛

рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ:
- рдХреНрдпреВрдмрд▓реЗрдЯ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
- рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдиреЛрдб рдХреЗ рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдХрд╛рд░рдг рдХреНрдпреВрдмрд▓реЗрдЯ рдЕрд╕реНрд╡рд╕реНрде рд╣реИ (рдЖрд╡рд╢реНрдпрдХ cgroups рдЕрдХреНрд╖рдо)

рдпрджрд┐ рдЖрдк рд╕рд┐рд╕реНрдЯрдордб-рдкрд╛рд╡рд░реНрдб рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рдХрд╛ рдирд┐рд╡рд╛рд░рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- 'systemctl рд╕реНрдЯреЗрдЯрд╕ рдХреНрдпреВрдмрд▓реЗрдЯ'
- 'рдЬрд░реНрдирд▓рдХреНрдЯрд▓-рдПрдХреНрд╕рдпреВ рдХреНрдпреВрдмрд▓реЗрдЯ'

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдХрдВрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдШрдЯрдХ рдХреНрд░реИрд╢ рдпрд╛ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЧрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдХрдВрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо CLI, рдЬреИрд╕реЗ docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВред
рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдк рдбреЙрдХрдЯрд░ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╕рднреА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- 'рдбреЙрдХрд░ рдкреАрдПрд╕-рдП | рдЧреНрд░реЗрдк рдХреНрдпреВрдм | grep -v рд╡рд┐рд░рд╛рдо'
рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдкрдХреЛ рдЕрд╕рдлрд▓ рдХрдВрдЯреЗрдирд░ рдорд┐рд▓ рдЬрд╛рдП, рддреЛ рдЖрдк рдЗрд╕рдХреЗ рд▓реЙрдЧ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- 'рдбреЙрдХрд░ рд▓реЙрдЧреНрд╕ CONTAINERID'
рддреНрд░реБрдЯрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдЪрд░рдг рдкреНрд░рддреАрдХреНрд╖рд╛-рдирд┐рдпрдВрддреНрд░рдг-рд╡рд┐рдорд╛рди: рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛
рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП --v=5 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

рдХреГрдкреНрдпрд╛ рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗ

рдореИрдВ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:

  • /etc/kubernetes . рдореЗрдВ рд╕рднреА рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ рдХреЛ рдмрджрд▓рдирд╛
  • рдмреИрдХрдЕрдк / etc / Kubernetes / pki
  • /etc/kubernetes/pki рдореЗрдВ рдРрд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдЬрд┐рдирдХрд╛ рдкреБрд░рд╛рдирд╛ IP рдкрддрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ[1]
  • рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдХреБрдВрдЬреА рджреЛрдиреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ (рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рд┐рд░реНрдл рдПрдкрд┐рд╕рд░реНрд╡рд░ рдФрд░ рдЖрджрд┐/рд╕рд╣рдХрд░реНрдореА рдерд╛)
  • kubeadm alpha phase certs [2] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛
  • рдкреБрд░рд╛рдиреЗ рдЖрдИрдкреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ kube-system рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рдХреЙрдиреНрдлрд┐рдЧрдореИрдк рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ [3]
  • рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрди configmaps рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛
  • рдХреНрдпреВрдмрд▓реЗрдЯ рдФрд░ рдбреЙрдХрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ (рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)

[1]

/etc/kubernetes/pki# for f in $(find -name "*.crt"); do openssl x509 -in $f -text -noout > $f.txt; done
/etc/kubernetes/pki# grep -Rl 12\\.34\\.56\\.78 .
./apiserver.crt.txt
./etcd/peer.crt.txt
/etc/kubernetes/pki# for f in $(find -name "*.crt"); do rm $f.txt; done

[2]

/etc/kubernetes/pki# rm apiserver.crt apiserver.key
/etc/kubernetes/pki# kubeadm alpha phase certs apiserver
...
/etc/kubernetes/pki# rm etcd/peer.crt etcd/peer.key
/etc/kubernetes/pki# kubeadm alpha phase certs etcd-peer
...

[3]

$ kubectl -n kube-system get cm -o yaml | less
...
$ kubectl -n kube-system edit cm ...

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

рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

 kubeadm init phase ..

рдирд╡реАрдирддрдо Kubectl рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП

@bboreham
рдореИрдВрдиреЗ @patricklucas . рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рд╣реИ
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЪрд░рдг 4 рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, /etc/hosts рдореЗрдВ рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдИрдкреА рдкрд╣рд▓реЗ рд╣реА рдмрджрд▓ рдЪреБрдХрд╛ рд╣реИ рдФрд░ рдПрдкреАрдЖрдИ-рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ
kubeadm init --kubernetes-version=v1.16.3 рдЪрд░рдг рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдПрдкрд┐рд╕рд░реНрд╡рд░

рдореИрдВ /etc/hosts . рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ рд╣реВрдБ

рдФрд░ рдХреЛрд╢рд┐рд╢ рдХреА kubectl --server=https://:6443 рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ :(

рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ/etc/рдореЗрдЬрдмрд╛рди рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ??

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

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

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

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

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

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

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