【发布时间】:2018-10-31 21:56:04
【问题描述】:
我正在对 Kubernetes 进行一些研发并在 AWS 上部署集群。我正在使用 KOPS 执行繁重的工作并使用 Terraform 配置集群。
我的目标是在托管 pod 提供服务的节点上阻塞对特定服务必不可少的端口时测试 Kubernetes 的行为。为此,我想通过 ssh 进入我的主节点并手动阻止工作人员上的端口。
我一直在运行以下命令:
ssh -i ~/.ssh/id_rsa admin@<master_ip>
只有得到以下响应
ssh: connect to host <master_ip> port 22: Connection refused
这是我用来创建集群的命令:
kops create cluster \
--name=${KOPS_NAME} \
--state=${KOPS_STATE_STORE} \
--zones=eu-central-1a,eu-central-1b,eu-central-1c \
--master-zones=eu-central-1a,eu-central-1b,eu-central-1c \
--node-count=5 \
--node-size=t2.micro \
--master-size=t2.micro \
--ssh-public-key=~/.ssh/id_rsa.pub \
--out=. \
--target=terraform
我的主人注册的 AWS 上的安全组允许端口 22 上的流量并运行
kops describe secret admin
显示有一个归属于管理员用户的公钥。
我不认为这是一个错误,因为在 KOPS git 上似乎没有其他人有这个问题,而且,虽然我远非 AWS 专家,但对我来说这似乎很奇怪AWS 的问题。
编辑
$> ssh -i ~/.ssh/id_rsa <adress>.elb.amazon.com -vvv
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug2: resolving "<address>.elb.amazonaws.com" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to <address>.elb.amazonaws.com [ip address] port 22.
【问题讨论】:
-
一些问题:你确定你所有的master实例都有
Ready状态吗?您的<master_ip>是公共 IPv4 地址吗?你确定你的主服务器的安全组允许从你的 IP 连接到端口 22? -
1.是的。我等了大约 10 分钟,集群完全初始化,每个节点(工作节点和主节点)都准备好了 2. 我已经尝试使用公共和私有 IPv4 地址的 ssh 3. 我已经检查了主安全中的传入流量规则组和端口 22 是开放的
-
您可以尝试使用
-vvvvssh 来获取更多详细信息吗?它仍然看起来是防火墙问题的网络。 -
嘿@AntonKostenko,我更新了我的回复。过去几周我不得不处理其他问题,所以我没有时间回到这个问题
标签: amazon-web-services kubernetes kops