- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用k3d(docker中的k3s)做一些教程,而我的yml看起来像这样:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:alpine
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
type: NodePort
selector:
app: nginx
ports:
- name: http
port: 80
targetPort: 80
结果节点端口为31747:
:~$ kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 18m
nginx NodePort 10.43.254.138 <none> 80:31747/TCP 17m
:~$ kubectl get endpoints
NAME ENDPOINTS AGE
kubernetes 172.18.0.2:6443 22m
nginx 10.42.0.8:80 21m
但是wget不起作用:
:~$ wget localhost:31747
Connecting to localhost:31747 ([::1]:31747)
wget: can't connect to remote host: Connection refused
:~$
我错过了什么?我确保我的标签都说
app: nginx
,而
containerPort
,
port
和
targetPort
都为80
最佳答案
问题是,从主机映射到充当节点的Docker容器的NodePort范围是什么。命令docker ps
将向您显示,有关更多详细信息,您可以docker inspect $container_id
并查看Ports
下的NetworkSettings
属性。我周围没有k3d,但这是一个实物示例。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1d2225b83a73 kindest/node:v1.17.0 "/usr/local/bin/entr…" 18 hours ago Up 18 hours 127.0.0.1:32769->6443/tcp kind-control-plane
$ docker inspect kind-control-plane
[
{
# [...]
"NetworkSettings": {
# [...]
"Ports": {
"6443/tcp": [
{
"HostIp": "127.0.0.1",
"HostPort": "32769"
}
]
},
# [...]
}
]
如果不是,按照注释中的建议使用
kubectl port-forward
可能是最简单的方法。或者,开始研究Ingress。 Ingress是暴露集群外部工作负载的首选方法,对于此类情况,Int是
they have support。看来k3d也可以使用
map the ingress port to the host。
关于nginx - Kubernetes NodePort不监听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63124127/
我想要一个 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
我是一名优秀的程序员,十分优秀!