Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker Kubernetes群集未将外部ip公开为<;节点>;_Docker_Kubernetes_Cluster Computing_Devops_Amazon Eks - Fatal编程技术网

Docker Kubernetes群集未将外部ip公开为<;节点>;

Docker Kubernetes群集未将外部ip公开为<;节点>;,docker,kubernetes,cluster-computing,devops,amazon-eks,Docker,Kubernetes,Cluster Computing,Devops,Amazon Eks,这是我的service.yaml代码: kind: Service apiVersion: v1 metadata: name: login spec: selector: app: login ports: - protocol: TCP name: http port: 5555 targetPort: login-http type: NodePort 我将服务类型写为 type: NodePort 但当我点击下面的命令时,它不会将外

这是我的service.yaml代码:

kind: Service
apiVersion: v1
metadata:
  name: login
spec:
  selector:
    app: login
  ports:
  - protocol: TCP
    name: http
    port: 5555
    targetPort: login-http
  type: NodePort
我将服务类型写为

type: NodePort
但当我点击下面的命令时,它不会将外部ip显示为“节点”:

'kubectl get svc'
以下是输出:

NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.100.0.1     <none>        443/TCP          7h
login        NodePort    10.100.70.98   <none>        5555:32436/TCP   5m
名称类型群集IP外部IP端口
kubernetes ClusterIP 10.100.0.1 443/TCP 7h
登录节点端口10.100.70.98 5555:32436/TCP 5m

请帮助我理解错误。

您的服务没有问题,您应该能够使用
:32436
访问它

顾名思义,NodePort在所有节点(VM)上打开一个特定端口,发送到此端口的任何流量都会转发到服务。因此,在您的节点上,端口32436是开放的,它将接收该端口上的所有外部通信,并将其转发给登录服务

编辑:

nodePort是集群外的客户端将“看到”的端口。nodePort通过kube代理在集群中的每个节点上打开。然后使用iptables magic Kubernetes(k8s)将流量从该端口路由到匹配的服务吊舱(即使该吊舱运行在完全不同的节点上)

nodePort是唯一的,因此两个不同的服务不能分配相同的nodePort。一旦声明,k8s主机将保留该服务的节点端口。然后在每个节点(主节点和工作节点)上打开nodePort,也就是不运行该服务pod的节点—k8s iptables magic负责路由。这样,您就可以从k8s集群外部向nodePort上的任何节点发出服务请求,而不用担心pod是否计划在那里

请参阅下面的文章,它展示了公开服务的不同方式:


你能用简单的语言详细说明一下吗?编辑了答案。希望这有帮助。:)是的,我明白了。谢谢:)