gpt4 book ai didi

kubernetes - 如何配置 Kubernetes 裸机入口 Controller 来监听端口 80?

转载 作者:行者123 更新时间:2023-12-03 12:20:32 25 4
gpt4 key购买 nike

我有一个 Kubernetes 设置,有 1 个主服务器和 1 个从属服务器,托管在 DigitalOcean Droplets 上。
为了公开我的服务,我想使用 Ingresses。

由于我安装了裸机,我必须配置自己的入口 Controller 。
如何让它监听端口 443 或 80 而不是 30000-32767 范围?

为了设置入口 Controller ,我使用了本指南:https://kubernetes.github.io/ingress-nginx/deploy/

我的 Controller 服务如下所示:

apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
type: NodePort
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
- name: https
port: 443
targetPort: 443
protocol: TCP
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx

现在很明显,因为 NodePort 范围是 30000-32767,所以这个 Controller 没有映射到端口 80 或 443:
➜ kubectl get services --all-namespaces
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx ingress-nginx NodePort 10.103.166.230 <none> 80:30907/TCP,443:30653/TCP 21m

最佳答案

我同意@Matthew L Daniel,如果您不考虑使用外部负载均衡器,最好的选择是与 ingress-nginx 共享主机网络接口(interface)Pod 通过启用 hostNetwork Pod 规范中的选项:

template:
spec:
hostNetwork: true

因此,NGINX Ingress Controller 可以将端口 80 和 443 直接绑定(bind)到 Kubernetes 节点,而无需将特殊的代理端口(30000-32767)映射到嵌套服务。查找更多信息 here .

关于kubernetes - 如何配置 Kubernetes 裸机入口 Controller 来监听端口 80?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53897501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com