我有一個 NGINX 入口控制器和多個入口資源附加到 GKE 中的每個 pod。我想知道是否可以將多個入口資源附加到單個 pod。
例如,我有一個在 pod 上運行的 Java 應用程式,并且我已將一個入口資源附加到它。可以訪問該應用程式,example.dev.com并且它已經附加了一個我不想觸摸的 ssl 證書。我希望example.com通過附加新的 Ingress 資源并應用新的 SSL 證書和主機名來訪問相同的應用程式example.com。可能嗎 ?任何線索將不勝感激。
uj5u.com熱心網友回復:
是的,你可以做到。
例如,我有一個在 pod 上運行的 Java 應用程式,并且我已將一個入口資源附加到它。該應用程式可以在 example.dev.com 上訪問,并且它已經附加了一個我不想觸摸的 ssl 證書。我希望通過附加新的 Ingress 資源并應用新的 SSL 證書和主機名 example.com 來通過 example.com 訪問相同的應用程式。可能嗎 ?任何線索將不勝感激。
使用存盤在密鑰中的SSL證書創建另一個入口,并將該密鑰附加到新入口。
確保您在新入口中提供不同的名稱,這樣它就不會覆寫現有的名稱。
您可以將兩個配置都保存在單個檔案中,或者進行不同的入口
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-wildcard-host
spec:
tls:
- hosts:
- example.com
- example.dev.com
secretName: testsecret-tls
rules:
- host: "example.dev.com"
http:
paths:
- pathType: Prefix
path: "/bar"
backend:
service:
name: service1
port:
number: 80
- host: "example.com"
http:
paths:
- pathType: Prefix
path: "/foo"
backend:
service:
name: service1
port:
number: 80
如果您有一個通配符SSL
tls:
- hosts:
- example.dev.com
- example.com
secretName: testsecret-tls
如果您不希望兩者在一起,只需example.com根據需要創建一次入口
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
tls:
- hosts:
- example.com
secretName: testsecret-tls
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: service1
port:
number: 80
參考:https ://kubernetes.io/docs/concepts/services-networking/ingress/
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/495026.html
