问题标签 [kubernetes-service]
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.
amazon-web-services - NodePort 不适用于 AWS EKS 服务器终端节点
eks 服务器端点是xxxxxxxxxxx.xxx.eks.amazonaws.com,我创建了一个包含部署和服务对象的 yml 文件。
当我浏览xxxxxxxxxxx.xxx.eks.amazonaws.com:30002时返回时间过长而无法响应。安全组在入站规则中有所有流量。
elasticsearch - 将 kubernetes 集群中流利的日志数据发送到集群外远程独立服务器中的弹性搜索但在主机网络中?
作为这个问题的另一个问题,我想知道如果外部服务无法通过互联网访问,但只能从我的 kubernetes 所在的主机网络访问,我如何从 kubernetes pod(流利的)内部访问我的外部服务(elasticsearch)托管。
这是我应用的外部服务 kubernetes 对象:
所以现在我有这个服务:
弹性搜索在那里:
但是从我的 fluentd-pod 中,我既无法在 nslookup 中解析服务名称,也无法 ping 简单 IP。这些命令都不起作用:
这是关于我的网络拓扑的描述:
192.168.57.105
我的 elasticsearch 所在的 VM 和我的 kubernetes 控制器所在的 VM都有192.168.57.102
. 如上所示,连接工作良好。
控制器节点也有 IP 192.168.56.102
。这是他与我的 kubernetes 集群的其他工作节点(也是虚拟机)在一起的网络。
我的 fluentd-pod 将自己视为172.17.0.2
. 它可以很容易地到达,192.168.56.102
但不是,192.168.57.102
虽然它是主机,也是同一个节点。
编辑
fluentd-pod 的路由表如下所示:
fluentd /etc/resolc.conf
-pod 的样子如下:
ubuntu@controller:~$ kubectl exec -ti fluentd-5lqns -n kube-system -- cat /etc/resolv.conf nameserver 10.96.0.10 search kube-system.svc.cluster.local svc.cluster.local cluster.local options点数:5
托管 kubernetes 控制器并可以访问所需的 elasticsearch 服务的 VM 的路由表如下所示:
kubernetes - 服务未在 Kubernetes 中公开
我在 GKE 中有部署和服务。我将部署公开为负载均衡器,但我无法通过服务(curl 或浏览器)访问它。我得到一个:
我可以直接转发到 pod,它工作正常:
我很可能错误地配置了我的服务,但看不到如何配置。对我所做的任何帮助将不胜感激。
服务 Yaml:
部署 YAML
输出:kubectl describe svc red-falcon-lb
kubernetes - 为什么我的 Kubernetes 服务有时只能在 EKS 上运行?
在某些情况下,我们的服务在尝试访问它们时没有得到响应。例如,Chrome 显示 ERR_EMPTY_RESPONSE,偶尔我们也会遇到其他错误,比如 408,我相当肯定它是从 ELB 返回的,而不是我们的应用程序本身。
经过长时间的调查,包括通过 ssh 连接到节点本身、试验负载均衡器等等,我们仍然不确定问题实际存在于哪一层:要么是 Kubernetes 本身,要么是来自 Amazon EKS(ELB 或否则)
- 似乎只有节点的实例(数据)端口是有问题的端口。这些问题似乎时断时续,这让我们相信这在我们的 kubernetes manifest 或 docker 配置中并不明显,而是在底层基础设施中的其他东西。有时服务和吊舱会工作,但回来早上它就会坏掉。这使我们相信问题源于 Kubernetes 中 pod 的重新分配,可能是由 AWS 中的某些东西(负载均衡器更改、自动缩放组更改等)或 Kubernetes 本身在出于其他原因重新分配 pod 时触发的。
- 在我们看到的所有情况下,健康检查端口都继续正常工作,这就是为什么 kubernetes 和 aws 都认为一切正常并且不报告任何故障的原因。
- 我们已经看到一个节点上的一些 pod 可以工作,而另一些则不能在同一个节点上工作。
- 我们已经验证 kube-proxy 正在运行,并且 iptables-save 输出在两个正在工作的 Pod 之间是“相同的”。(这意味着所有不是唯一的东西,比如 ip 地址和端口都是相同的,并且与它们应该相互关联的内容一致)。(我们使用这些说明来帮助这些说明:https ://kubernetes.io/docs/tasks/debug-application-cluster/debug-service/#is-the-kube-proxy-working
- 通过节点本身的 ssh,对于失败的 pod,我们可以通过预期的所有可能的 ip/端口访问该 pod(即应用程序本身)。
- 10. 节点本身的地址,在实例数据端口上。
- 10. pod(docker容器)在应用端口上的地址。
- 172.地址的???在应用程序端口上(我们不确定该 ip 是什么,或者 ip 路由如何到达它,因为它与 docker0 接口的 172 地址是不同的子网)。
- 从另一个节点上的 ssh,对于失败的 pod,我们无法在任何端口 (ERR_EMPTY_RESPONSE) 上访问失败的 pod。这似乎与服务/负载均衡器的行为相同。
还有什么可能导致这样的行为?
kubernetes - 是否可以在 Kubernetes 的 initContainers 上公开端口?
我想在我正在处理initContainer
的 Kubernetes中公开一个端口。Job
到目前为止,我一直没有成功,并且在阅读文档时它说:
Init Container 上的端口不聚合在服务下。
在这种情况下聚合是什么意思?
截至目前,我认为答案是否定的,因为我正在运行的实验不允许我公开端口。但是,我对 Kubernetes 还很陌生,所以我不知道我是否在其他地方犯了错误。想在我尝试进一步调试之前,我会在这里询问我正在做的事情是否可行。
kubernetes - 如何在 Kubernetes 中与 sidecar 容器中的 pod 通信?
我无法与侧车集装箱中的吊舱交谈......任何帮助将不胜感激!
这是我的部署
这是我对 pod 的服务
部署好 ingress 后,我可以连接到 service 和 sidecar2,因为 sidecar2 是通过 service 暴露的:
但是,我期待能够卷曲到侧面容器,但我不能。
这就是我所做的。我 ssh 进入 sidecar 容器。并使用以下命令卷曲位于同一位置的 pod localhost
:
有人可以帮我吗?
谢谢!
kubernetes - 使用 nodeport 访问 kubernetes 上的应用程序
亲爱的,我已经部署了一个示例服务,例如:
请问如何访问集群ip上的app mynodejsapp?
当我执行 get nodes -o wide 时,这就是我所看到的,如下所示,
任何帮助。谢谢。
kubernetes - 在 POD 中使用 Service 的 ClusterIP 地址
我正在使用集群 IP 类型的 Kubernetes 服务,它将公开一个部署。在我的容器中,我想使用服务 IP(集群 IP)。有什么方法可以获取 Pod/容器内的 IP 地址吗?
是否可以从服务名称中获取集群 IP?
kubernetes - Kubernetes:选择器在服务与部署中的作用
来自关于使用 mysql部署应用程序的文档站点的官方示例:Kubernetes
Wordpress
的服务定义mysql
:
部署定义mysql
我的问题如下:
该Deployment
定义具有matchLabel
selector
, 以便它将匹配下面定义的具有app: wordpress
和 tier:mysql
标签的 pod。
为什么Service
selector
不需要matchLabel
出于相同目的的指令?服务的“选择”是什么?