摘要:如何通過原理進行集群管控就是本文要解決的問題。只是需要在集群內(nèi)部部署一個持久的針對該能夠提供服務(wù),其次該內(nèi)部應(yīng)該自帶工具。需要查出具體的外網(wǎng)服務(wù)。配置中的配置和普通的遠程主機配置基本一至,不再贅述了。
提出一個問題往往比解決一個更重要。-- 愛因斯坦1. 跳轉(zhuǎn)原理
Jumpserver是個好東西,特別是對于線上設(shè)備的管控,基本跳轉(zhuǎn)原理如下圖所示。詳細的系統(tǒng)設(shè)計,可以參考其文檔
http ssh [user] <---------> [jumpserver] <----------> [remote machine]
然而,隨著kubernetes的普及,越來越多的線上服務(wù)采用了kubernetes集群部署。如何通過Jumpserver原理進行kubernetes集群管控就是本文要解決的問題。
2. K8S跳轉(zhuǎn)kubernetes的管控原理,和管控遠程機器的原理基本類似。只是需要在集群內(nèi)部部署一個持久的POD, 針對 Jumpserver 該POD能夠提供 SSHD 服務(wù),其次該POD內(nèi)部應(yīng)該自帶 kubectl 工具。
2.1 簡單的網(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 #提供默認的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請?zhí)崆皽?zhǔn)備好對應(yīng)的ssh key。并將次IMAGE推送的自己的Docker Registry中。
2.3 在K8S集群中部署有了中間POD的IMAGE,部署具體的K8S服務(wù)很簡單。具體定義文件,參考以下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的方式對外提供服務(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中的配置和普通的遠程主機配置基本一至,不再贅述了。
更多文章可直接訪問個人BLOG:GitDiG.com
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/32997.html
摘要:四會議流程會議流程入場老廣發(fā)展史中場休息董帥下一代互聯(lián)網(wǎng)堡壘機中場休息王鵬容器化部署環(huán)節(jié)五報名方式掃描二維碼加入六活動聯(lián)系電話老廣電話追馬電話王庸電話張堯七致謝感謝榮新科技提供場地感謝各位同仁的幫組 JumpServer開源堡壘機帝都首次線下圓桌會議 一、舉辦方: ? JumpServer開發(fā)團隊 ? Vfast 榮新科技 二、時間地點 ? 地點:北京市海淀區(qū)大鐘寺...
摘要:五測試驗證在前面的配置步驟操作完畢后,便可以進行一些常規(guī)功能驗證,以此來加深對系統(tǒng)的了解,這些功能測試點有資產(chǎn)連接測試用戶授權(quán)終端在線會話命令記錄等功能。 一、背景 筆者最近想起此前公司使用過的堡壘機系統(tǒng),覺得用的很方便,而現(xiàn)在的公司并沒有搭建此類系統(tǒng),想著以后說不定可以用上;而且最近也有點時間,因此來了搭建堡壘機系統(tǒng)的興趣,在搭建過程中參考了比較多的文檔,其中最詳細的還是官方文檔,地...
摘要:五測試驗證在前面的配置步驟操作完畢后,便可以進行一些常規(guī)功能驗證,以此來加深對系統(tǒng)的了解,這些功能測試點有資產(chǎn)連接測試用戶授權(quán)終端在線會話命令記錄等功能。 一、背景 筆者最近想起此前公司使用過的堡壘機系統(tǒng),覺得用的很方便,而現(xiàn)在的公司并沒有搭建此類系統(tǒng),想著以后說不定可以用上;而且最近也有點時間,因此來了搭建堡壘機系統(tǒng)的興趣,在搭建過程中參考了比較多的文檔,其中最詳細的還是官方文檔,地...
閱讀 2785·2021-10-14 09:42
閱讀 3608·2021-10-11 10:59
閱讀 2941·2019-08-30 11:25
閱讀 3073·2019-08-29 16:25
閱讀 3223·2019-08-26 17:40
閱讀 1224·2019-08-26 13:30
閱讀 1143·2019-08-26 11:46
閱讀 1329·2019-08-23 15:22