域名映射到GKE上负载平衡器的K8服务类型



我正在学习Kubernetes并在GKE上创建一个示例应用程序。我可以在minikube上创建pod、容器和服务,但在使用我的自定义域(如hr.mydomain.com(在互联网上公开它时遇到了问题。

我的应用程序说file-process正在8080端口上运行,现在我想将它公开到互联网上。我尝试在GKE上创建负载均衡器类型的服务。我得到了负载均衡器的IP,并将其映射到hr.mydomain.com的记录。

我的问题是-如果重新启动此服务,服务IP是否每次都会更改,并且服务变得不可访问

我该如何管理它?将域名映射到svc时的最佳做法是什么?

文件服务

apiVersion: v1
kind: Service
metadata:
name: file-process-service
labels:
app: file-process-service
spec:
type: LoadBalancer
ports:
- name: http
port: 80
targetPort: 8080
protocol: TCP
selector:
app: file-process-api

Google Kubernetes引擎旨在尽可能多地省去配置方面的麻烦。即使您重新启动该服务,也不会改变其在互联网上的可用性。

网络(包括负载平衡(在GKE集群中自动管理:

。。。Kubernetes使用服务为在Pods中运行的应用程序提供稳定的IP地址。默认情况下,Pods不公开外部IP地址,因为kube代理管理每个节点上的所有流量。Pods及其容器可以自由通信,但集群外的连接无法访问服务。例如,在上图中,群集之外的客户端无法使用其ClusterIP访问前端服务。

这意味着,如果您公开服务,并且它将具有外部IP,则在删除负载均衡器之前,它将保持不变:

网络负载均衡器知道集群中的所有节点,并配置VPC网络的防火墙规则,允许使用服务的外部IP地址从VPC网络外部连接到服务。您可以为服务分配一个静态外部IP地址。

此时,当您的服务前面有一个带有静态公共IP的负载平衡器时,您可以将此IP设置为域的a记录。

最新更新