在Ingress資源應用上,先前僅面向HTTP、HTTPS網站標準服務。
現在已經可以針對TCP、UDP服務的應用上,透過ingress資源開放存取。
ingress是透過config-map資源取得TCP、UDP服務開放的對應,如官網範例
指定tcp:9000
對應內部namespace:default
/example-go:8080
apiVersion: v1
kind: ConfigMap
metadata:
name: tcp-services
namespace: ingress-nginx
data:
9000: "default/example-go:8080"
指定udp:53
對應內部kube-dns:53
服務
apiVersion: v1
kind: ConfigMap
metadata:
name: udp-services
namespace: ingress-nginx
data:
53: "kube-system/kube-dns:53"
下列Service範例,設定三種服務入口
http:80
https:443
proxied-tcp-9000:9000
,此入口會對應到 config-map 的tcp-service.data.9000
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
type: LoadBalancer
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
- name: https
port: 443
targetPort: 443
protocol: TCP
- name: proxied-tcp-9000
port: 9000
targetPort: 9000
protocol: TCP
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
以上,簡略說明ingress
除了常見的 http、https 服務之外,也可針對其他TCP、UDP開放入口服務。