本文介绍了如何通过传统的ssh方式连接到运行的容器中。
在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