问题标签 [kubernetes-pod]
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.
kubernetes - 从 pod 连接到其他 pod
基本上,我有一个部署,它创建了 3 个自动扩展的容器:PHP-FPM、NGINX 和包含应用程序的容器,所有这些都设置了秘密、服务和入口。该应用程序还在 PHP-FPM 和 NGINX 之间共享项目,所以一切都设置好了。
因为我想用 K8s 探索更多,我决定用 Redis 创建一个 pod,它也挂载一个永久磁盘(但这并不重要)。我还为 redis 创建了一个服务,如果我通过 SSH 连接到 Redis 容器并运行,一切都可以正常工作redis-cli
。
有趣的是项目无法连接到 Redis 所在的 pod。我了解 pod 之间的容器共享相同的“本地”网络,并且可以使用localhost
.
如何将我的项目连接到在其他 pod 中运行且独立扩展的 redis 服务器?Redis 服务出了什么问题?
我的 Redis 服务是这样的:
我的 Redis pod 由部署配置文件提供支持(我不一定要对其进行扩展,但我会期待它):
此外,当我点击时kubectl get service
,Redis 服务器有一个集群 IP:
kubernetes - 在client-go中观察kubernetes pod状态是否完成
我正在 k8 客户端创建一个 pod,并制作一个手表以在 pod 完成时收到通知,以便我可以读取 pod 的日志。手表界面似乎没有提供频道上的任何事件。这是代码,我将如何收到 pod 状态现已完成并准备好读取日志的通知
kubernetes - 无法通过 minikube 上的主机名 ping 其他 pod
我有一个有两个副本的 statefulSet。它的无头服务名称是“gov-svc” 它是->
- .metadata.name:sts
- .metadata.namespace:默认
- .spec.serviceName: gov-svc
- .spec.template.spec.subdomain: gov-svc
- .spec.replicas: 2
在运行 statefulSet 之前
在从 pod 运行这个 statefulSet 的两个 podsts-0
之后,ping
结果:
但是当我尝试ping sts-1
from时sts-0
,它说:
我需要通过主机名成功 ping 其他 pod。我该怎么做?
kubernetes - 如何在 kubernetes yaml 文件的环境变量中分配集群、命名空间和 pod 名称
我需要将集群、命名空间和 pod 名称从部署在 Kubernetes 集群中的容器传递给 AppDynamics 代理。
我尝试了以下方法,但这不起作用。
和
任何人都可以在这里帮助我如何收集详细信息并传递给 AppD。提前致谢。
docker - 在 Kubernetes 的工作节点之间共享存储/卷?
是否有可能拥有一个可以在 Kubernetes 的不同工作节点中存在的应用程序的两个 pod/实例之间共享的集中存储/卷?
所以解释我的情况:
我有一个带有 2 个工作节点的 Kubernetes 集群。在其中的每一个中,我都有 1 个应用程序 X 实例正在运行。这意味着我有 2 个应用程序 X 实例完全同时运行。
两个实例都订阅主题 topicX,该主题有 2 个分区,并且是 Apache Kafka 中名为 groupX 的消费者组的一部分。
据我了解,消息负载将在分区之间分配,但也会在消费者组中的消费者之间分配。到目前为止一切顺利,对吧?
所以对于我的问题:
在我的整个解决方案中,我有一个层次结构划分,具有国家和 ID 的唯一约束。country 和 ID 的每个组合都有一个 pickle 模型(python 机器学习模型),该模型存储在应用程序访问的目录中。对于国家和 ID 的每种组合,我每分钟会收到一条消息。
目前我有 2 个国家,所以为了能够正确扩展,我想在应用 X 的两个实例之间分配负载,每个实例处理自己的国家。
问题在于,使用 Kafka,可以在不同实例之间平衡消息,并且要在不知道消息属于哪个国家/地区的情况下访问每个实例中的泡菜文件,我必须在两个实例中存储泡菜文件。
有没有办法解决这个问题?我宁愿让设置尽可能简单,以便以后轻松扩展和添加第三、第四和第五个国家/地区。
请记住,这是解释问题的一种过于简化的方式。实例的数量实际上要高得多,等等。
ssh - 我是否必须从 localhost 为 get shell 提供服务?
我想使用 ssh 从 localhost 到 Pod。有什么方法可以在ssh [Pod_IP]
不使用的情况下连接使用kubectl exec -it [Pod] /bin/bash
?
结果如图所示ERROR: ssh: connect to host [ip] port 22: Connection refused
。
kubernetes - 如何在 Kubernetes 中“描述”一个 pod 时获取所有状态的历史?
我的一个豆荚有时会不断重启。当我这样做时,kubectl describe pod <podName>
我只会得到 Last 状态,而不是之前的状态。
因此,要找到问题的根源,之前查看所有其他状态会很有帮助。
amazon-web-services - 架构 Kubernetes + 微服务
我需要设计一个包含多个 spa 页面的网站解决方案。我认为作为高级设计的内容如下:-
每个 spa 页面将有一台机器,它将仅呈现 UI、执行 SSR 并从浏览器获取请求。例如,www.abc.com/foo 将被路由到这台机器。我正在考虑将应用程序 UI 代码放在 kubernetes pod 中并将其托管在机器/节点上。同样使用 KOPS,我将管理节点和 Pod 的自动缩放。
现在,pod 中的这个应用程序将调用其他 pod 以在网页上显示数据。例如,将从 pod1 调用 www.abc.com/API/foo。我正在考虑制作另一个 pod,它将与网页 pod 节点位于同一节点上。
所以现在我有 2 个 Pod 位于一个节点上,它们将根据流量自动缩放。同样,对于我网站上的每个页面,我都会有一个节点,每个节点有 2 个 pod。
我现在的问题如下: -
- 以上是否有任何最佳实践或其他设计解决方案?
- 我将如何实现基于路径的路由,例如 www.abc.com/foo 应该调用我的网页 pod?
- 如何在不使用负载均衡器的情况下将 pod 暴露给外部世界,即互联网?
- 我应该为每个 pod 设置不同的存储库吗?
kubernetes - 在 Kubernetes 中同时运行多个 pod 需要大量时间
在本地机器上,我同时运行多个 pod。即使所有 pod 几乎立即达到运行状态,也需要很长时间才能完成。在内部,我在每个 pod 上运行一个 docker 映像(1.8GB)。当我以串行顺序运行 pod 时,每个 pod 运行大约需要 12 秒,但并行运行时,时间呈指数增长,甚至至少与串行运行时间不一样。这可能是什么原因?
编辑 1
操作确实cpu密集,达到90%以上。有没有办法在 pod 来获取 cpu 资源时对它们进行排队,这样它们就不会全部放慢速度,而是每个都在队列中快速执行。