问题标签 [service-node-port-range]

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.

0 投票
1 回答
137 浏览

kubernetes - 如何在我们的网络中的 kubernetes 上托管一个简单的 html 代码?

我正在尝试在 kubernetes 上托管一个简单的 html 静态站点,并且能够将所有内容设置为按预期工作,但是当我在服务中使用负载均衡器时,它会向公众公开。

我尝试使用nodeport选项,但我们的节点没有公共 IP 来访问它。

仅使用 custer IP Iam 也无法访问它。

我们如何仅在内部托管网站以及哪种方法是正确的。

我开始研究入口控制器,但后来无法安装它来使用它。

任何帮助表示赞赏。

0 投票
2 回答
168 浏览

nginx - Digital Ocean Kubernetes:无法从浏览器访问 Nodeport

我已经使用 DOKS 建立了一个 k8s 集群(1 个节点集群)。该服务在 nodeport 配置下运行良好。但是,我无法使用http://${NodeIP}:${NodePort}浏览器访问它。我什至尝试添加防火墙规则,但我error response from backend在尝试添加新的入站 TCP 规则时遇到了问题。不是有用的错误信息!

Curl 和 Telnet 也失败了。

请在下面找到我的 dockerfile、部署和服务 yaml 文件。

Dockerfile

服务 YAML 文件

部署 YAML

Kubectl 获取 pod 输出

Kubectl 获取 svc 输出

响应

在此处输入图像描述

我在某个地方犯了错误吗?我只是在尝试 DOKS。

编辑:

添加了跟踪输出。

0 投票
0 回答
42 浏览

kubernetes - 无法通过我的 Kubernetes 集群的所有节点 IP 访问 NodePort 服务

我得到了一个基于 CentOS8 的 K8s 集群,具有以下节点:

节点1:129.XX193(主节点1)节点2
:129.XX195(主节点2)节点3
:129.XX194(工作节点)

我使用 Kubespray (v2.15.1) 安装了 Kubernetes,主要是默认设置,它安装得很好 - 这里是 pod:

现在我想使用示例 nginx 部署检查网络插件:

Pod 和服务看起来都很好:

据我了解,我现在应该能够从所有 3 个节点访问该服务,但是 3 个节点中只有 2 个在工作:

Node1 和 Node3(主机名和 IP)按预期显示所有内容:

但是,当我使用 node2 时,它卡住了:

使用内部 ClusterIP 也可以正常工作 ( curl 10.X.X.22:8080)

知道我做错了什么或需要任何进一步的信息吗?谢谢!

0 投票
1 回答
81 浏览

kubernetes - kubernetes - 无法使用 NodePort 公开 Prometheus

我在 GCP 上安装了 Prometheus,我可以进行端口转发并访问 Prometheus UI

Prometheus Pods,GCP 上的事件:

我创建了一个 NodePort(端口 30900),还创建了一个允许进入端口 30900 的防火墙

但是,当我尝试使用 http://<node_ip>:30900 访问时,无法访问该 url。此外,远程登录到主机/端口也不起作用

这是用于创建 NodePort 的 yaml(在监控命名空间中)

关于问题是什么的任何想法?我该如何调试/解决这个问题?

0 投票
2 回答
62 浏览

kubernetes - 访问 Kubeadm K8S 集群外的 NodePort 服务

我在 Windows 11 笔记本电脑上使用 Oracle Virtual Box 创建了两个 Ubuntu VM。我使用 kubeadm 和这两个 Ubuntu 虚拟机设置了一个 k8s 集群,其中一个是主节点,另一个是工作节点。两个节点都运行 Ubuntu 20.04.3 LTS 和 docker://20.10.7。我将我的 Spring Boot 应用程序部署到了 k8s 集群中,并为我的 Spring Boot 应用程序公开了一个节点端口服务,端口为 30000,但我不确定如何在集群外的 Internet 上访问我的节点端口服务。你能帮我解决这个问题吗?

kubectl 获取节点 -o 宽 kubectl 获取 svc -o 宽

以下是我在 k8s 集群中节点的 IP 地址 - master [192.168.254.94] 和 worker [192.168.254.95]。我尝试使用以下网址,但没有一个有效

http://192.168.254.94:30000/swagger-ui.html http://192.168.254.95:30000/swagger-ui.html

上面这些 url 抛出消息,上面写着拒绝连接

http://192.168.9.13:30000/swagger-ui.html http://192.168.9.14:30000/swagger-ui.html

以上这些网址表示无法访问该网站

下面是我的 application.yaml 的内容,我用于部署 spring boot 应用程序及其相应的服务

我是 k8s 的初学者,所以请帮助我了解如何在我的 k8s 集群之外访问我的节点端口服务。

0 投票
0 回答
54 浏览

kubernetes - 逃逸 k8s nodePort 范围

我被迫在托管 kubernetes 上使用通常的 nodePort 范围 30000-32000。

但是,我需要从该范围之外的每个节点公开一个特定端口。假设是端口 5000。所以,我已经在我的服务上修复了 nodePort=30033,我现在正在我的节点上尝试一个老式的 iptables 重定向,以将端口 5000“重定向”到 30033:

这行不通。我怀疑流量在我的规则被应用之前就被 kube-proxy 规则劫持了。

任何想法如何使用 k8s 创建的 iptables 规则使其工作?

0 投票
1 回答
33 浏览

spring-boot - 使用 K8S IP 和 Nodeport 访问时 Springboot Swagger Ui 抛出 Whitelabel 错误页面

我创建了一个简单的 Springboot 应用程序,它在我的 localhost 端口号 9091 上运行,它返回“Hello world!!!” 当 http://localhost:9091/helloWorld url 被调用时。

下面是我的Springboot主类和控制器类的代码片段

以下是我的 pom.xml 中的依赖项

我还可以使用以下 url http://localhost:9091/swagger-ui/index.html 访问我的 Springboot 项目的 swagger ui

在 Localhost 上访问的 Swagger UI

我已使用以下 yaml 文件配置将此 Springboot 应用程序部署到我的 k8s 集群中

我还可以使用以下 url <K8S_MASTER_NODE_IP>:<NODE_PORT (30001)> 访问 helloWorld 端点,如下所示

在浏览器上访问的节点端口服务

但是当我尝试使用以下 url http://192.168.254.94:30001/swagger-ui/index.html访问我的 Springboot 的 swagger-ui 时,我看到下面的 Whilelabel 错误页面

白标错误页面

当我使用集群主节点 ip 访问我的 springboot 应用程序时,您能否帮助我了解导致此 Whitelabel 错误页面问题的原因?

0 投票
1 回答
22 浏览

amazon-web-services - Kubernetes:为什么我点击时无法访问应用程序?

我使用 kubeadm 创建了一个 kubernetes cluser,我使用它启动它kubeadm init --pod-network-cidr=192.168.0.0/16,返回的令牌如下所示:kubeadm join 172.31.103.17:6443 --token 3e0aiz.qvzldzk6fskjvfmk --discovery-token-ca-cert-hash sha256:a295f...0d

PS:注意172.31.103.17是我的主节点的私有 IP。我尝试使用--apiserver-advertise-address=<MASTER_PUBLIC_IP>但 kubeadm init 命令卡住了。

我部署了 nginx pod,并使用 nodePort 服务公开了它。当我<localhot>:30162工人的浏览器中点击它时它工作正常,但是当我使用我的物理机器的浏览器时,<WORKER_PUBLIC_IP>:30162不起作用。

我想知道为什么 ?

PS:我集群的虚拟机部署在我的cloud guru账号上(使用ubuntu20.04镜像)

任何帮助都会非常感激!先感谢您