[英]How to assign IP address to nginx Ingress resource in k8s?
我想在我的 Kube.netes 集群中安装 nginx-controller。 我在一台服务器上设置主节点,在另一台服务器上设置工作节点。 我正在使用 Ubuntu 20.04。
我点击了链接( https://github.com/kube.netes/ingress-nginx/blob/main/deploy/static/provider/cloud/1.23/deploy.yaml )并使用'kubectl apply -f file_name.yaml'安装 controller。
controller pod 正在运行:
NAME READY STATUS RESTARTS AGE
ingress-nginx-controller-c57bb9674-p2z9d 1/1 Running 0 70s
现在我想创建一个 Ingress 资源。 我使用了这个 yaml 文件:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-hello
namespace: ingress-nginx
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- http:
paths:
- path: /hello
pathType: Exact
backend:
service:
name: ingress-hello
port:
number: 80
但是,当我应用这个 yaml 文件并使用“ kubectl get ingress -n ingress-nginx ”时,我看到:
NAME CLASS HOSTS ADDRESS PORTS AGE
ingress-hello <none> * 80 24s
我注意到这个 Ingress 资源的地址是空的。
我只是想知道是否可以为它分配一个 IP 地址? 分配地址的任何方法/设置?
谢谢。
您可以通过http://localhost:80/hello
访问您的服务,如果您要指定自定义主机,则需要修改您的 ingnx 文件。
这是一个例子:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-hello
namespace: ingress-nginx
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: your_host
http:
paths:
- path: /hello
pathType: Exact
backend:
service:
name: ingress-hello
port:
number: 80
并且您需要打开/system32/etc/hosts
目录中的主机文件并添加您的自定义host
,然后您的服务将可以通过http://your_host:80/hello
访问
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.