在自己的域名网站安装Kubernetes并暴露服务
将你的App部署到Kubernetes,然后将域名指向Kubernetes类的应用,这是不是很酷?
在开始之前,请确保做好准备工作:
1. 部署好Kubernetes集群并可访问
2. 你的应用*在Kubernetes群集中运行
3. 注册域名
4. 安装好Helm
以下是将域名与你的服务连接起来的粗略步骤:
1. 创建Ingress资源
2. 部署Ingress控制器
3. 更新域名记录以指向群集
Kubernetes的Ingress资源管理是对集群内运行的应用程序暴露给外部访问的。使用ingress,可以定义规则,告诉Kubernetes如何将外部流量路由到你的应用程序。以下是Ingress资源的示例:
|
但是,仅此资源还不够 - 您还需要一个知道如何引导流量的控制器。这里使用NGINX Ingress控制器,我们将使用Helm来部署nginx-ingress图表,如下所示:
|
上面的命令负责安装NGINX控制器和默认后端。默认后端指向的“app”,NGINX控制器提供负载平衡器的服务 - 将我们域名指向它。
部署NGINX入口控制器后,让我们通过运行此命令来确定集群的IP地址:
|
上面的命令将列出在所有命名空间中运行的所有Kubernetes服务。您感兴趣的是LoadBalancer类型的任何服务以及具有外部IP集的任何服务(它通常是相同的服务)
在服务列表中,*nginx-ingress-controller字样的服务你所需要的。这是你将域名指向的IP地址。
现在是修改域名记录,创建一个A和CNAME DNS记录以将域(主机)指向群集IP即可。