本页面介绍在生产环境中将其他本地 IAP 连接器部署到现有 Google Kubernetes Engine (GKE) 集群的流程。您应该已经熟悉 Google Cloud SDK、kubectl
和 Helm 之类的工具。
如需快速了解如何首次部署本地 IAP 连接器,请参阅为本地应用启用 IAP。
准备工作
确保您已准备好使用以下各项进行部署:
- 现有 GKE 集群
- 该集群应设置为使用 VPC 原生(IP 别名)。它所在的 VPC 应该可以通过 VPC 中的路由(NAT 网关或其他网关)访问互联网。
- 为了使 GKE 集群可以为单个集群中的多个 IAP 连接器实例提供服务,应将它们与为各个应用提供服务的 Pod 一起配置为自动扩缩。
- 允许从 GKE 集群(节点/Pod)到后端/本地实例的流量的防火墙规则
- Google 管理的 SSL 证书和静态外部 IP
- 在本地客户端计算机上安装的 Helm(版本 2.0.0 或更高版本)软件包管理器
- 在子网中配置了 Cloud NAT 以检索 Ambassador 映像
- 增加全局负载平衡器的数量,以适应针对目标池和目标代理所述的 TLS 证书限制
使用 Helm 配置和部署
首先克隆此 GitHub 代码库。
配置在克隆了代码库的
iap-connector/terraform-and-helm/iap-connector/helm/values
目录中找到的 Helm 图表values_example.yaml
。此图表显示了如何通过两个 Ambassador 代理将两个应用部署到共享一个全局负载平衡器代理的集群。代理绑定了两个证书,每个应用各一个。可以自定义此示例文件来支持单个入站流量代理的限制。
配置 YAML 文件后,将其另存为
values.yaml
。初始化 Helm。
helm init
授予 Helm 权限以安装到 GKE 集群中。
kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user system:serviceaccount:kube-system:default
安装 Helm 图表以创建全局负载平衡器,GKE 中的入站流量服务和 YAML 文件中定义的后端服务。
helm install --name my-release ./iap-connector -f values.yaml
配置 HTTP 后端应用
默认情况下,Ambassador 随 HTTPS 一起部署到目标资源,但是您可能首选 HTTP 后端。如需将您的部署更改为 HTTP,请执行以下操作:
找到您要修改的服务。
kubectl get services
通过复制上一个命令中的服务名称来修改该服务。
kubectl edit service <serviceName>
找到以
service
开头的行,并将协议从https
更改为http
,将端口号更改为80
。service:http://example.service.internal:80
移除指定 TLS 的行。
tls:true