首先,我想说我不知道所涉及服务器的确切体系结构。我只知道它们是云上的Ubuntu计算机。
我已经使用两台服务器建立了一个master / 1 worker k8s集群。
kubectl cluster-info
给我:
Kubernetes master is running at https://10.62.194.4:6443
KubeDNS is running at https://10.62.194.4:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
我已经这样创建了一个简单的部署:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
run: nginx
name: nginx-deploy
spec:
replicas: 2
selector:
matchLabels:
run: nginx
template:
metadata:
labels:
run: nginx
spec:
containers:
- image: nginx
name: nginx
ports:
- containerPort: 80
旋转一个暴露在容器端口80上的nginx容器。
我已经使用以下方法公开了此部署:
kubectl expose deployment nginx-deploy --type NodePort
运行kubectl get svc
时,我得到:
nginx-deploy NodePort 10.99.103.239 <none> 80:30682/TCP 29m
kubectl get pods -o wide
给我:
nginx-deploy-7c45b84548-ckqzb 1/1 Running 0 33m 192.168.1.5 myserver1 <none> <none>
nginx-deploy-7c45b84548-vl4kh 1/1 Running 0 33m 192.168.1.4 myserver1 <none> <none>
由于我使用NodePort公开了部署,因此给我留下了可以使用< Node IP > : < Node Port >
访问该部署的印象
辅助节点的节点IP为10.62.194.5,当我尝试访问http://10.62.194.5:30682时,没有得到nginx登陆页面。
我不了解的一部分是,当我做kubectl describe node myserver1
时,在收到的长输出中,我可以看到:
Addresses:
InternalIP: 10.62.194.5
Hostname: myserver1
为什么说InternalIP?我可以ping通此IP
编辑:
sudo lsof -i -P -n | grep LISTEN
systemd-r 846 systemd-resolve 13u IPv4 24990 0t0 TCP 127.0.0.53:53 (LISTEN)
sshd 1157 root 3u IPv4 30168 0t0 TCP *:22 (LISTEN)
sshd 1157 root 4u IPv6 30170 0t0 TCP *:22 (LISTEN)
xrdp-sesm 9840 root 7u IPv6 116948 0t0 TCP [::1]:3350 (LISTEN)
xrdp 9862 xrdp 11u IPv6 117849 0t0 TCP *:3389 (LISTEN)
kubelet 51562 root 9u IPv4 560219 0t0 TCP 127.0.0.1:42735 (LISTEN)
kubelet 51562 root 24u IPv4 554677 0t0 TCP 127.0.0.1:10248 (LISTEN)
kubelet 51562 root 35u IPv6 558616 0t0 TCP *:10250 (LISTEN)
kube-prox 52427 root 10u IPv4 563401 0t0 TCP 127.0.0.1:10249 (LISTEN)
kube-prox 52427 root 11u IPv6 564298 0t0 TCP *:10256 (LISTEN)
kube-prox 52427 root 12u IPv6 618851 0t0 TCP *:30682 (LISTEN)
bird 52925 root 7u IPv4 562993 0t0 TCP *:179 (LISTEN)
calico-fe 52927 root 3u IPv6 562998 0t0 TCP *:9099 (LISTEN)
ss -ntlp | grep 30682
的输出
LISTEN 0 128 *:30682 *:*
答案 0 :(得分:0)
据我了解,您正在尝试从位于不同子网中的主机(例如您的终端)访问10.62.194.5
。我猜在Azure中,每个节点都有一个公共IP和一个私有IP。因此,如果您尝试从终端访问Kubernetes Service
,则应将主机的公共IP与端口一起使用,并确保该端口在Azure防火墙中处于打开状态。