{"id":318985,"date":"2021-03-03T21:00:21","date_gmt":"2021-03-03T21:00:21","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=318985"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=318985","title":{"rendered":"\u041c\u043d\u0435 \u043f\u043e\u0432\u0435\u0437\u043b\u043e: \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b k8s v1.12.3"},"content":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>   \u041d\u0435\u0434\u0435\u043b\u044e \u043d\u0430\u0437\u0430\u0434 &nbsp;\u043c\u043d\u0435 \u043f\u043e\u0434\u043a\u0438\u043d\u0443\u043b\u0438 \u0437\u0430\u0434\u0430\u0447\u0443 &#8212; \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b k8s \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0437\u0430\u0434\u0430\u0447\u0430 \u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u043e\u0439, \u041d\u041e \u043d\u0435\u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u043e \u043c\u043e\u044f \u043d\u0435\u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0441 k8s: \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043a\u0443\u0431\u0435\u0440\u043e\u043c \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043f\u043e\u0434\u044b, \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0445 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c deployment \u043f\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0443 \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u0432\u043e\u0434\u0438\u043b\u043e\u0441\u044c. \u0423\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043d\u043e \u043a\u0430\u043a \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c \u2013 \u043e\u043d\u0430 \u0434\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0438 v1.13 \u0430 \u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0434\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u0432\u0435\u0440\u0441\u0438\u044f \u0431\u044b\u043b\u0430 1.12.3. \u0418 \u0442\u0443\u0442 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c\u2026 <\/p>\n<p>   3-\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0443 \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0440\u0435\u0448\u0438\u043b \u0438 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e. \u0421\u043b\u044b\u0448\u0430\u043b, \u0447\u0442\u043e \u0432 \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u0441\u0435\u0439\u0447\u0430\u0441 \u044d\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u0447\u0443\u0442\u044c \u043b\u0438 \u043d\u0435 \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439, \u043d\u043e \u0434\u043b\u044f \u0442\u0435\u0445 \u0443 \u043a\u043e\u0433\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0432\u0438\u043d\u0442\u0430\u0436 \u043a\u0430\u043a \u0438 \u0443 \u043c\u0435\u043d\u044f \u0434\u0435\u043b\u044e\u0441\u044c \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c.<\/p>\n<p>\u0414\u0430\u043d\u043e k8s \u043a\u043b\u0430\u0441\u0442\u0435\u0440:<\/p>\n<ul>\n<li>\n<p>3 <strong>master<\/strong> \u043d\u043e\u0434\u044b<\/p>\n<\/li>\n<li>\n<p>3 <strong>etcd<\/strong> \u043d\u043e\u0434\u044b<\/p>\n<\/li>\n<li>\n<p>5 <strong>worker<\/strong> \u043d\u043e\u0434<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl get nodes  NAME                    STATUS   ROLES    AGE    VERSION product1-mvp-k8s-0001   Ready    master   464d   v1.12.3 product1-mvp-k8s-0002   Ready    master   464d   v1.12.3 product1-mvp-k8s-0003   Ready    master   464d   v1.12.3 product1-mvp-k8s-0007   Ready    node     464d   v1.12.3 product1-mvp-k8s-0008   Ready    node     464d   v1.12.3 product1-mvp-k8s-0009   Ready    node     464d   v1.12.3 product1-mvp-k8s-0010   Ready    node     464d   v1.12.3 product1-mvp-k8s-0011   Ready    node     464d   v1.12.3 <\/code><\/pre>\n<p>\u0421\u0440\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430<\/p>\n<pre><code class=\"bash\">echo | openssl s_client -showcerts -connect product1-mvp-k8s-0001:6443 -servername api 2&gt;\/dev\/null | openssl x509 -noout -enddate  notAfter=Mar  4 00:39:56 2021 GMT <\/code><\/pre>\n<p>\u041f\u043e\u0435\u0445\u0430\u043b\u0438:<\/p>\n<ul>\n<li>\n<p>\u043d\u0430 \u0432\u0441\u0435\u0445 <strong>MASTER<\/strong> \u043d\u043e\u0434\u0430\u0445 \u0431\u044d\u043a\u0430\u043f\u0438\u0440\u0443\u0435\u043c \/etc\/kubernetes<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">sudo mkdir backup; sudo cp -R \/etc\/kubernetes backup\/ ; sudo tar -cvzf backup\/pki_backup_`hostname`-`date +%Y%m%d`.tar.gz backup\/kubernetes\/<\/code><\/pre>\n<ul>\n<li>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \/etc\/Kubernetes \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">ls -l  total 80 -rw------- 1 root root 5440 Mar  3 13:21 admin.conf drwxr-xr-x 2 root root 4096 Aug 17  2020 audit-policy -rw-r--r-- 1 root root  368 Mar  4  2020 calico-config.yml -rw-r--r-- 1 root root  270 Mar  4  2020 calico-crb.yml -rw-r--r-- 1 root root  341 Mar  4  2020 calico-cr.yml -rw-r--r-- 1 root root  147 Mar  4  2020 calico-node-sa.yml -rw-r--r-- 1 root root 6363 Mar  4  2020 calico-node.yml -rw------- 1 root root 5472 Mar  3 13:21 controller-manager.conf -rw-r--r-- 1 root root 3041 Aug 14  2020 kubeadm-config.v1alpha3.yaml -rw------- 1 root root 5548 Mar  3 13:21 kubelet.conf -rw-r--r-- 1 root root 1751 Mar  4  2020 kubelet.env drwxr-xr-x 2 kube root 4096 Aug 14  2020 manifests lrwxrwxrwx 1 root root   28 Mar  4  2020 node-kubeconfig.yaml -&gt; \/etc\/kubernetes\/kubelet.conf -rw------- 1 root root 5420 Mar  3 13:21 scheduler.conf drwxr-xr-x 3 kube root 4096 Mar  3 10:20 ssl <\/code><\/pre>\n<p>\u0443 \u043c\u0435\u043d\u044f \u0432\u0441\u0435 \u043a\u043b\u044e\u0447\u0438 \u0432 <strong>ssl<\/strong>, \u0430 \u043d\u0435 \u0432 pki , \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043d\u0443\u0436\u0435\u043d <strong>kubeadm<\/strong> , \u0442\u043e \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f, \u0432 \u0441\u0432\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f \u0441\u0434\u0435\u043b\u0430\u044e \u043d\u0430 \u043d\u0435\u0433\u043e symlink<\/p>\n<pre><code class=\"bash\">ln -s \/etc\/kubernetes\/ssl \/etc\/kubernetes\/pki<\/code><\/pre>\n<ul>\n<li>\n<p>\u043e\u0442\u044b\u0441\u043a\u0438\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0431\u044b\u043b <\/p>\n<p><strong>kubeadm-config.v1alpha3.yaml<\/strong><\/p>\n<\/li>\n<\/ul>\n<p>\u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0432\u043e\u0433\u043e \u0432\u0434\u0440\u0443\u0433 \u043d\u0435\u0442 \u0442\u043e \u0435\u0433\u043e \u0432\u043e\u0437<strong>\u043c\u043e\u0436\u043d\u043e \u0441<\/strong>\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/p>\n<pre><code class=\"bash\">kubectl get cm kubeadm-config -n kube-system -o yaml &gt; \/etc\/kubernetes\/kubeadm-config.yaml<\/code><\/pre>\n<ul>\n<li>\n<p>\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubeadm alpha phase certs apiserver  --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml  [certificates] Using the existing apiserver certificate and key.  kubeadm alpha phase certs apiserver-kubelet-client  I0303 13:12:24.543254   40613 version.go:236] remote version is much newer: v1.20.4; falling back to: stable-1.12 [certificates] Using the existing apiserver-kubelet-client certificate and key.  kubeadm alpha phase certs front-proxy-client  I0303 13:12:35.660672   40989 version.go:236] remote version is much newer: v1.20.4; falling back to: stable-1.12 [certificates] Using the existing front-proxy-client certificate and key.  kubeadm alpha phase certs  etcd-server --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml  [certificates] Generated etcd\/server certificate and key. [certificates] etcd\/server serving cert is signed for DNS names [prod-uct1-mvp-k8s-0001 localhost] and IPs [127.0.0.1 ::1]  kubeadm alpha phase certs  etcd-server --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml  [certificates] Using the existing etcd\/server certificate and key.  kubeadm alpha phase certs  etcd-healthcheck-client --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml  [certificates] Generated etcd\/healthcheck-client certificate and key.  kubeadm alpha phase certs  etcd-peer --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml  [certificates] Generated etcd\/peer certificate and key. [certificates] etcd\/peer serving cert is signed for DNS names [product1-mvp-k8s-0001 localhost] and IPs [192.168.4.201 127.0.0.1 ::1] <\/code><\/pre>\n<ul>\n<li>\n<p>&nbsp;&nbsp;\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u043d\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">find \/etc\/kubernetes\/pki\/ -name '*.crt' -exec openssl x509 -text -noout -in {} \\; | grep -A2 Validity          Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  2 10:29:44 2030 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  3 10:07:29 2022 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  3 10:07:52 2022 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  3 10:06:48 2022 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  2 10:29:44 2030 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  2 19:39:56 2022 GMT --         Validity             Not Before: Mar  4 10:29:43 2020 GMT             Not After : Mar  2 10:29:43 2030 GMT --         Validity             Not Before: Mar  4 10:29:43 2020 GMT             Not After : Mar  2 19:40:13 2022 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  2 19:36:38 2022 GMT <\/code><\/pre>\n<ul>\n<li>\n<p>\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0431\u0443\u0434\u0443 \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u044b \u0437\u0430\u043d\u043e\u0432\u043e \u0444\u0430\u0439\u043b\u044b <strong>admin.conf, controller-manager.conf, kubelet.conf, scheduler.conf <\/strong>\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0432 \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0443 tmp&nbsp;\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u043c \u043d\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubeadm alpha phase kubeconfig all  --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml   [kubeconfig] Using existing up-to-date KubeConfig file: \"\/etc\/kubernetes\/admin.conf\" [kubeconfig] Using existing up-to-date KubeConfig file: \"\/etc\/kubernetes\/kubelet.conf\" [kubeconfig] Using existing up-to-date KubeConfig file: \"\/etc\/kubernetes\/controller-manager.conf\" [kubeconfig] Using existing up-to-date KubeConfig file: \"\/etc\/kubernetes\/scheduler.conf\" <\/code><\/pre>\n<ul>\n<li>\n<p>\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0432\u0441\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0438 kubelet \u043c\u0430\u0441\u0442\u0435\u0440 \u043d\u043e\u0434\u044b \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441 &nbsp;&nbsp;<strong>kubelet<\/strong> \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a <\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">sudo systemctl stop kubelet; sudo docker stop $(docker ps -aq); sudo docker rm $(docker ps -aq); sudo systemctl start kubelet  systemctl status kubelet -l  \u25cf kubelet.service - Kubernetes Kubelet Server    Loaded: loaded (\/etc\/systemd\/system\/kubelet.service; enabled; vendor preset: disabled)    Active: active (running) since Wed 2021-03-03 14:00:22 MSK; 10s ago      Docs: https:\/\/github.com\/GoogleCloudPlatform\/kubernetes   Process: 52998 ExecStartPre=\/bin\/mkdir -p \/var\/lib\/kubelet\/volume-plugins (code=exited, status=0\/SUCCESS)  Main PID: 53001 (kubelet)    Memory: 51.2M    CGroup: \/system.slice\/kubelet.service <\/code><\/pre>\n<ul>\n<li>\n<p>\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e <strong>master<\/strong> \u043d\u043e\u0434\u0430 \u0432\u0435\u0440\u043d\u0443\u043b\u0430\u0441\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0438 \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f namespace<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl get nodes  kubectl get ns  NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STATUS&nbsp;&nbsp; AGE default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active&nbsp;&nbsp; 464d product1-mvp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;Active&nbsp;&nbsp; 318d infra-logging&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active&nbsp;&nbsp; 315d infra-nginx-ingress&nbsp;&nbsp; Active&nbsp;&nbsp; 386d kube-public&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active&nbsp;&nbsp; 464d kube-system&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active&nbsp;&nbsp; 464d pg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active&nbsp;&nbsp; 318d<\/code><\/pre>\n<ul>\n<li>\n<p>\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0441\u044f<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">notAfter=Mar&nbsp; 3 07:40:43 2022 GMT<\/code><\/pre>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u043d\u0430 master \u043d\u043e\u0434\u0435 1 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0442\u0443\u0436\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u043d\u0430 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f 2-\u0445.<\/p>\n<hr>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c <strong>worker<\/strong> \u043d\u043e\u0434\u044b:<\/p>\n<ul>\n<li>\n<p>\u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u043c kubelet.conf, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u0438\u043b\u0441\u044f \u0444\u0430\u0439\u043b bootstrap-kubelet.conf<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">cd \/etc\/kubernetes\/  mv kubelet.conf kubelet.conf_old<\/code><\/pre>\n<ul>\n<li>\n<p>\u0432\u043d\u043e\u0441\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0444\u0430\u0439\u043b <strong>bootstrap-kubelet.conf <\/strong>\u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0435\u0442, \u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0443 \u0432\u043d\u0438\u0437\u0443<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">apiVersion: v1 clusters: - cluster: &nbsp;&nbsp;&nbsp; certificate-authority-data:&nbsp; | LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01ETX &nbsp;&nbsp;&nbsp; server: https:\/\/192.168.4.201:6443 &nbsp; name: product1 contexts: - context: &nbsp;&nbsp;&nbsp; cluster: product1 &nbsp;&nbsp;&nbsp; user: tls-bootstrap-token-user &nbsp; name: tls-bootstrap-token-user@product1 current-context: tls-bootstrap-token-user@product1 kind: Config preferences: {} users: - name: tls-bootstrap-token-user &nbsp; user: &nbsp;&nbsp;&nbsp; token: fgz9qz.lujw0bwsdfhdsfjhgds<\/code><\/pre>\n<p>&nbsp;\u0433\u0434\u0435 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c <\/p>\n<p>&#8212; certificate-authority-data \u2013 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0446\u0435\u043d\u0442\u0440\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 PKI CA \u043c\u0430\u0441\u0442\u0435\u0440\u0430, \u0431\u0435\u0440\u0435\u043c \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \/etc\/kubernetes\/kubelet.conf \u043d\u0430 master \u043d\u043e\u0434\u0435<\/p>\n<p>&#8212; server: https:\/\/192.168.4.201:6443 &#8212; ip api \u0441\u0435\u0440\u0432\u0435\u0440\u0430 master \u043d\u043e\u0434\u044b, \u0438\u043b\u0438 \u0436\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 balance ip<\/p>\n<p>token: fgz9qz.lujw0bwsdfhdsfjhgds &#8212; \u0442\u043e\u043a\u0435\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0438\u043c \u043d\u0430 master \u043d\u043e\u0434\u0435<\/p>\n<p>&nbsp;<code>kubeadm token create<\/code>&nbsp;<\/p>\n<ul>\n<li>\n<p>\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c &nbsp;kubelet \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441 master &nbsp;\u043d\u043e\u0434\u044b, work \u043d\u043e\u0434\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 ,\u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 &nbsp;<strong>ready<\/strong> \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">systemctl restart kubelet  systemctl status kubelet -l  \u25cf kubelet.service - Kubernetes Kubelet Server &nbsp;&nbsp; Loaded: loaded (\/etc\/systemd\/system\/kubelet.service; enabled; vendor preset: disabled) &nbsp;&nbsp; Active: active (running) since Wed 2021-03-03 14:06:33 MSK; 11s ago &nbsp;&nbsp;&nbsp;&nbsp; Docs: https:\/\/github.com\/GoogleCloudPlatform\/kubernetes &nbsp; Process: 54615 ExecStartPre=\/bin\/mkdir -p \/var\/lib\/kubelet\/volume-plugins (code=exited, status=0\/SUCCESS) &nbsp;Main PID: 54621 (kubelet) &nbsp;&nbsp; Memory: 52.1M &nbsp;&nbsp; CGroup: \/system.slice\/kubelet.service<\/code><\/pre>\n<ul>\n<li>\n<p>\u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d \u2013 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0432 \u043f\u0430\u043f\u043a\u0435<\/p>\n<p>&nbsp;<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">ls -las \/var\/lib\/kubelet\/pki\/  total 24 4 -rw-------. 1 root root 1135 Mar&nbsp; 3 14:06 kubelet-client-2021-03-03-14-06-34.pem 0 lrwxrwxrwx. 1 root root&nbsp;&nbsp; 59 Mar&nbsp; 3 14:06 kubelet-client-current.pem -&gt; \/var\/lib\/kubelet\/pki\/kubelet-client-2021-03-03-14-06-34.pem 4 -rw-r--r--. 1 root root 2267 Mar&nbsp; 2 10:40 kubelet.crt 4 -rw-------. 1 root root 1679 Mar&nbsp; 2 10:40 kubelet.key<\/code><\/pre>\n<p>\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u043f\u043e\u0434\u043e\u0431\u043d\u0443\u044e \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u043d\u0430 \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f <strong>work<\/strong> \u043d\u043e\u0434\u0430\u0445.<\/p>\n<p>\u0412\u0441\u0435 \u043c\u044b \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u043d\u0430 k8s \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 v1.12.3<\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/545372\/\"> https:\/\/habr.com\/ru\/post\/545372\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text_v2\" id=\"post-content-body\">\n<p>   \u041d\u0435\u0434\u0435\u043b\u044e \u043d\u0430\u0437\u0430\u0434 &nbsp;\u043c\u043d\u0435 \u043f\u043e\u0434\u043a\u0438\u043d\u0443\u043b\u0438 \u0437\u0430\u0434\u0430\u0447\u0443 &#8212; \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b k8s \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0437\u0430\u0434\u0430\u0447\u0430 \u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u043e\u0439, \u041d\u041e \u043d\u0435\u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u043e \u043c\u043e\u044f \u043d\u0435\u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0441 k8s: \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043a\u0443\u0431\u0435\u0440\u043e\u043c \u043a\u0430\u043a \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043f\u043e\u0434\u044b, \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0445 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c deployment \u043f\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0443 \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u0432\u043e\u0434\u0438\u043b\u043e\u0441\u044c. \u0423\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u043d\u043e \u043a\u0430\u043a \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c \u2013 \u043e\u043d\u0430 \u0434\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0438 v1.13 \u0430 \u0443 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0434\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u0432\u0435\u0440\u0441\u0438\u044f \u0431\u044b\u043b\u0430 1.12.3. \u0418 \u0442\u0443\u0442 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c\u2026 <\/p>\n<p>   3-\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0443 \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0440\u0435\u0448\u0438\u043b \u0438 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e. \u0421\u043b\u044b\u0448\u0430\u043b, \u0447\u0442\u043e \u0432 \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u0441\u0435\u0439\u0447\u0430\u0441 \u044d\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u0447\u0443\u0442\u044c \u043b\u0438 \u043d\u0435 \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439, \u043d\u043e \u0434\u043b\u044f \u0442\u0435\u0445 \u0443 \u043a\u043e\u0433\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0432\u0438\u043d\u0442\u0430\u0436 \u043a\u0430\u043a \u0438 \u0443 \u043c\u0435\u043d\u044f \u0434\u0435\u043b\u044e\u0441\u044c \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c.<\/p>\n<p>\u0414\u0430\u043d\u043e k8s \u043a\u043b\u0430\u0441\u0442\u0435\u0440:<\/p>\n<ul>\n<li>\n<p>3 <strong>master<\/strong> \u043d\u043e\u0434\u044b<\/p>\n<\/li>\n<li>\n<p>3 <strong>etcd<\/strong> \u043d\u043e\u0434\u044b<\/p>\n<\/li>\n<li>\n<p>5 <strong>worker<\/strong> \u043d\u043e\u0434<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl get nodes  NAME                    STATUS   ROLES    AGE    VERSION product1-mvp-k8s-0001   Ready    master   464d   v1.12.3 product1-mvp-k8s-0002   Ready    master   464d   v1.12.3 product1-mvp-k8s-0003   Ready    master   464d   v1.12.3 product1-mvp-k8s-0007   Ready    node     464d   v1.12.3 product1-mvp-k8s-0008   Ready    node     464d   v1.12.3 product1-mvp-k8s-0009   Ready    node     464d   v1.12.3 product1-mvp-k8s-0010   Ready    node     464d   v1.12.3 product1-mvp-k8s-0011   Ready    node     464d   v1.12.3 <\/code><\/pre>\n<p>\u0421\u0440\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430<\/p>\n<pre><code class=\"bash\">echo | openssl s_client -showcerts -connect product1-mvp-k8s-0001:6443 -servername api 2&gt;\/dev\/null | openssl x509 -noout -enddate  notAfter=Mar  4 00:39:56 2021 GMT <\/code><\/pre>\n<p>\u041f\u043e\u0435\u0445\u0430\u043b\u0438:<\/p>\n<ul>\n<li>\n<p>\u043d\u0430 \u0432\u0441\u0435\u0445 <strong>MASTER<\/strong> \u043d\u043e\u0434\u0430\u0445 \u0431\u044d\u043a\u0430\u043f\u0438\u0440\u0443\u0435\u043c \/etc\/kubernetes<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">sudo mkdir backup; sudo cp -R \/etc\/kubernetes backup\/ ; sudo tar -cvzf backup\/pki_backup_`hostname`-`date +%Y%m%d`.tar.gz backup\/kubernetes\/<\/code><\/pre>\n<ul>\n<li>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \/etc\/Kubernetes \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">ls -l  total 80 -rw------- 1 root root 5440 Mar  3 13:21 admin.conf drwxr-xr-x 2 root root 4096 Aug 17  2020 audit-policy -rw-r--r-- 1 root root  368 Mar  4  2020 calico-config.yml -rw-r--r-- 1 root root  270 Mar  4  2020 calico-crb.yml -rw-r--r-- 1 root root  341 Mar  4  2020 calico-cr.yml -rw-r--r-- 1 root root  147 Mar  4  2020 calico-node-sa.yml -rw-r--r-- 1 root root 6363 Mar  4  2020 calico-node.yml -rw------- 1 root root 5472 Mar  3 13:21 controller-manager.conf -rw-r--r-- 1 root root 3041 Aug 14  2020 kubeadm-config.v1alpha3.yaml -rw------- 1 root root 5548 Mar  3 13:21 kubelet.conf -rw-r--r-- 1 root root 1751 Mar  4  2020 kubelet.env drwxr-xr-x 2 kube root 4096 Aug 14  2020 manifests lrwxrwxrwx 1 root root   28 Mar  4  2020 node-kubeconfig.yaml -&gt; \/etc\/kubernetes\/kubelet.conf -rw------- 1 root root 5420 Mar  3 13:21 scheduler.conf drwxr-xr-x 3 kube root 4096 Mar  3 10:20 ssl <\/code><\/pre>\n<p>\u0443 \u043c\u0435\u043d\u044f \u0432\u0441\u0435 \u043a\u043b\u044e\u0447\u0438 \u0432 <strong>ssl<\/strong>, \u0430 \u043d\u0435 \u0432 pki , \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043d\u0443\u0436\u0435\u043d <strong>kubeadm<\/strong> , \u0442\u043e \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f, \u0432 \u0441\u0432\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f \u0441\u0434\u0435\u043b\u0430\u044e \u043d\u0430 \u043d\u0435\u0433\u043e symlink<\/p>\n<pre><code class=\"bash\">ln -s \/etc\/kubernetes\/ssl \/etc\/kubernetes\/pki<\/code><\/pre>\n<ul>\n<li>\n<p>\u043e\u0442\u044b\u0441\u043a\u0438\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0431\u044b\u043b <\/p>\n<p><strong>kubeadm-config.v1alpha3.yaml<\/strong><\/p>\n<\/li>\n<\/ul>\n<p>\u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0432\u043e\u0433\u043e \u0432\u0434\u0440\u0443\u0433 \u043d\u0435\u0442 \u0442\u043e \u0435\u0433\u043e \u0432\u043e\u0437<strong>\u043c\u043e\u0436\u043d\u043e \u0441<\/strong>\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/p>\n<pre><code class=\"bash\">kubectl get cm kubeadm-config -n kube-system -o yaml &gt; \/etc\/kubernetes\/kubeadm-config.yaml<\/code><\/pre>\n<ul>\n<li>\n<p>\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubeadm alpha phase certs apiserver  --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml  [certificates] Using the existing apiserver certificate and key.  kubeadm alpha phase certs apiserver-kubelet-client  I0303 13:12:24.543254   40613 version.go:236] remote version is much newer: v1.20.4; falling back to: stable-1.12 [certificates] Using the existing apiserver-kubelet-client certificate and key.  kubeadm alpha phase certs front-proxy-client  I0303 13:12:35.660672   40989 version.go:236] remote version is much newer: v1.20.4; falling back to: stable-1.12 [certificates] Using the existing front-proxy-client certificate and key.  kubeadm alpha phase certs  etcd-server --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml  [certificates] Generated etcd\/server certificate and key. [certificates] etcd\/server serving cert is signed for DNS names [prod-uct1-mvp-k8s-0001 localhost] and IPs [127.0.0.1 ::1]  kubeadm alpha phase certs  etcd-server --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml  [certificates] Using the existing etcd\/server certificate and key.  kubeadm alpha phase certs  etcd-healthcheck-client --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml  [certificates] Generated etcd\/healthcheck-client certificate and key.  kubeadm alpha phase certs  etcd-peer --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml  [certificates] Generated etcd\/peer certificate and key. [certificates] etcd\/peer serving cert is signed for DNS names [product1-mvp-k8s-0001 localhost] and IPs [192.168.4.201 127.0.0.1 ::1] <\/code><\/pre>\n<ul>\n<li>\n<p>&nbsp;&nbsp;\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b \u043d\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">find \/etc\/kubernetes\/pki\/ -name '*.crt' -exec openssl x509 -text -noout -in {} \\; | grep -A2 Validity          Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  2 10:29:44 2030 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  3 10:07:29 2022 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  3 10:07:52 2022 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  3 10:06:48 2022 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  2 10:29:44 2030 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  2 19:39:56 2022 GMT --         Validity             Not Before: Mar  4 10:29:43 2020 GMT             Not After : Mar  2 10:29:43 2030 GMT --         Validity             Not Before: Mar  4 10:29:43 2020 GMT             Not After : Mar  2 19:40:13 2022 GMT --         Validity             Not Before: Mar  4 10:29:44 2020 GMT             Not After : Mar  2 19:36:38 2022 GMT <\/code><\/pre>\n<ul>\n<li>\n<p>\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0431\u0443\u0434\u0443 \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u044b \u0437\u0430\u043d\u043e\u0432\u043e \u0444\u0430\u0439\u043b\u044b <strong>admin.conf, controller-manager.conf, kubelet.conf, scheduler.conf <\/strong>\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0432 \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0443 tmp&nbsp;\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u043c \u043d\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubeadm alpha phase kubeconfig all  --config \/etc\/kubernetes\/kubeadm-config.v1alpha3.yaml   [kubeconfig] Using existing up-to-date KubeConfig file: \"\/etc\/kubernetes\/admin.conf\" [kubeconfig] Using existing up-to-date KubeConfig file: \"\/etc\/kubernetes\/kubelet.conf\" [kubeconfig] Using existing up-to-date KubeConfig file: \"\/etc\/kubernetes\/controller-manager.conf\" [kubeconfig] Using existing up-to-date KubeConfig file: \"\/etc\/kubernetes\/scheduler.conf\" <\/code><\/pre>\n<ul>\n<li>\n<p>\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0432\u0441\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0438 kubelet \u043c\u0430\u0441\u0442\u0435\u0440 \u043d\u043e\u0434\u044b \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441 &nbsp;&nbsp;<strong>kubelet<\/strong> \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a <\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">sudo systemctl stop kubelet; sudo docker stop $(docker ps -aq); sudo docker rm $(docker ps -aq); sudo systemctl start kubelet  systemctl status kubelet -l  \u25cf kubelet.service - Kubernetes Kubelet Server    Loaded: loaded (\/etc\/systemd\/system\/kubelet.service; enabled; vendor preset: disabled)    Active: active (running) since Wed 2021-03-03 14:00:22 MSK; 10s ago      Docs: https:\/\/github.com\/GoogleCloudPlatform\/kubernetes   Process: 52998 ExecStartPre=\/bin\/mkdir -p \/var\/lib\/kubelet\/volume-plugins (code=exited, status=0\/SUCCESS)  Main PID: 53001 (kubelet)    Memory: 51.2M    CGroup: \/system.slice\/kubelet.service <\/code><\/pre>\n<ul>\n<li>\n<p>\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e <strong>master<\/strong> \u043d\u043e\u0434\u0430 \u0432\u0435\u0440\u043d\u0443\u043b\u0430\u0441\u044c \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0438 \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f namespace<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">kubectl get nodes  kubectl get ns  NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STATUS&nbsp;&nbsp; AGE default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active&nbsp;&nbsp; 464d product1-mvp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;Active&nbsp;&nbsp; 318d infra-logging&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active&nbsp;&nbsp; 315d infra-nginx-ingress&nbsp;&nbsp; Active&nbsp;&nbsp; 386d kube-public&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active&nbsp;&nbsp; 464d kube-system&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active&nbsp;&nbsp; 464d pg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Active&nbsp;&nbsp; 318d<\/code><\/pre>\n<ul>\n<li>\n<p>\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0441\u044f<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">notAfter=Mar&nbsp; 3 07:40:43 2022 GMT<\/code><\/pre>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u043d\u0430 master \u043d\u043e\u0434\u0435 1 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0442\u0443\u0436\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u043d\u0430 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f 2-\u0445.<\/p>\n<hr>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c <strong>worker<\/strong> \u043d\u043e\u0434\u044b:<\/p>\n<ul>\n<li>\n<p>\u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u043c kubelet.conf, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u0438\u043b\u0441\u044f \u0444\u0430\u0439\u043b bootstrap-kubelet.conf<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">cd \/etc\/kubernetes\/  mv kubelet.conf kubelet.conf_old<\/code><\/pre>\n<ul>\n<li>\n<p>\u0432\u043d\u043e\u0441\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0444\u0430\u0439\u043b <strong>bootstrap-kubelet.conf <\/strong>\u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0435\u0442, \u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0443 \u0432\u043d\u0438\u0437\u0443<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">apiVersion: v1 clusters: - cluster: &nbsp;&nbsp;&nbsp; certificate-authority-data:&nbsp; | LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01ETX &nbsp;&nbsp;&nbsp; server: https:\/\/192.168.4.201:6443 &nbsp; name: product1 contexts: - context: &nbsp;&nbsp;&nbsp; cluster: product1 &nbsp;&nbsp;&nbsp; user: tls-bootstrap-token-user &nbsp; name: tls-bootstrap-token-user@product1 current-context: tls-bootstrap-token-user@product1 kind: Config preferences: {} users: - name: tls-bootstrap-token-user &nbsp; user: &nbsp;&nbsp;&nbsp; token: fgz9qz.lujw0bwsdfhdsfjhgds<\/code><\/pre>\n<p>&nbsp;\u0433\u0434\u0435 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c <\/p>\n<p>&#8212; certificate-authority-data \u2013 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0446\u0435\u043d\u0442\u0440\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 PKI CA \u043c\u0430\u0441\u0442\u0435\u0440\u0430, \u0431\u0435\u0440\u0435\u043c \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \/etc\/kubernetes\/kubelet.conf \u043d\u0430 master \u043d\u043e\u0434\u0435<\/p>\n<p>&#8212; server: https:\/\/192.168.4.201:6443 &#8212; ip api \u0441\u0435\u0440\u0432\u0435\u0440\u0430 master \u043d\u043e\u0434\u044b, \u0438\u043b\u0438 \u0436\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 balance ip<\/p>\n<p>token: fgz9qz.lujw0bwsdfhdsfjhgds &#8212; \u0442\u043e\u043a\u0435\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0438\u043c \u043d\u0430 master \u043d\u043e\u0434\u0435<\/p>\n<p>&nbsp;<code>kubeadm token create<\/code>&nbsp;<\/p>\n<ul>\n<li>\n<p>\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c &nbsp;kubelet \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441 master &nbsp;\u043d\u043e\u0434\u044b, work \u043d\u043e\u0434\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 ,\u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 &nbsp;<strong>ready<\/strong> \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">systemctl restart kubelet  systemctl status kubelet -l  \u25cf kubelet.service - Kubernetes Kubelet Server &nbsp;&nbsp; Loaded: loaded (\/etc\/systemd\/system\/kubelet.service; enabled; vendor preset: disabled) &nbsp;&nbsp; Active: active (running) since Wed 2021-03-03 14:06:33 MSK; 11s ago &nbsp;&nbsp;&nbsp;&nbsp; Docs: https:\/\/github.com\/GoogleCloudPlatform\/kubernetes &nbsp; Process: 54615 ExecStartPre=\/bin\/mkdir -p \/var\/lib\/kubelet\/volume-plugins (code=exited, status=0\/SUCCESS) &nbsp;Main PID: 54621 (kubelet) &nbsp;&nbsp; Memory: 52.1M &nbsp;&nbsp; CGroup: \/system.slice\/kubelet.service<\/code><\/pre>\n<ul>\n<li>\n<p>\u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d \u2013 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0432 \u043f\u0430\u043f\u043a\u0435<\/p>\n<p>&nbsp;<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"bash\">ls -las \/var\/lib\/kubelet\/pki\/  total 24 4 -rw-------. 1 root root 1135 Mar&nbsp; 3 14:06 kubelet-client-2021-03-03-14-06-34.pem 0 lrwxrwxrwx. 1 root root&nbsp;&nbsp; 59 Mar&nbsp; 3 14:06 kubelet-client-current.pem -&gt;<\/code><\/pre>\n<\/hr>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-318985","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/318985","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=318985"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/318985\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=318985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=318985"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=318985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}