问题标签 [google-kubernetes-engine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
66 浏览

google-kubernetes-engine - Is a container service accessible via the cluster master?

The Google Container Engine service doc https://cloud.google.com/container-engine/docs/services/operations#sample_file states: 'To access the service, a client can connect to the cluster master endpoint...'

The service I deployed can be accessed on any of the cluster nodes via the service port, but not on the master.

kube-proxy instances which opened the service port are only running on the cluster nodes.

netstat does not show the service port as open on the cluster master.

Is the documentation correct? If it is correct and I should be able to use the cluster master as endpoint, how would I go about debugging this issue?

0 投票
3 回答
10158 浏览

kubernetes - 在 Google Container Engine 上的同一 Kubernetes 集群中的 80 端口上运行多个服务

我可以在 Google Container Engine 上的 Kubernetes 的 80 端口上运行多个服务吗?每个服务都有一个专用的外部 IP 地址,因此理论上路由器应该能够根据其 IP 地址路由到每个服务。

到目前为止,我已经在 Container Engine 上为“frontend-1”和“frontend-2”创建了 pod。我尝试为它们创建单独的服务,它们都在端口 80 上运行,具有唯一的外部 IP,但它不起作用。在 Kubernetes 中是否有另一种方法可以在不使用自定义路由服务的情况下完成此任务?

服务 1.yaml:

服务 2.yaml:

0 投票
2 回答
174 浏览

google-kubernetes-engine - 在 Hello-Wordpress 示例上出现错误

按照https://cloud.google.com/container-engine/docs/hello-wordpress中的步骤

一切正常,直到我到达“gcloud 计算实例列表”我得到这些错误:

[ec2-user@ip-10-00-00-000~]$ gcloud compute instances list NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS Traceback (most recent call last): File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py", line 175, in <module> main() File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py", line 171, in main _cli.Execute() File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/calliope/cli.py", line 385, in Execute post_run_hooks=self.__post_run_hooks, kwargs=kwargs) File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/calliope/frontend.py", line 274, in _Execute pre_run_hooks=pre_run_hooks, post_run_hooks=post_run_hooks) File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/calliope/backend.py", line 930, in Run output_formatter(result) File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/calliope/backend.py", line 916, in OutputFormatter command_instance.Display(args, obj) File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/base_classes.py", line 304, in Display PrintTable(resources, self._resource_spec.table_cols) File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/base_classes.py", line 46, in PrintTable for resource in resources: File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/base_classes.py", line 289, in Run for item in items: File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/lister.py", line 29, in ProcessResults yield field_selector.Apply(resource) File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/property_selector.py", line 355, in Apply res = _DictToOrderedDict(obj) File "/home/ec2-user/google-cloud-sdk/./lib/googlecloudsdk/compute/lib/property_selector.py", line 177, in _DictToOrderedDict new_obj = collections.OrderedDict(sorted(obj.items())) AttributeError: 'module' object has no attribute 'OrderedDict'

由于这适用于我的 Windows 框,因此我忽略并转到下一步并收到以下错误:

尝试重新排序参数,但仍然得到上述相同的错误。有任何想法吗?

0 投票
1 回答
501 浏览

google-cloud-platform - Kubernetes 和端口

我有以下情况:

  1. 带有弹性hserach的虚拟机
  2. Kubernetes 集群

他们都在同一个项目中,在同一个区域。

我需要从集群中的容器内部访问弹性搜索(es)。es具有外部和内部 IP 的虚拟机,基本上来自集群节点内部gcloud ssh ...,我可以通过内部 IP 卷曲es,但是从容器内部我不能使用内部 IP(?),我必须使用外部。问题是我无法设置外部 IP,我尝试创建池,然后添加转发规则,然后添加防火墙规则,到端口 9200 但这在我的本地机器上和 kubernete pod 的容器中都不起作用(思考网络规则GCE 过于复杂)。

有人可以建议哪里有问题吗?理想情况下,我想为 kubenetes 容器使用内部 IP,并以某种简单的管理界面快速打开/关闭外部 IP 以维护弹性搜索服务器。

谢谢。

0 投票
2 回答
148 浏览

java - 在 Google Container Engine 中集群中的 Pod 组织

在 Kubernetes 的集群中组织 Pod 的常用方法是什么?

我有一个 Jenkins 构建服务器、Docker 注册表、Git 存储库和其他我想在 Google Container Engine 中运行的开发工具。我是否为它们中的每一个创建一个集群?或者可以在每个节点上调度多个 pod?

所以我的问题是:您会创建一个包含所有这些服务的集群还是多个集群?同样的问题适用于生产、质量保证等环境。我是为每个环境创建一个集群还是将它们放在同一个集群中?

0 投票
1 回答
1073 浏览

docker - --cap-add 在 Google Container Engine 中

我遇到了 Google Container Engine 的问题,我无法为我的 Docker 容器的运行添加功能。

我需要能够更改,iptables以便我可以通过我的 Docker VPN 容器转发流量。

当我能够将 --cap-add=NET_ADMIN 传递给运行命令时,docker 容器运行良好,但由于 GCE(似乎)只能运行图像,这似乎是不可能的。运行 docker 映像时出现权限不足错误,因此无法部署。

无论如何,我可以改变这个iptables吗?还是 GCE 就没有这个能力?

我已经检查了这个问题。其中引用了构建具有特权的图像,但似乎还没有解决。

iptables的参考命令:

iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT

iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE

0 投票
1 回答
3374 浏览

kubernetes - How to expose dynamic ports using Kubernetes service on Google Container Engine?

I am trying to connect to a Docker container on Google Container Engine(GKE) from my local machine through the internet by TCP protocol. So far I have used Kubernetes services which gives an external IP address, so the local machine can connect to the container on GKE using the service. When we create a service, we can specify only one port and cannot specify the port range. Please see the my-ros-service.yaml below. In this case, we can access the container by 11311 port from outside of GCE.

However, some applications that run on my container expose dynamic ports to connect to other applications. Therefore I cannot determine the port number that the application uses and cannot create the Kubernetes services before I run the application.

So far I have managed to connect to the container by creating many services which have different port while running the application. But this is not a realistic way to solve the problem.

My question is that:

How to connect to the application that exposes dynamic ports on Docker container from outside of the GCE by using Kubernetes service?

If possible, can we create a service which exposes dynamic port for incoming connection before running the application which runs on the container?

Any advice or information you could provide would be greatly appreciated.

Thank you in advance.

my-ros-service.yaml

0 投票
1 回答
626 浏览

rabbitmq - 使用多个端口的 Pod 到 Pod 连接

我有一个带有 2 个 Pod 的 Google Cloud Container Engine 集群,master并且slave. 他们每个人都运行 RabbitMQ 实例,该实例应该加入一个集群。

从 Docker 公开的端口在其他机器上不可用,但只能通过服务访问。这不是问题,我可以为每个实例建立一个服务(一对一,服务到 Pod),并将每个 Pod 指向相反的服务 IP。

RabbitMQ 使用多个端口进行通信的问题。这意味着服务 IP 应该从底层 Pod 打开所有这些端口。但是我无法为服务指定共享端口列表,如果我为每个端口创建一个新服务,每个端口都将拥有自己的 IP。

有没有办法使用容器引擎集群在同一内部 IP 地址上公开来自同一 Docker/Pod 的端口列表?也许一些特殊的路由配置?

0 投票
3 回答
7873 浏览

docker - 指定 Docker 在 Kubernetes pod 上运行的顺序

我正在尝试在同一个 Kubernetes pod 上运行两个 Docker,并且我希望一个 Docker 容器始终在另一个之前运行。我记得学习如何在 pod 配置文件中指定这种依赖关系,但现在找不到。Kubernetes文档也没有解释它。

这是我从另一个Stackoverflow 问题中采用的带有两个容器的示例 pod 配置。我应该如何更改此 pod 配置以运行type1容器type2

在此先感谢,诺迪尔。

0 投票
1 回答
9258 浏览

kubernetes - Kubernetes 端口和容器名称中允许使用哪些字符?

Kubernetes 中哪些模式对容器和端口的名称有效?

我在端口和容器的名称中有下划线并出现错误。用连字符替换下划线有效。