栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

kind多节点端口映射

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kind多节点端口映射

前面的笔记中介绍过说多节点的kind集群yaml:

kind: Cluster   
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker 

这样的多节点生成后发现生成的pod竟然无法访问,查阅文档发现kind集群的端口需要和node的端口映射,官方建议是listenAddress写为0.0.0.0,并不是127.0.0.1

主机端口应该是0-65535 而container端口开放好像是30000-32767

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  extraPortMappings:
  - containerPort: 80
    hostPort: 31180
    listenAddress: "0.0.0.0"
  - containerPort: 30100
    hostPort: 41100
    listenAddress: "0.0.0.0"
- role: worker
  extraPortMappings:
  - containerPort: 80
    hostPort: 31280
    listenAddress: "0.0.0.0"
  - containerPort: 30100
    hostPort: 42100
    listenAddress: "0.0.0.0"
- role: worker
  extraPortMappings:
  - containerPort: 80
    hostPort: 31380
    listenAddress: "0.0.0.0"
  - containerPort: 30100
    hostPort: 43100
    listenAddress: "0.0.0.0"

这段yaml 做了比较简单的映射,把容器上的80、30100 端口映射到节点的不同的端口上,如果有需求可以映射更多的端口

创建集群并指定集群名字:

kind create cluster --config mykind.yaml --name mykind

nginx.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deploy
spec:
  selector:
    matchLabels:
      lb: ng
  replicas: 3
  template:
    metadata:
      labels:
        lb: ng #pod的label
    spec:
      containers:
      - name: nginxweb
        image: nginx
        ports:
        - containerPort: 80

service.yaml

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    lb: ng
  type: NodePort
  ports:
    - protocol: TCP
      port: 10008 #pod端口,可在pod中通过k8s的clusterip访问
      targetPort: 80 #容器端口
      nodePort: 30100 #node端口

这样就可以访问了:curl localhost:41100,注意是主机端口,因为之前生成集群的时候映射出来了
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/583174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号