Kubernetes NodePort不监听

股份公司

我正在使用k3d(docker中的k3s)做一些教程,而我的yml看起来像这样:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:alpine
          ports:
          - containerPort: 80

---
apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  type: NodePort
  selector:
    app: nginx
  ports:
  - name: http
    port: 80
    targetPort: 80

结果节点端口为31747:

:~$ kubectl get service
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.43.0.1       <none>        443/TCP        18m
nginx        NodePort    10.43.254.138   <none>        80:31747/TCP   17m

:~$ kubectl get endpoints
NAME         ENDPOINTS         AGE
kubernetes   172.18.0.2:6443   22m
nginx        10.42.0.8:80      21m

但是wget不起作用:

:~$ wget localhost:31747
Connecting to localhost:31747 ([::1]:31747)
wget: can't connect to remote host: Connection refused
:~$

我错过了什么?我已确保所有标签都说app: nginx我的标签containerPortport并且targetPort都为80

太平洋标准时间

问题是,NodePort范围是从主机映射到充当节点的Docker容器的。该命令docker ps会告诉你更多细节,你可以docker inspect $container_id和看Ports之下属性NetworkSettings我周围没有k3d,但这是一个实物示例。

$ docker ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                       NAMES
1d2225b83a73        kindest/node:v1.17.0          "/usr/local/bin/entr…"   18 hours ago        Up 18 hours         127.0.0.1:32769->6443/tcp   kind-control-plane
$ docker inspect kind-control-plane
[
    {
        # [...]
        "NetworkSettings": {
            # [...]
            "Ports": {
                "6443/tcp": [
                    {
                        "HostIp": "127.0.0.1",
                        "HostPort": "32769"
                    }
                ]
            },
        # [...]
    }
]

如果不是,kubectl port-forward按照注释中的建议进行操作可能是最简单的方法。或者,开始研究Ingress。Ingress是将工作负载暴露在集群外部的首选方法,对于同类工作负载,它们支持Ingress。看来k3d也有一种将入口端口映射到主机的方法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Kubernetes服务NodePort未连接

来自分类Dev

Kubernetes:必须通信的多个容器 + 暴露的 nodePort

来自分类Dev

Kubernetes NetworkPolicies 是否会阻止 NodePort 流量?

来自分类Dev

Kubernetes 服务不工作(超时)

来自分类Dev

Kubernetes - 不启动 master 的角色

来自分类Dev

如何使用NodePort在外部公开Kubernetes服务

来自分类Dev

NodePort上的Kubernetes Nginx入口控制器

来自分类Dev

使用NodePort类型服务公开私有kubernetes集群

来自分类Dev

Kubernetes NodePort网络如何在多节点集群上工作?

来自分类Dev

Kubernetes:为什么我的NodePort无法获得外部IP?

来自分类Dev

如何删除NodePort Kubernetes-Traefik入口控制器

来自分类Dev

Kubernetes服务-使用哪种类型的NodePort或LoadBalancer?

来自分类Dev

NodePort 是否适用于 Azure 容器服务 (Kubernetes)

来自分类Dev

Sysdig 不记录 Kubernetes pod 内的事件

来自分类Dev

Kubernetes 集群自动缩放器不工作

来自分类Dev

Kubernetes + Spring 管理 UI + Eureka 不工作

来自分类Dev

Kubernetes pod 为什么不优雅停止?

来自分类Dev

不绑定端口监听

来自分类Dev

无法通过MicroK8s集群中的Kubernetes NodePort服务访问Express.js服务

来自分类Dev

Kubernetes上NodePort与ClusterIP与无头服务的性能注意事项

来自分类Dev

Kubernetes如何使用Service.spec.externalTrafficPolicy =本地路由流量进行NodePort服务?

来自分类Dev

在Kubernetes中,为什么NodePort的默认端口范围是30000-32767?

来自分类Dev

将外部流量从独立的Nginx服务路由到kubernetes Nodeport服务

来自分类Dev

Kubernetes 正在创建一个端口不正确的 nodeport 服务并且无法访问

来自分类Dev

ES不监听外部请求

来自分类Dev

验证表格。addEventListener不监听

来自分类Dev

如何配置一个 kubernetes 裸机入口控制器来监听 80 端口?

来自分类Dev

环境变量不Kubernetes Java的部署正在解决

来自分类Dev

Kubernetes中的Redis集群不写入node.conf文件

Related 相关文章

  1. 1

    Kubernetes服务NodePort未连接

  2. 2

    Kubernetes:必须通信的多个容器 + 暴露的 nodePort

  3. 3

    Kubernetes NetworkPolicies 是否会阻止 NodePort 流量?

  4. 4

    Kubernetes 服务不工作(超时)

  5. 5

    Kubernetes - 不启动 master 的角色

  6. 6

    如何使用NodePort在外部公开Kubernetes服务

  7. 7

    NodePort上的Kubernetes Nginx入口控制器

  8. 8

    使用NodePort类型服务公开私有kubernetes集群

  9. 9

    Kubernetes NodePort网络如何在多节点集群上工作?

  10. 10

    Kubernetes:为什么我的NodePort无法获得外部IP?

  11. 11

    如何删除NodePort Kubernetes-Traefik入口控制器

  12. 12

    Kubernetes服务-使用哪种类型的NodePort或LoadBalancer?

  13. 13

    NodePort 是否适用于 Azure 容器服务 (Kubernetes)

  14. 14

    Sysdig 不记录 Kubernetes pod 内的事件

  15. 15

    Kubernetes 集群自动缩放器不工作

  16. 16

    Kubernetes + Spring 管理 UI + Eureka 不工作

  17. 17

    Kubernetes pod 为什么不优雅停止?

  18. 18

    不绑定端口监听

  19. 19

    无法通过MicroK8s集群中的Kubernetes NodePort服务访问Express.js服务

  20. 20

    Kubernetes上NodePort与ClusterIP与无头服务的性能注意事项

  21. 21

    Kubernetes如何使用Service.spec.externalTrafficPolicy =本地路由流量进行NodePort服务?

  22. 22

    在Kubernetes中,为什么NodePort的默认端口范围是30000-32767?

  23. 23

    将外部流量从独立的Nginx服务路由到kubernetes Nodeport服务

  24. 24

    Kubernetes 正在创建一个端口不正确的 nodeport 服务并且无法访问

  25. 25

    ES不监听外部请求

  26. 26

    验证表格。addEventListener不监听

  27. 27

    如何配置一个 kubernetes 裸机入口控制器来监听 80 端口?

  28. 28

    环境变量不Kubernetes Java的部署正在解决

  29. 29

    Kubernetes中的Redis集群不写入node.conf文件

热门标签

归档