繁体   English   中英

AWS Kubernetes暴露的服务超时错误

[英]AWS Kubernetes Exposed Service Timeout Error

尝试通过浏览器访问公开的kubernetes服务时遇到问题。 以下是我的环境。

创建了两个ubuntu EC2实例(所有端口在安全组中打开)并安装了所有kubernetes相关工具,例如kubectl,kubeadm,docker,calico network。

创建了nginx pod,将其缩放到3并使用LoadBalancer类型将其公开。 当我从master或worker节点卷曲到暴露的nginx时,它可以正常工作(使用public或private ip)。 但是如果我从外面outside缩,那是行不通的。 该请求超时。 我试图删除服务,并再次使用NodePort公开它。 但是我仍然无法从外面访问。 我确保安全组允许进入。 有没有一种方法可以调试为什么无法从外部访问它,或者我丢失了某些东西

我不是在运行cloud controller manager而是在kube-controller-manager 这会是个问题吗?

以下是所有kubernetes组件的输出

ubuntu@ip-172-31-29-98:~$ kubectl get all --all-namespaces
NAMESPACE     NAME                                           READY     STATUS    RESTARTS   AGE
default       pod/nginx-6f858d4d45-2wtlh                     1/1       Running   0          51m
default       pod/nginx-6f858d4d45-5dkws                     1/1       Running   0          51m
default       pod/nginx-6f858d4d45-h9cwg                     1/1       Running   0          51m
kube-system   pod/calico-etcd-82xkv                          1/1       Running   1          18h
kube-system   pod/calico-kube-controllers-74b888b647-prr2q   1/1       Running   1          18h
kube-system   pod/calico-node-kbckk                          2/2       Running   4          17h
kube-system   pod/calico-node-n5zhr                          2/2       Running   3          18h
kube-system   pod/coredns-78fcdf6894-qjhlq                   1/1       Running   1          18h
kube-system   pod/coredns-78fcdf6894-sm7c9                   1/1       Running   1          18h
kube-system   pod/etcd-ip-172-31-29-98                       1/1       Running   1          18h
kube-system   pod/kube-apiserver-ip-172-31-29-98             1/1       Running   1          18h
kube-system   pod/kube-controller-manager-ip-172-31-29-98    1/1       Running   1          18h
kube-system   pod/kube-proxy-jxg88                           1/1       Running   1          18h
kube-system   pod/kube-proxy-knx59                           1/1       Running   1          17h
kube-system   pod/kube-scheduler-ip-172-31-29-98             1/1       Running   1          18h

NAMESPACE     NAME                  TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
default       service/kubernetes    ClusterIP      10.96.0.1       <none>        443/TCP         18h
default       service/nginx         LoadBalancer   10.99.144.149   <pending>     80:31808/TCP    45m
kube-system   service/calico-etcd   ClusterIP      10.96.232.136   <none>        6666/TCP        18h
kube-system   service/kube-dns      ClusterIP      10.96.0.10      <none>        53/UDP,53/TCP   18h

NAMESPACE     NAME                         DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR                     AGE
kube-system   daemonset.apps/calico-etcd   1         1         1         1            1           node-role.kubernetes.io/master=   18h
kube-system   daemonset.apps/calico-node   2         2         2         2            2           <none>                            18h
kube-system   daemonset.apps/kube-proxy    2         2         2         2            2           beta.kubernetes.io/arch=amd64     18h

NAMESPACE     NAME                                       DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
default       deployment.apps/nginx                      3         3         3            3           51m
kube-system   deployment.apps/calico-kube-controllers    1         1         1            1           18h
kube-system   deployment.apps/calico-policy-controller   0         0         0            0           18h
kube-system   deployment.apps/coredns                    2         2         2            2           18h

NAMESPACE     NAME                                                  DESIRED   CURRENT   READY     AGE
default       replicaset.apps/nginx-6f858d4d45                      3         3         3         51m
kube-system   replicaset.apps/calico-kube-controllers-74b888b647    1         1         1         18h
kube-system   replicaset.apps/calico-policy-controller-55b469c8fd   0         0         0         18h
kube-system   replicaset.apps/coredns-78fcdf6894                    2         2         2         18h

编辑1:尝试在GCloud执行相同的GCloud GCloud也一样。 nginx服务可通过节点内部的私有/公共ip访问。 但是当我从外面卷曲时,它不起作用。 我在一个节点中启动了一个简单的python服务器,并且能够从外部访问python服务器。 但是,只有通过kubernetes公开的服务才能从外部卷曲。

我想我缺少有关kubernetes网络(尤其是在云中)的一些基本知识。 我可以从专家那里得到任何帮助吗?

我网络上的Internet防火墙阻止了对特定端口的访问。 Cloud Provider防火墙或Instance防火墙没有问题。

您是如何创建集群的? kubeadm 您需要一些自定义配置,您的集群才能与AWS一起运行。 例如,您的kube-controller-managerkube-apiserver需要具有--cloud-provider=aws选项。 相同的所有您的kubelets。

如果您不想处理此问题,我建议您使用kops

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM