【k8s】svc-externalIPs


環境

  1. kubernetes 1.20.4
  2. Spring Boot 2.5.0-M3

目標

Service 的 externalIPs 可以設置一個外部的 IP 地址,並且將流量導入到集群內部。

示例

Deploy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: spring-k8s
spec:
  selector:
    matchLabels:
      app: spring-k8s
  template:
    metadata:
      labels:
        app: spring-k8s
    spec:
      containers:
        - name: spring-k8s
          image: jiangbo920827/spring-k8s:liveness
          ports:
            - containerPort: 8080

Service.yaml

apiVersion: v1
kind: Service
metadata:
  name: spring-k8s
spec:
  externalIPs:
    - "111.111.111.111"
  selector:
    app: spring-k8s
  ports:
    - port: 80
      targetPort: 8080

查看

[root@master ~]# kubectl get pod,svc
NAME                              READY   STATUS    RESTARTS   AGE
pod/spring-k8s-79f74b55d7-bzbt7   1/1     Running   0          56s

NAME                 TYPE        CLUSTER-IP      EXTERNAL-IP       PORT(S)   AGE
service/kubernetes   ClusterIP   10.96.0.1       <none>            443/TCP   79d
service/spring-k8s   ClusterIP   10.104.121.41   111.111.111.111   80/TCP    13m
[root@master ~]# curl 111.111.111.111/hostname;echo
spring-k8s-79f74b55d7-bzbt7
[root@master ~]#

可以看到訪問 111.111.111.111 地址,訪問的是集群內部的接口。

總結

externalIPs 可以將集群外部的流量轉發到集群內部來。

附錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM