摘要:如何通过原理进行集群管控就是本文要解决的问题。只是需要在集群内部部署一个持久的针对该能够提供服务,其次该内部应该自带工具。需要查出具体的外网服务。配置中的配置和普通的远程主机配置基本一至,不再赘述了。
提出一个问题往往比解决一个更重要。-- 爱因斯坦1. 跳转原理
Jumpserver是个好东西,特别是对于线上设备的管控,基本跳转原理如下图所示。详细的系统设计,可以参考其文档
http ssh [user] <---------> [jumpserver] <----------> [remote machine]
然而,随着kubernetes的普及,越来越多的线上服务采用了kubernetes集群部署。如何通过Jumpserver原理进行kubernetes集群管控就是本文要解决的问题。
2. K8S跳转kubernetes的管控原理,和管控远程机器的原理基本类似。只是需要在集群内部部署一个持久的POD, 针对 Jumpserver 该POD能够提供 SSHD 服务,其次该POD内部应该自带 kubectl 工具。
2.1 简单的网络架构图http ssh /------------------------------------------------ [user] <---------> [jumpserver] <----------> | [kubectl pod] <=> [ kubernetes resource ] | ------------------------------------------------/2.2 构建POD的IMAGE
按以上原理,构建中间跳转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请提前准备好对应的ssh key。并将次IMAGE推送的自己的Docker Registry中。
2.3 在K8S集群中部署有了中间POD的IMAGE,部署具体的K8S服务很简单。具体定义文件,参考以下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
注意替换相应的集群参数配置。从定义文件中可以看出,中间POD是以LoadBalancer的方式对外提供服务的。需要查出具体的外网服务IP。
$: kubectl get service | grep jump jump LoadBalancer [内网IP] [外网IP] 22:30525/TCP 75d
该[外网IP]就是JumpServer连接的地址了。
2.4 配置JumpServerJumpServer中的配置和普通的远程主机配置基本一至,不再赘述了。
更多文章可直接访问个人BLOG:GitDiG.com
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/32997.html
摘要:四会议流程会议流程入场老广发展史中场休息董帅下一代互联网堡垒机中场休息王鹏容器化部署环节五报名方式扫描二维码加入六活动联系电话老广电话追马电话王庸电话张尧七致谢感谢荣新科技提供场地感谢各位同仁的帮组 JumpServer开源堡垒机帝都首次线下圆桌会议 一、举办方: • JumpServer开发团队 • Vfast 荣新科技 二、时间地点 • 地点:北京市海淀区大钟寺...
摘要:五测试验证在前面的配置步骤操作完毕后,便可以进行一些常规功能验证,以此来加深对系统的了解,这些功能测试点有资产连接测试用户授权终端在线会话命令记录等功能。 一、背景 笔者最近想起此前公司使用过的堡垒机系统,觉得用的很方便,而现在的公司并没有搭建此类系统,想着以后说不定可以用上;而且最近也有点时间,因此来了搭建堡垒机系统的兴趣,在搭建过程中参考了比较多的文档,其中最详细的还是官方文档,地...
摘要:五测试验证在前面的配置步骤操作完毕后,便可以进行一些常规功能验证,以此来加深对系统的了解,这些功能测试点有资产连接测试用户授权终端在线会话命令记录等功能。 一、背景 笔者最近想起此前公司使用过的堡垒机系统,觉得用的很方便,而现在的公司并没有搭建此类系统,想着以后说不定可以用上;而且最近也有点时间,因此来了搭建堡垒机系统的兴趣,在搭建过程中参考了比较多的文档,其中最详细的还是官方文档,地...
阅读 2741·2021-10-14 09:42
阅读 3592·2021-10-11 10:59
阅读 2922·2019-08-30 11:25
阅读 3057·2019-08-29 16:25
阅读 3205·2019-08-26 17:40
阅读 1183·2019-08-26 13:30
阅读 1114·2019-08-26 11:46
阅读 1316·2019-08-23 15:22