亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

通過NodePort向k8s集群外部暴露服務

標簽:
Kubernetes

有时候我们需要向集群外部暴露一些服务,这时候可以指定service的port类型为NodePort来实现。这时k8s会为集群中的每一个node打开nodePort端口来让外部访问。比如集群中有三个节点:192.168.0.1、192.168.0.2、192.168.0.3,则我们可以通过9.168.0.1:nodePort也可以通过9.168.0.2/3:nodePort来进行访问。
但是默认的,nodePort的范围是30000-32767, k8s会从中随机选择一个端口,也可以在spec.ports.nodePort中来指定一个端口。
当然我们可以通过修改apiserver--service-node-port-range 的参数来修改默认范围,如:--service-node-port-range 8000-9000

当服务启动以后,我们可以通过lsof -i:9000来查看端口监控情况。
如果端口已经打开,但是其他节点无法访问,注意查看防火墙设置,ufw disable 关闭防火墙即可。

kind: Service
apiVersion: v1
metadata:
  name: my-service
spec:
  type: NodePort //指定service类型
  selector:
    app: forme
  ports:
    - port: 80 // 供集群中其它container访问端口
      targetPort: 8020 //转向后端pod中container暴露的端口
      nodePort: 9000 //节点暴露的端口---
apiVersion: v1
kind: ReplicationController
metadata:
  name: forme  namespace: defaultspec:
  replicas: 1
  selector:
    app: forme  template:
    metadata:
      name: forme
      labels:
        app: forme
    spec:
      volumes:
      - name: "config"
        hostPath:
          path: "/data/xxx"
      containers:
      - name: forme
        image: forme:k8s        #command: ["/bin/sh", "-c"]
        #args: ["tail -f /dev/null"]
        #args: ["sleep 20"]
        resources:
          limits:
            alpha.kubernetes.io/nvidia-gpu: 1
            #cpu: 8
            #memory: 4Gi
        ports:
        - containerPort: 8020 //该container监控的端口
        volumeMounts:
        - name: "config"
          mountPath: "/home/docker/code"



作者:Mark_Zhang
链接:https://www.jianshu.com/p/ce1028c1cbc0


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消