Azure container service Azure ACS-Kubernetes吊舱间通信

Azure container service Azure ACS-Kubernetes吊舱间通信,azure-container-service,Azure Container Service,我做了一个ACS实例 az acs create --orchestrator-type=kubernetes \ --resource-group $group \ --name $k8s_name \ --dns-prefix $kubernetes_server \ --generate-ssh-keys az acs kubernetes get-credentials --resource-group $

我做了一个ACS实例

az acs create --orchestrator-type=kubernetes \
          --resource-group $group \
          --name $k8s_name \
          --dns-prefix $kubernetes_server \
          --generate-ssh-keys

az acs kubernetes get-credentials --resource-group $group --name $k8s_name
然后运行
helm init
它已经准备好了舵柄吊舱。然后我运行了
helminstallstable/redis
,并启动并运行了一个redis部署(看起来)

我可以
kube exec-it
进入redis pod,可以看到它在
0.0.0
上的绑定,可以使用
redis cli-h localhost
redis cli-h
登录,但不能
redis cli-h
(从
kubectl get svc

如果我运行另一个pod(这就是我遇到这个问题的原因),我可以
ping redis.default
,它显示DNS解析到正确的服务IP,但没有给出响应。当I
telnet 6379
redis cli-h
时,它将无限期挂起

对于如何进一步调试,我有点不知所措。我无法通过ssh连接到节点来查看docker在做什么

此外,我最初尝试使用标准的Alphine Redis图像,因此头盔是一种退路。我昨天试过了,舵手的有效,但手动的无效。现在(在一个新构建的ACS集群上)它在这两个集群上都不起作用

我将再次旋转这个星系团,看看它是否是一个稳定的繁殖,但我很有信心会有可疑的事情发生

PS-我有一个VNet,子网10.0.0.0/16在另一个区域重叠,当我进入地址范围时,我确实收到一条警告,有冲突,这会影响它吗

一些新的见解。。。这与基于阿尔卑斯山的图像有关(我们一直打算使用这些图像)

因此,kube运行一个--image=nginx(基于ubuntu的),我就可以安装telnet并连接到redis服务

但是,例如,kubectl运行c--image=rlesouef/alpine redis,然后shell-in,telnet不适用于相同的redis服务


最近解决了一个类似的问题。要验证的一件事是检查nslookup是否在容器中工作

最近也解决了类似的问题。要验证的一件事是检查nslookup是否在容器中工作

除非你在观察它们,否则你可以忽略你在PS中提到的警告;不知道为什么门户网站在这方面的警告如此咄咄逼人…除非你正在查看它们,否则你可以忽略你在PS中提到的警告;不知道为什么门户网站在警告这一点上如此咄咄逼人……我假设ping从服务名称解析服务ip意味着dns是可以的。这个问题是否表明应该由pod ip解决?nslookup提供了什么额外的输入?现在我已经在alpine上进行了复制,我可以确认当容器位于同一节点和不同节点上时,这种行为都存在,所以我认为这个问题不是答案。问题539修复了容器之间的连接。如果文件
/etc/systemd/system/docker.service.d/exec_start
包含
--iptables=false--ip masq=false
那么您可以确认您的系统是否受到影响。另外,什么是alpine?运行
helm install stable/redis时,我注意到两件事:1。redis容器花了4分钟启动。2.我需要从pod中提取密码(
REDIS_password=$(kubectl get secret——命名空间默认REDIS-o jsonpath=“{.data.REDIS password}”| base64——解码
)。一旦我确认pod正在运行并使用了密码,我就能够连接到redis服务。在上面我注意到您使用telnet。您是否尝试在telnet窗口中键入任何命令?您是否可以尝试使用redis cli?以下是我在nginx容器中的操作:
apt get update;apt get install redis tools
。然后我运行
redis cli-h looking bee redis-a$PASSWORD
,我可以连接并使用这些命令。我假设ping从服务名称解析服务ip意味着dns是可以的。这个问题是否表明应该是pod ip得到解决?nslookup提供了什么额外的输入?现在我已经在lpine,我可以确认当容器位于同一节点和不同节点上时,该行为存在,因此我认为这个问题不是答案。问题#539修复了容器之间的连接。如果文件
/etc/systemd/system/docker.service.d/exec\u start
包含
--iptables=false--ip-m,您可以确认您的行为受到影响asq=false
还有,什么是alpine?当我运行
helm install stable/redis
时,我注意到两件事:1.redis容器花了4分钟启动。2.我需要从pod中提取密码(
redis_password=$(kubectl get secret——命名空间默认笑蜂redis-o jsonpath=“{.data.redis password}”| base64——解码
)。一旦我确认pod正在运行并使用了密码,我就能够连接到redis服务。在上面我注意到您使用telnet。您是否尝试在telnet窗口中键入任何命令?您是否可以尝试使用redis cli?以下是我在nginx容器中的操作:
apt get update;apt get install redis tools
。然后运行
redis cli-h redis-a$PASSWORD
,我就可以连接并使用这些命令了。