如何在kubernetes中开启容器的sshd服务
Kubernetes中的容器开启sshd服务:
在Kubernetes中,运维人员可以很方便的通过Kubectl exec登录某台节点排查问题。
但对于一些开发,或者供应商人员,给其完全的权限就不是很合适了。
前提:
需要kubernetes容器与宿主机在同一个网段中,即大二层打通。
如果是传统模式,则只能登录到kubernetes集群中操作。
解决方案:
第一步:安装openssh服务:
yum install openssh-server
由于kubernetes需要提权才能够使用systemctl命令,因此手动启动/usr/sbin/sshd报错:
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
第二步:手动创建这些key:
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key
第三步:手动启动sshd:
/usr/sbin/sshd
第四步:修改root密码并尝试连接:
passwd