Bootstrap Token 方式增加 Node

2021-10-14 16:37:57 字數 2651 閱讀 2461

tls bootstraping(證書的引導)

在kubernetes集群中,node上元件kubeletkube-proxy都需要與

kube-apiserver進行通訊,為了增加傳輸安全性,採用https方式。這就涉及到node元件需要具

備kube-apiserver用的證書頒發機構(ca)簽發客戶端證書,當規模較大時,這種客戶端證書

頒發需要大量工作,同樣也會增加集群擴充套件複雜度。

為了簡化流程,kubernetes引入了tls bootstraping機制自動頒發客戶端證書,所以強烈建議在node上使用這種方式。

1 確認啟用 bootstrap token

ps -ef | grep kube

找到集群的工作目錄下的cfg目錄,有kube-apiserver.conf 。開啟後加入

–enable-bootstrap-token-auth=true

或者先找到 /usr/lib/systemd/system/kube-apiserver.service

看有沒有environmentfile

[service]

environmentfile=/opt/kubernetes/cfg/kube-apiserver.conf,開啟後加入

2 使用 secret 儲存 bootstrap token

apiversion: v1

kind: secret

metadata:

#名字必須是 "bootstrap-token"的形式

name: bootstrap-token-07401b #最後是token的id

namespace: kube-system

type: bootstrap.kubernetes.io/token #型別必須是這個

stringdata:

#描述資訊隨便填

description: 「the default bootstrap token generated by 『kubeadm init』.」

#token id and secret. required.

token-id: 07401b

token-secret: f395accd246ae52d

#過期時間

申請流程:

初次申請: kubelet -> bootstrap.kubeconfig -> apiserver(申請證書) ->controller-manager頒發證書 ->證書已經頒發成功(管理員手動)

後續使用: kubelet -> kubeconfig (ip ,客戶端證書的資訊) ->apiserver

3、建立 rbac 角色繫結,允許 kubelet tls bootstrap 建立 csr 請求!

4、kubelet 配置 bootstrap kubeconfig 檔案配置檔案指定 kubeconfig 檔案,預設已經配置:

考試時找到kubelet的配置檔案,在systemd service檔案:/usr/lib/systemd/system/kubelet.service裡找到kubelet.conf的配置檔案

(主要這兩個)

啟動並設定開機啟動

5、在 master 節點頒發證書

如果操作順利的話,get node 可以看到新節點已經加入。

關於springCloud中服務方呼叫方的配置

1.我方是服務方,別人呼叫我方,由我方提供位址,不需要呼叫feign。那麼,位址資訊在resourceconfig裡面做配置,resourceconfig中配置的位址相當於是把請求位址暴露給對方,並在此位址請求時對他放行。configuration enableresourceserver publ...

Container DataItem幾種方式

在繫結資料時經常會用到這個句程式 databinder.eval container.dataitem,x 或者 databinder.eval container,dataitem.x 今天又學到一種,而且微軟也說這種方法的效率要比以上兩種高。datarowview container.datai...

Linux Carmer driver註冊方法

最近又開始看carmer的驅動了,在linux下通常實用video4linux框架來實現video capture camera capture等功能,先說一下裝置註冊部分,ov7670.c中,註冊方法如下 static struct v4l2 i2c driver data v4l2 i2c da...