我已经在Kubespray的帮助下安装了kubernetes集群。具有3个节点的群集(2个主节点
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
node1 Ready master 12d v1.18.5
node2 Ready master 12d v1.18.5
node3 Ready <none> 12d v1.18.5
我在node1(10.1.10.110)中部署了这个pod并公开了nodeport服务,如图所示。
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
default pod/httpd-deployment-598596ddfc-n56jq 1/1 Running 0 7d21h 10.233.64.15 node1 <none> <none>
---
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
default service/httpd-service NodePort 10.233.16.84 <none> 80:31520/TCP 12d app=httpd
服务说明
$ kubectl describe services -n default httpd-service
Name: httpd-service
Namespace: default
Labels: <none>
Annotations: <none>
Selector: app=httpd
Type: NodePort
IP: 10.233.16.84
Port: <unset> 80/TCP
TargetPort: 80/TCP
NodePort: <unset> 31520/TCP
Endpoints: 10.233.64.15:80
Session Affinity: None
External Traffic Policy: Cluster
问:我可以从 node1:31520(Pod 实际部署的位置)访问服务,但无法从其他节点访问相同的服务(node2:31520(或)节点3:31520)
$curl http://10.1.10.110:31520
<html><body><h1>It Works!</h1></body></html>
but if I curl with other node IP, timed out response
$curl http://10.1.10.111:31520
curl (7): Failed connect to 10.1.10.111; Connection timed out
$curl http://10.1.10.112:31520
curl (7): Failed connect to 10.1.10.112; Connection timed out
有人能建议我错过了什么吗?
因为10.1.10.110上只有一个吊舱
您的curl是错误的,您没有在111和112个节点上部署pod,这就是endpoint不工作的原因。只需在其他节点上执行curlhttp://10.1.10.110:31520
,它就会工作
理想情况下,您应该能够使用任何节点IP通过NodePort访问pod。如果库贝代理或CNI插件(calico等)在您的集群中无法正常工作,那么它可能会导致通过未调度Pod的节点IP无法访问pod的问题。
检查此相关问题kubernetes:无法从其他机器访问NodePort
情况有点复杂。我通过OpenCV归档了几个CCTV摄像头提要(rtsp、h264、无音频),虽然OpenCV工作正常,但CPU利用率太高,开始一次又一次地丢失一些帧。 为了降低CPU利用率,我开始使用FFMPEG跳过解码和编码过程,这在我的家用机器上非常有效。然而,当我连接到我的大学VPN并试图将其部署到我们的实验室服务器上时,FFmpeg无法读取任何帧,ffplay也无法获取任何内容。然而,Op
你可以在 属性检查器 里修改节点和组件,也能在脚本中动态修改。动态修改的好处是能够在一段时间内连续地修改属性、过渡属性,实现渐变效果。脚本还能够响应玩家输入,能够修改、创建和销毁节点或组件,实现各种各样的游戏逻辑。要实现这些效果,你需要先在脚本中获得你要修改的节点或组件。 在本篇教程,我们将介绍如何 获得组件所在的节点 获得其它组件 使用 属性检查器 设置节点和组件 查找子节点 全局节点查找 访问
你可以在 属性检查器 里修改节点和组件,也能在脚本中动态修改。动态修改的好处是能够在一段时间内连续地修改属性、过渡属性,实现渐变效果。脚本还能够响应玩家输入,能够修改、创建和销毁节点或组件,实现各种各样的游戏逻辑。要实现这些效果,你需要先在脚本中获得你要修改的节点或组件。 在本篇教程,我们将介绍如何 获得组件所在的节点 获得其它组件 使用 属性检查器 设置节点和组件 查找子节点 全局节点查找 访问
file1.go里 room.go里 是可以的 但是main.go里 就保存后直接给我删除了 "./file1" 在vscode里 就保存后直接给我删除了 "./file1" 在vscode里 我想在main.go里可以访问 file1.go的全局变量
问题内容: 我正在研究TypeScript中私有成员的实现,但我感到有些困惑。Intellisense不允许访问私有成员,但是在纯JavaScript中,仅此而已。这使我认为TS无法正确实现私有成员。有什么想法吗? 问题答案: 就像类型检查一样,成员的隐私仅在编译器中强制执行。 私有属性被实现为常规属性,并且不允许类外的代码对其进行访问。 为了使某些东西真正成为类的私有对象,它不能成为该类的成员,
问题内容: 我的班级有一个名为DataStorage的哈希图: 如何在另一个类中访问此HashMap中的数据? 问题答案: 将HashMap创建为实例变量,并提供一种将其访问类API的方法:
本文向大家介绍RabbitMQ 每个节点是其他节点的完整拷贝吗?为什么?相关面试题,主要包含被问及RabbitMQ 每个节点是其他节点的完整拷贝吗?为什么?时的应答技巧和注意事项,需要的朋友参考一下 不是,原因有以下两个: 存储空间的考虑:如果每个节点都拥有所有队列的完全拷贝,这样新增节点不但没有新增存储空间,反而增加了更多的冗余数据; 性能的考虑:如果每条消息都需要完整拷贝到每一个集群节点,那新
有人问过我这个问题。我没能给出正确的答案。你能帮我一下吗?为什么我们不能在setTimeout中访问事件(e)的值?