摘要:如何通過(guò)原理進(jìn)行集群管控就是本文要解決的問(wèn)題。只是需要在集群內(nèi)部部署一個(gè)持久的針對(duì)該能夠提供服務(wù),其次該內(nèi)部應(yīng)該自帶工具。需要查出具體的外網(wǎng)服務(wù)。配置中的配置和普通的遠(yuǎn)程主機(jī)配置基本一至,不再贅述了。
提出一個(gè)問(wèn)題往往比解決一個(gè)更重要。-- 愛(ài)因斯坦1. 跳轉(zhuǎn)原理
Jumpserver是個(gè)好東西,特別是對(duì)于線上設(shè)備的管控,基本跳轉(zhuǎn)原理如下圖所示。詳細(xì)的系統(tǒng)設(shè)計(jì),可以參考其文檔
http ssh [user] <---------> [jumpserver] <----------> [remote machine]
然而,隨著kubernetes的普及,越來(lái)越多的線上服務(wù)采用了kubernetes集群部署。如何通過(guò)Jumpserver原理進(jìn)行kubernetes集群管控就是本文要解決的問(wèn)題。
2. K8S跳轉(zhuǎn)kubernetes的管控原理,和管控遠(yuǎn)程機(jī)器的原理基本類(lèi)似。只是需要在集群內(nèi)部部署一個(gè)持久的POD, 針對(duì) Jumpserver 該P(yáng)OD能夠提供 SSHD 服務(wù),其次該P(yáng)OD內(nèi)部應(yīng)該自帶 kubectl 工具。
2.1 簡(jiǎn)單的網(wǎng)絡(luò)架構(gòu)圖http ssh /------------------------------------------------ [user] <---------> [jumpserver] <----------> | [kubectl pod] <=> [ kubernetes resource ] | ------------------------------------------------/2.2 構(gòu)建POD的IMAGE
按以上原理,構(gòu)建中間跳轉(zhuǎn)POD的IMAGE。具體Dockerfile如下:
FROM sickp/centos-sshd:latest #安裝kubectl RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl RUN chmod +x ./kubectl RUN mv ./kubectl /usr/local/bin/kubectl #提供默認(rèn)的ssh key RUN usermod -p "!" root ADD id_rsa /root/.ssh/id_rsa ADD id_rsa.pub /root/.ssh/id_rsa.pub RUN cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
按此Dockerfile請(qǐng)?zhí)崆皽?zhǔn)備好對(duì)應(yīng)的ssh key。并將次IMAGE推送的自己的Docker Registry中。
2.3 在K8S集群中部署有了中間POD的IMAGE,部署具體的K8S服務(wù)很簡(jiǎn)單。具體定義文件,參考以下manifest定義:
apiVersion: apps/v1 kind: StatefulSet metadata: name: jump labels: app: jump spec: serviceName: jump replicas: 1 selector: matchLabels: app: jump template: metadata: labels: app: jump spec: imagePullSecrets: - name:serviceAccountName: jump containers: - name: jump image: ports: - name: ssh containerPort: 22 --- apiVersion: v1 kind: ServiceAccount metadata: name: jump imagePullSecrets: - name: --- apiVersion: v1 kind: Service metadata: name: jump spec: type: LoadBalancer selector: app: jump ports: - name: ssh port: 22 targetPort: ssh protocol: TCP
注意替換相應(yīng)的集群參數(shù)配置。從定義文件中可以看出,中間POD是以LoadBalancer的方式對(duì)外提供服務(wù)的。需要查出具體的外網(wǎng)服務(wù)IP。
$: kubectl get service | grep jump jump LoadBalancer [內(nèi)網(wǎng)IP] [外網(wǎng)IP] 22:30525/TCP 75d
該[外網(wǎng)IP]就是JumpServer連接的地址了。
2.4 配置JumpServerJumpServer中的配置和普通的遠(yuǎn)程主機(jī)配置基本一至,不再贅述了。
更多文章可直接訪問(wèn)個(gè)人BLOG:GitDiG.com
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/32997.html
摘要:四會(huì)議流程會(huì)議流程入場(chǎng)老廣發(fā)展史中場(chǎng)休息董帥下一代互聯(lián)網(wǎng)堡壘機(jī)中場(chǎng)休息王鵬容器化部署環(huán)節(jié)五報(bào)名方式掃描二維碼加入六活動(dòng)聯(lián)系電話老廣電話追馬電話王庸電話張堯七致謝感謝榮新科技提供場(chǎng)地感謝各位同仁的幫組 JumpServer開(kāi)源堡壘機(jī)帝都首次線下圓桌會(huì)議 一、舉辦方: ? JumpServer開(kāi)發(fā)團(tuán)隊(duì) ? Vfast 榮新科技 二、時(shí)間地點(diǎn) ? 地點(diǎn):北京市海淀區(qū)大鐘寺...
摘要:五測(cè)試驗(yàn)證在前面的配置步驟操作完畢后,便可以進(jìn)行一些常規(guī)功能驗(yàn)證,以此來(lái)加深對(duì)系統(tǒng)的了解,這些功能測(cè)試點(diǎn)有資產(chǎn)連接測(cè)試用戶(hù)授權(quán)終端在線會(huì)話命令記錄等功能。 一、背景 筆者最近想起此前公司使用過(guò)的堡壘機(jī)系統(tǒng),覺(jué)得用的很方便,而現(xiàn)在的公司并沒(méi)有搭建此類(lèi)系統(tǒng),想著以后說(shuō)不定可以用上;而且最近也有點(diǎn)時(shí)間,因此來(lái)了搭建堡壘機(jī)系統(tǒng)的興趣,在搭建過(guò)程中參考了比較多的文檔,其中最詳細(xì)的還是官方文檔,地...
摘要:五測(cè)試驗(yàn)證在前面的配置步驟操作完畢后,便可以進(jìn)行一些常規(guī)功能驗(yàn)證,以此來(lái)加深對(duì)系統(tǒng)的了解,這些功能測(cè)試點(diǎn)有資產(chǎn)連接測(cè)試用戶(hù)授權(quán)終端在線會(huì)話命令記錄等功能。 一、背景 筆者最近想起此前公司使用過(guò)的堡壘機(jī)系統(tǒng),覺(jué)得用的很方便,而現(xiàn)在的公司并沒(méi)有搭建此類(lèi)系統(tǒng),想著以后說(shuō)不定可以用上;而且最近也有點(diǎn)時(shí)間,因此來(lái)了搭建堡壘機(jī)系統(tǒng)的興趣,在搭建過(guò)程中參考了比較多的文檔,其中最詳細(xì)的還是官方文檔,地...
閱讀 2812·2021-10-14 09:42
閱讀 3619·2021-10-11 10:59
閱讀 2952·2019-08-30 11:25
閱讀 3088·2019-08-29 16:25
閱讀 3233·2019-08-26 17:40
閱讀 1241·2019-08-26 13:30
閱讀 1155·2019-08-26 11:46
閱讀 1337·2019-08-23 15:22