Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何配置kubernetes裸机入口控制器以侦听端口80?_Kubernetes_Kubernetes Ingress_Cloud Bare Metal - Fatal编程技术网

如何配置kubernetes裸机入口控制器以侦听端口80?

如何配置kubernetes裸机入口控制器以侦听端口80?,kubernetes,kubernetes-ingress,cloud-bare-metal,Kubernetes,Kubernetes Ingress,Cloud Bare Metal,我有一个kubernetes设置,有一个主机和一个从机,托管在DigitalOcean上。 为了公开我的服务,我想使用入口 由于我有一个裸机安装,我必须配置自己的入口控制器。 如何让它收听端口443或80而不是30000-32767范围? 为了设置入口控制器,我使用了本指南: 我的控制器服务如下所示: apiVersion: v1 kind: Service metadata: name: ingress-nginx namespace: ingress-nginx labels:

我有一个kubernetes设置,有一个主机和一个从机,托管在DigitalOcean上。 为了公开我的服务,我想使用入口

由于我有一个裸机安装,我必须配置自己的入口控制器。 如何让它收听端口443或80而不是30000-32767范围?

为了设置入口控制器,我使用了本指南:

我的控制器服务如下所示:

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,所以这个控制器没有映射到端口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
➜ kubectl获取服务--所有名称空间
命名空间名称类型CLUSTER-IP EXTERNAL-IP端口年龄
ingress nginx ingress nginx节点端口10.103.166.230 80:30907/TCP,443:30653/TCP 21m

无法将入口服务绑定到端口80。您可以在主机上运行HAGPROST并重定向端口80443请求入口服务端口号。

< P>我同意@ Matthew L Daniel,如果您不考虑使用外部负载均衡器,最好的选择是通过“代码>主机网络< /代码>选项在PODS的规格:

中共享主机网络接口与<代码>入口NGNX POD。
template:
  spec:
    hostNetwork: true
因此,NGINX入口控制器可以将端口80和443直接绑定到Kubernetes节点,而无需将特殊代理端口(30000-32767)映射到嵌套服务。查找更多信息。

那么,谁是该
服务的消费者?您的用户是否都可以访问集群中
节点的
:80
:443
,或者您是否有防火墙将访问与实际
节点的访问隔离开来?也就是说,我解决这个问题的方法是使用
hostNetwork:true
守护程序集