我需要从本地主机获取服务吗?

时间:2018-10-16 11:06:05

标签: ssh kubernetes devops kubernetes-pod

我想使用ssh从本地主机到Pod。有没有使用ssh [Pod_IP]而不使用kubectl exec -it [Pod] /bin/bash进行连接的方法?

结果如ERROR: ssh: connect to host [ip] port 22: Connection refused所示。

1 个答案:

答案 0 :(得分:1)

我认为您可以通过在目标Pod上安装openssh-server来实现此目标

例如:

建立与Pod的SSH连接:

$ kubectl exec -it <Pod_name> -- /bin/bash
$ apt-get update
$ apt-get install -y openssh-server

确保SSHD服务已启动并正在运行:

$ service ssh status

必要时启动它:

$ service ssh start

如果要更改某些特定设置,请编辑/etc/ssh/sshd_config文件,然后重新启动SSH服务。

使用Pod IP地址从本地计算机通过SSH检查连接。

更新

我使用以下Pod配置来建立与Centos 7容器的SSH连接:

apiVersion: v1
kind: Pod
metadata:
  name: centos
spec:
  containers:
  - name: centos
    image: centos:latest
    command: [ "/bin/bash", "-c", "yum install openssh-server -y && /usr/bin/ssh-keygen -A && /usr/sbin/sshd -p 
22 -f /etc/ssh/sshd_config && tail -f /dev/null" ]
    securityContext:
      privileged: true