Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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公开应用程序-AWX运算符_Kubernetes_Ansible_Ansible Awx - Fatal编程技术网

Kubernetes公开应用程序-AWX运算符

Kubernetes公开应用程序-AWX运算符,kubernetes,ansible,ansible-awx,Kubernetes,Ansible,Ansible Awx,希望大家都好, 我目前正试图在Kubernetes集群上推出该服务,但在从集群外部访问该服务时遇到了一些问题 目前,我已设置了以下服务: NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE awx NodePort 10.102.30.6 <none> 8080:32155/TCP

希望大家都好,

我目前正试图在Kubernetes集群上推出该服务,但在从集群外部访问该服务时遇到了一些问题

目前,我已设置了以下服务:

NAME                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
awx                    NodePort    10.102.30.6      <none>        8080:32155/TCP      110m
awx-operator           NodePort    10.110.147.152   <none>        80:31867/TCP        125m
awx-operator-metrics   ClusterIP   10.105.190.155   <none>        8383/TCP,8686/TCP   3h17m
awx-postgres           ClusterIP   None             <none>        5432/TCP            3h16m
awx-service            ClusterIP   10.102.86.14     <none>        80/TCP              121m
kubernetes             ClusterIP   10.96.0.1        <none>        443/TCP             17h
当我创建入口,然后运行
kubectl descripe ingres
,我得到以下输出:

Name:             awx-ingress
Namespace:        default
Address:
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host               Path  Backends
  ----               ----  --------
  awx.mycompany.com
                     /   awx:80 (10.244.1.8:8080)
Annotations:         <none>
Events:              <none>
名称:awx入口
名称空间:默认值
地址:
默认后端:默认http后端:80()
规则:
主机路径后端
----               ----  --------
awx.mycompany.com
/awx:80(10.244.1.8:8080)
注释:
活动:
现在我不太确定
默认http后端:80
错误是否是一个危险因素,因为我在很多地方都看到了这一点,他们似乎并不太担心,但如果我错了,请纠正我


请告诉我,我还能做些什么来解决这个问题,我会尽快回复你。

< P>你是对的,空白地址是这里的问题。在传统的云环境中,网络负载平衡器可按需提供,单个Kubernetes清单足以为NGINX入口控制器、外部客户端以及集群内运行的任何应用程序提供单点联系

另一方面,裸机环境缺少此选项,要求您采用稍微不同的设置,以提供与外部使用者相同的访问方式:

这意味着你必须做一些额外的体操,以使进入工作。这里基本上有两个主要选项(都有很好的描述):

  • 纯软件解决方案:
  • 通过服务
这里发生的事情是,您基本上创建了一个服务类型
NodePort
,带有与入口控制器pod匹配的选择器,然后它将流量相应地路由到入口对象:

#来源:ingress nginx/templates/controller-service.yaml
版本:v1
种类:服务
元数据:
注释:
标签:
舵手:sh/chart:ingress-nginx-3.30.0
app.kubernetes.io/name:ingress nginx
app.kubernetes.io/instance:ingress nginx
app.kubernetes.io/version:0.46.0
app.kubernetes.io/managed-by:Helm
app.kubernetes.io/组件:控制器
名称:ingress nginx控制器
名称空间:ingress nginx
规格:
类型:节点端口
端口:
-名称:http
港口:80
协议:TCP
targetPort:http
-名称:https
港口:443
协议:TCP
目标端口:https
选择器:
app.kubernetes.io/name:ingress nginx
app.kubernetes.io/instance:ingress nginx
app.kubernetes.io/组件:控制器
可以找到服务的完整nginx部署


如果您希望跳过入口,您可能只需使用
nodePort
服务
awx
并直接到达它。

您可以忽略默认后端。您可能为入口选择了错误的服务/端口。请使用端口
80
尝试
awx服务
,或使用端口
8080
尝试
awx服务
。感谢您的帮助,我现在将尝试它,但在尝试之前。我见过几个地方使用
kubectl create
而不是
kubectl apply
。区别是什么?在
awx服务上运行入口时看到这个答案,在端口80上我在运行
kubectl get ingress
时得到以下输出:
名称类主机地址端口年龄awx ingress awx.mycompany.com 80 72s
我感觉到地址是空的是问题所在。
Name:             awx-ingress
Namespace:        default
Address:
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host               Path  Backends
  ----               ----  --------
  awx.mycompany.com
                     /   awx:80 (10.244.1.8:8080)
Annotations:         <none>
Events:              <none>