- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个正在运行的 pod,它是使用以下 pod-definition.yaml
创建的:
apiVersion: v1
kind: Pod
metadata:
name: microservice-one-pod-name
labels:
app: microservice-one-app-label
type: front-end
spec:
containers:
- name: microservice-one
image: vismarkjuarez1994/microserviceone
ports:
- containerPort: 2019
然后我使用以下 service-definition.yaml
创建了一个服务:
kind: Service
apiVersion: v1
metadata:
name: microserviceone-service
spec:
ports:
- port: 30008
targetPort: 2019
protocol: TCP
selector:
app: microservice-one-app-label
type: NodePort
然后我运行 kubectl describe node minikube
来找到我应该连接到的节点 IP——它产生了:
Addresses:
InternalIP: 192.168.49.2
Hostname: minikube
但是当我运行以下 curl 命令时,我没有得到任何响应:
curl 192.168.49.2:30008
当我尝试从浏览器访问 192.168.49.2:30008
时,请求也会超时。
pod 日志显示容器已启动并正在运行。为什么我无法访问我的服务?
最佳答案
问题是您正试图通过 port
参数访问您的服务,该参数是服务将公开的内部端口,即使在使用 NodePort
类型时也是如此.
您正在搜索的参数称为 nodePort
,可以选择将其与 port
和 targetPort
一起指定。引用 documentation :
By default and for convenience, the Kubernetes control plane willallocate a port from a range (default:
30000-32767
)
由于您没有指定 nodePort
,因此会自动选择范围内的一个。您可以通过以下方式检查是哪一个:
kubectl get svc -owide
然后在该端口从外部访问您的服务。
作为替代方案,您可以将服务定义更改为:
kind: Service
apiVersion: v1
metadata:
name: microserviceone-service
spec:
ports:
- port: 30008
targetPort: 2019
nodePort: 30008
protocol: TCP
selector:
app: microservice-one-app-label
type: NodePort
但请记住,您可能需要删除服务并重新创建它以更改分配的 nodePort
。
关于kubernetes - 无法连接到 Kubernetes NodePort 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71634186/
我想要一个 NodePort 服务的节点端口(比如 30034)的 tcpdump 指向 Kubernetes 集群中的一个 pod。此节点端口服务映射到路径下的入口资源内。当我使用入口内配置的主机访
我正在尝试使用 NodePort与 kind但不知何故它不想工作。 我已经成功部署了以下集群: apiVersion: kind.x-k8s.io/v1alpha4 kind: Cluster nod
所以我在 Google Cloud 上设置了一个完整的堆栈,我有几个组件需要相互通信,所以我想出了以下流程: 入口 -> Apache 服务 -> Apache 部署(2 个实例) -> 应用服务 -
我正在尝试运行 3 节点 Kubernetes 集群。我已经启动并充分运行集群,以便在不同节点上运行服务。不幸的是,我似乎无法让基于 NodePort 的服务正常工作(正如我所理解的正确性......
我正在关注这个示例,以便使用 Kubernetes 创建一个 Docker 注册表: https://robertbrem.github.io/Microservices_with_Kubernete
我在 virtualbox 环境中有一个包含 3 个节点的集群。我用标志创建了集群 kubeadm init --pod-network-cidr=10.244.0.0/16 然后我安装了法兰绒并将其
我有一个由 3 个虚拟机组成的集群,我在上面安装了 kubernetes 并部署了一些我希望可以从外部访问的 pod 和服务(例如我的本地电脑) 我遵循了本教程 https://kubernetes.
我的情况是,目前,我正在将我的应用程序作为 Daemon 集运行,并希望将 Datadog 集成到我的基础架构中。 据我了解,守护进程集的目的是确保每个集的一个 pod 在每个节点上运行。 在这里,我
按照 kubernetes.io 上的交互式教程进行操作其中 NodePort类型服务是通过 kubectl expose deploy kubernetes-bootcamp --type="Nod
我正在使用 AWS EKS 运行 Kubernetes。我正在为 nodeport 服务执行一些负载测试,并在访问 pod 未运行的节点时看到 ~16k-20k 的并发连接限制。我想知道是否有某种方法
我是 kubernetes 的新手,我想了解当我们让 NodePort 向外界公开端口时,kubernetes 网络是如何工作的。 假设我们的 kubernetes 集群中有两个节点,分别称为 Nod
有没有办法在 kubernetes 服务 YAML 定义中指定自定义 NodePort 端口?我需要能够在我的配置文件中明确定义端口。 最佳答案 您可以设置类型NodePort在您的Service部署
我正试着用Kind来使用NodePort,但不知何故它不想工作。。我已经成功部署了以下集群:。然后是一个非常简单的部署:。和一项服务:。并且我可以通过例如。但我无法通过公开的NodePort连接到该服
我尝试打开 nodePort 80/443,但失败了,因为它超出了默认的 nodePort 范围。 解决方案是将 - --service-node-port-range 选项添加到静态 pod kub
如何更改 Kubernetes NodePort 服务超时? 我已经通过使用 apache2 网络服务器运行无限循环 php 代码对其进行了测试,但 3 分钟后它以 nginx 的 504 网关超时结
apiVersion: v1 kind: Service metadata: name: nginx labels: name: nginx spec: ports: #
我有以下服务配置: kind: Service apiVersion: v1 metadata: name: web-srv spec: type: NodePort selector:
我刚刚开始使用 Kubernetes,我对 NodePort 和 LoadBalancer 类型的服务之间的区别感到困惑。 我理解的区别是 LoadBalancer 不支持 UDP,但除此之外,每当我
部署新的工作负载时,Rancher 2在“端口”部分提供了4个选项: NodePort HostPort 群集IP 第4层负载均衡器 有什么区别?尤其是在NodePort,HostPort和群集IP之
我有一个正在运行的 pod,它是使用以下 pod-definition.yaml 创建的: apiVersion: v1 kind: Pod metadata: name: microserv
我是一名优秀的程序员,十分优秀!