kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-0.31.1/deploy/static/provider/baremetal/deploy.yaml
我认为安装看起来很好:
kubectl get all -n ingress-nginx
NAME READY STATUS RESTARTS AGE
pod/ingress-nginx-admission-create-b8smg 0/1 Completed 0 8m21s
pod/ingress-nginx-admission-patch-6nbjb 0/1 Completed 1 8m21s
pod/ingress-nginx-controller-78f6c57f64-m89n8 1/1 Running 0 8m31s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/ingress-nginx-controller NodePort 10.107.152.204 <none> 80:32367/TCP,443:31480/TCP 8m31s
service/ingress-nginx-controller-admission ClusterIP 10.110.191.169 <none> 443/TCP 8m31s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/ingress-nginx-controller 1/1 1 1 8m31s
NAME DESIRED CURRENT READY AGE
replicaset.apps/ingress-nginx-controller-78f6c57f64 1 1 1 8m31s
NAME COMPLETIONS DURATION AGE
job.batch/ingress-nginx-admission-create 1/1 2s 8m31s
job.batch/ingress-nginx-admission-patch 1/1 3s 8m31s
然而,当尝试应用自定义Ingress时,我收到以下错误消息:
服务器错误(InternalError):在创建“yaml/xxx/xxx-ingress.yaml”时出错:发生内部错误:调用webhook“validate.nginx.ingress.kubernetes.io”失败:Post https://ingress-nginx-controller-admission.ingress-nginx.svc:443/extensions/v1beta1/ingresses?timeout=30s: Temporary Redirect
有什么想法是怎么回事吗?
我怀疑是DNS的问题,但其他NodePort服务按预期工作,并且DNS在集群内部工作。
我唯一能看到的是,我没有这里的默认的http后端。然而,根据此线程,在我的情况下似乎很正常。
最后,我还尝试了使用清单进行安装(在从先前安装中删除ingress-nginx命名空间之后)和通过Helm图表进行安装。结果相同。
我在k8s上是一个新手,这是我的游乐场集群。因此,我也可以接受替代方案,只要我不需要从头开始设置整个集群。
更新: 通过“应用自定义Ingress”,我的意思是:
kubectl apply -f <myIngress.yaml>
myIngress.yaml的内容apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: my-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /someroute/fittingmyneeds
pathType: Prefix
backend:
serviceName: some-service
servicePort: 5000
kubectl apply -f <myIngress.yaml>
。我已经在原帖中添加了这些信息。 - PhotonTamer