自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么Kubernetes從節(jié)點(diǎn)會(huì)Join失敗

云計(jì)算
有段時(shí)間沒(méi)有鼓搗Kubernetes了,今天重置Kubernetes集群后,slave節(jié)點(diǎn)不能加入master節(jié)點(diǎn)了,我把問(wèn)題和解決方案分享給大家。

 [[398367]]

本文轉(zhuǎn)載自微信公眾號(hào)「程序員jinjunzhu」,作者jinjunzhu 。轉(zhuǎn)載本文請(qǐng)聯(lián)系程序員jinjunzhu公眾號(hào)。

有段時(shí)間沒(méi)有鼓搗Kubernetes了,今天重置Kubernetes集群后,slave節(jié)點(diǎn)不能加入master節(jié)點(diǎn)了,我把問(wèn)題和解決方案分享給大家。

我本地的Kubernetes集群包括一個(gè)主節(jié)點(diǎn)和一個(gè)從節(jié)點(diǎn),如下圖:

問(wèn)題

主節(jié)點(diǎn)啟動(dòng)后,從節(jié)點(diǎn)加入,命令如下:

  1. kubeadm join 192.168.59.149:6443 --token nf2hbm.h1d67djxey0jv90h --discovery-token-ca-cert-hash sha256:12e71102d6f44c85c1717079f26c36a706cb11894c36af6d055fa39036e805ae 

等了一段時(shí)間后,報(bào)了下面的錯(cuò)誤:

  1. error execution phase preflight: couldn't validate the identity of the API Server: abort connecting to API servers after timeout of 5m0s 

日志不夠完整,在命令后面加 --v=5,重新執(zhí)行來(lái)查看詳細(xì)日志,發(fā)現(xiàn)下面這個(gè)失敗日志反復(fù)打?。?/p>

  1. Failed to request cluster info: [Get https://192.168.59.149:6443/api/v1/namespaces/kube-public/configmaps/cluster-info?timeout=10s: x509: certificate has expired or is not yet valid。 

問(wèn)題排查

token過(guò)期

首先想到的是token過(guò)期,查看token,命令和輸出如下:

  1. [root@master ~]# kubeadm token list 
  2. failed to list bootstrap tokens: Get https://192.168.59.149:6443/api/v1/namespaces/kube-system/secrets?fieldSelector=type%3Dbootstrap.kubernetes.io%2Ftoken: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes"

這個(gè)輸出有點(diǎn)詭異,網(wǎng)上說(shuō)是內(nèi)存不夠了,我查看了內(nèi)存,并不緊張:

  1. [root@master ~]# free -h 
  2.               total        used        free      shared  buff/cache   available 
  3. Mem:           3.7G        1.1G        132M         30M        2.4G        2.1G 
  4. Swap:            0B          0B          0B 

仔細(xì)查看了輸出,有個(gè)x509,想起了以前的解決方法,執(zhí)行下面三個(gè)命令:

  1. mkdir -p $HOME/.kube 
  2. sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config 
  3. sudo chown $(id -u):$(id -g) $HOME/.kube/config 

再次查看token,可以了,輸出如下:

  1. kubeadm token list 
  2. TOKEN                     TTL       EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS 
  3. o898hy.0y2s6cqsidpwmbkh   23h       2021-05-10T23:26:55+08:00   authentication,signing   The default bootstrap token generated by 'kubeadm init'.   system:bootstrappers:kubeadm:default-node-token 

重新生成token和秘鑰,命令和輸出如下:

  1. [root@master ~]# kubeadm token create 
  2. nf2hbm.h1d67djxey0jv90h 
  3. [root@master ~]# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //' 
  4. 12e71102d6f44c85c1717079f26c36a706cb11894c36af6d055fa39036e805ae 

生成后,在從節(jié)點(diǎn)上用新的token和秘鑰繼續(xù)執(zhí)行加入命令,問(wèn)題依舊。

時(shí)間問(wèn)題

Kubernetes的token有效期是24小時(shí),但是秘鑰是新生成的,不可能過(guò)期。

那是不是系統(tǒng)時(shí)間有問(wèn)題?查看了一下系統(tǒng)時(shí)間,果然找到了貓膩。系統(tǒng)時(shí)間如下:

主節(jié)點(diǎn)系統(tǒng)時(shí)間:

  1. [root@master ~]# date 
  2. 2021年 05月 10日 星期一 07:22:42 CST 

2021年 05月 10日 星期一 07:22:42 CST

從節(jié)點(diǎn)系統(tǒng)時(shí)間:

  1. [root@worker1 ~]# date 
  2. Sun May  9 11:22:28 EDT 2021 

主節(jié)點(diǎn)的時(shí)間晚于從節(jié)點(diǎn),這就是問(wèn)題所在。

解決問(wèn)題

在主節(jié)點(diǎn)和從節(jié)點(diǎn)執(zhí)行如下命令:

  1. [root@master ~]# ntpdate ntp1.aliyun.com 
  2.  9 May 23:23:00 ntpdate[39100]: step time server 120.25.115.20 offset -28801.403856 sec 
  3.  
  4. [root@worker1 ~]# ntpdate ntp1.aliyun.com 
  5.  9 May 11:23:18 ntpdate[22420]: adjust time server 120.25.115.20 offset -0.001241 sec 

這下時(shí)間一致了。

重新生成token和秘鑰,問(wèn)題解決。

 

責(zé)任編輯:武曉燕 來(lái)源: 程序員jinjunzhu
相關(guān)推薦

2012-05-02 10:08:51

桌面Linux微軟

2023-03-22 09:10:18

IT文檔語(yǔ)言

2022-05-18 08:25:59

MySQLutf8字符集數(shù)據(jù)庫(kù)

2023-05-06 11:05:12

2011-07-01 09:13:51

軟件測(cè)試項(xiàng)目

2021-08-23 08:19:48

辭職Google工程師

2021-03-08 11:11:00

機(jī)器學(xué)習(xí)人工智能AI

2020-02-17 09:14:16

云計(jì)算云遷移公共云

2013-03-06 16:56:47

2018-05-09 09:55:36

數(shù)據(jù)分析

2018-04-10 13:40:14

Kubernetes容器服務(wù)器

2012-06-17 13:14:29

創(chuàng)業(yè)創(chuàng)業(yè)公司信息圖

2024-06-07 11:14:24

2020-02-24 15:48:31

手機(jī)安卓Palm

2020-06-19 14:55:11

Kubernetes容器技術(shù)

2017-08-08 16:38:50

IT敏捷devops

2023-10-30 07:24:18

IT項(xiàng)目DevOps

2018-11-03 16:49:22

大數(shù)據(jù)互了網(wǎng)人工智能

2020-05-21 11:23:08

微軟LinuxWindows

2018-03-13 09:34:36

Kubernetes容器系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)