前提條件
已經創建了一個天翼云賬號,并且有一個已經創建好的云容器引擎集群。
集群中已經部署了應用服務,并且可以通過Cluster IP或NodePort進行訪問。
已經擁有一個域名,并可以對其進行DNS配置。
創建Ingress Controller
登錄云容器引擎控制臺,單擊集群名稱進入集群。
在左側導航欄中找到網絡,下拉找到路由,點擊路由,點擊左上角創建路由。
創建Ingress Controller。
安裝完成后,可以使用kubectl命令查看Ingress Controller的服務:
kubectl get services -n ingress-nginx確保ingress-nginx-controller服務已經創建并在運行。
創建Ingress資源
編寫Ingress資源配置文件
創建一個新的YAML文件,例如my-ingress.yaml,內容如下:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
namespace: default
spec:
rules:
- host: <your-custom-domain>
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: <your-service-name>
port:
number: <your-service-port>替換<your-custom-domain>為您的自定義域名,<your-service-name>為您的Kubernetes服務名稱,<your-service-port>為服務的端口號。
應用Ingress資源
使用kubectl應用剛才創建的Ingress資源文件:
kubectl apply -f my-ingress.yaml驗證Ingress資源是否已創建:
kubectl get ingress配置自定義域名的DNS記錄
獲取Ingress Controller的外部IP
使用以下命令獲取Ingress Controller的外部IP:
kubectl get services -n ingress-nginx記錄ingress-nginx-controller服務的EXTERNAL-IP。
配置DNS記錄
登錄到您的域名注冊商的管理控制臺。
找到DNS管理頁面,添加一條新的A記錄:
主機名(Host):填寫您的自定義域名,例如www.example.com。
記錄類型(Type):選擇A記錄。
值(Value):填寫剛才記錄的EXTERNAL-IP。
TTL:可以選擇默認值。
驗證配置
測試域名解析:使用nslookup或dig命令檢查域名解析是否正確:
nslookup <your-custom-domain>確保返回的IP地址是Ingress Controller的外部IP。
訪問應用:在瀏覽器中輸入您的自定義域名,驗證是否可以通過域名訪問集群中的應用服務。