如何在不使用kubectl的情况下在GKE上扩展kubernetes部署

如何在不使用kubectl的情况下在GKE上扩展kubernetes部署,kubernetes,google-cloud-platform,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,这似乎有点奇怪,但我需要扩展在GKE上运行的kubernetes部署,但在发起调用的地方,我没有访问kubectl的权限 所以我们有一个运行airflow的VM(airflow是我们用于构建自动化数据ETL管道的工具)。负责它的团队不想让VM直接访问GKE,也不想在上面安装kubectl。所以我在想办法绕过这个限制 我目前的想法是使用pub/sub并让airflow发布一个通知,它希望部署能够扩展,但我不确定订阅端需要什么来实际处理这个问题?我一直在研究operator SDK,这看起来很有希望

这似乎有点奇怪,但我需要扩展在GKE上运行的kubernetes部署,但在发起调用的地方,我没有访问kubectl的权限

所以我们有一个运行airflow的VM(airflow是我们用于构建自动化数据ETL管道的工具)。负责它的团队不想让VM直接访问GKE,也不想在上面安装kubectl。所以我在想办法绕过这个限制


我目前的想法是使用pub/sub并让airflow发布一个通知,它希望部署能够扩展,但我不确定订阅端需要什么来实际处理这个问题?我一直在研究operator SDK,这看起来很有希望,但我想知道我是否需要构建一个自定义的operator并设置所有内容,或者是否有一些已经存在的东西可以使用?

如果您可以访问kubernetes群集(身份验证凭据),您可以使用凭据调用kubernetes api服务器并创建水平pod自动缩放。您也可以使用sdk来做同样的事情

也许部署
堡垒主机
对您来说是一个很好的解决方案。 您可以在本文中了解这种方法的详细信息

Bastion主机提供K8S群集的入口点(在本例中 上下文)并提供其他资源管理功能。典型的 这是在同一VPC和子网中创建的Google Compute Engine虚拟机。 ... 由于此VM位于同一VPC中,且子网IP范围为 在K8S群集的主访问列表中列出了白名单,此VM可以 用于管理群集。所以这个虚拟机应该有谷歌云 已安装SDK和所需的工具,如kubectl

我目前的想法是使用pub/sub并让airflow发布一个通知,它希望部署能够扩展,但我不确定订阅端需要什么来实际处理这个问题

我想象你可以在一条发布/订阅消息上,然后在云功能中使用类似的东西来扩展集群


另一种方法是使用气流VM,然后使用它。

这就是我要说的。我无法访问kubernetes群集。在这里拥有airflow的团队不希望它具有这种访问级别,这就是为什么我试图构建一个更具体的API,它可以访问,以最大限度地降低风险。如果你没有身份验证凭据,那么你就不能从任何地方访问集群。我说的不是;我可以有另一个服务,可以是VM、kubernetes吊舱、运营商等,我可以在那里提供访问权限,然后我可以更改集群的大小,但不管是什么,都可以使用kubectl。我想问的是,那是什么?你能再解释一下你能访问什么吗?听起来他们不希望从airflow VM直接访问GKE集群。从哪里可以访问集群(以编程方式)。如果您根本没有对集群的访问点,那么无论您在虚拟机和集群之间构建了多少层间接API和中间API。最好与负责集群的团队进行此对话。