美文网首页
k8s NodePort外部通信与内部映射

k8s NodePort外部通信与内部映射

作者: reco171 | 来源:发表于2023-05-11 10:27 被阅读0次

    k8s资源类型主要有Service、Pod、Deployment,其中Service资源NodePort负责与外部通信,将nodePort端口映射到内部port端口。外部请求服务调用时,通过NodePort将请求转发到Pod端口。

    1. 具体如下nodeport.yaml示例


      无标题.png

      对上图做如下说明
      1)定义资源类型kind: Service
      定义Service类型NodePort,向外部暴露nodePort: 30080端口,并映射到port: 80端口,选择器selector选择应用webpp1-nodePort。
      2)定义资源类型kind:Deployment
      Deployment设置replicas:2即定义两个副本,应用标签名称是webpp1-nodePort,containerPort定义应用端口。

    2. 操作
      可通过网上提供的免费资源进行实际操作,具体操作如下:
      1) 在浏览器中打开网页
      输入这个网址:https://www.katacoda.com/courses/kubernetes/networking-introduction, 打开后会提供了一个实验用的Kubernetes集群,并可以通过网元模拟Terminal连接到集群的Master节点。

    2)执行下面的命令创建一个nodeport类型的service。

    kubectl apply -f nodeport.yaml
    

    3)查看创建的service,可以看到kubernetes创建了一个名为webapp-nodeport-svc的service,并为该service在主机节点上创建了30080这个Nodeport。

    kubectl get svc
    NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
    kubernetes             ClusterIP   10.96.0.1       <none>        443/TCP        36m
    webapp1-nodeport-svc   NodePort    10.103.188.73   <none>        80:30080/TCP   3m
    

    4)执行查看pod命令,看到创建了两个pod

    kubectl get pod -o wide
    

    参考:
    外部通信-NodePort
    K8s中各端口port 原创

    相关文章

      网友评论

          本文标题:k8s NodePort外部通信与内部映射

          本文链接:https://www.haomeiwen.com/subject/yxcnhrtx.html