我正在尝试在AWS EKS中实现nginx入口控制器。一切工作正常,并且符合预期。这是按预期安装和工作的东西。
现在,当我部署我的应用程序时,它显示出一些不同的行为,如下所示
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-world-t2
namespace: nexus-sitb
labels:
app: hello-world-t2
environment: dev
opa-enable: "true"
spec:
replicas: 1
strategy:
type: RollingUpdate
selector:
matchLabels:
app: hello-world-t2
environment: dev
opa-enable: "true"
template:
metadata:
labels:
app: hello-world-t2
environment: dev
opa-enable: "true"
test-opa: "true"
spec:
containers:
- name: hello-world-t2
image: registry.hub.docker.com/ajoysinha/helloworld:latest
imagePullPolicy: Always
ports:
- containerPort: 9898
---
---
apiVersion: v1
kind: Service
metadata:
name: hello-world-t2
namespace: nexus-sitb
labels:
app: hello-world-t2
environment: dev
spec:
ports:
- port: 9898
name: http-hello-world-t2
protocol: TCP
targetPort: 9898
selector:
app: hello-world-t2
environment: dev
---
部署和服务运行正常。
现在我正在尝试使用入口公开我的服务。入口Yaml如下
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: ingress-helloworld
namespace: nexus-sitb
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: /*
nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
nginx.ingress.kubernetes.io/secure-backends: "false"
spec:
rules:
- host: helloworld.ajoydomain
http:
paths:
- path: /
backend:
serviceName: hello-world-t2
servicePort: 9898
通过上述部署,如果我配置主机文件,则该应用程序可在URL helloworld.ajoydomain中使用
但是,如果我在上面的入口yaml文件中删除了主机条目,则该应用程序无法通过ALB DNS使用。紧随其后的入口Yaml,正在创建入口资源,但端点为空白。
Kubernets入口图片位于ingress page in dashboard
对于第一个,我没有主机条目,但是对于第二个,我没有主机条目。其他所有东西都一样。