前提条件
已经创建了一个天翼云账号,并且有一个已经创建好的云容器引擎集群。
集群中已经部署了应用服务,并且可以通过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。
访问应用:在浏览器中输入您的自定义域名,验证是否可以通过域名访问集群中的应用服务。