我一直试图让一个HAProxy大会在我的kubernetes集群上工作。我一直在遵循自述(https://github.com/jcmoraisjr/haproxy-ingress/tree/master/examples/deployment)中的指令。我在它的日志里看到了这个入口豆荚:
I0617 16:50:31.298997 6 launch.go:181]
Name: HAProxy
Release: v0.9
Build: git-4220104
Repository: https://github.com/jcmoraisjr/haproxy-ingress
I0617 16:50:31.299065 6 launch.go:184] Watching for ingress class: haproxy
I0617 16:50:31.299633 6 launch.go:427] Creating API client for https://10.233.0.1:443
I0617 16:50:31.307638 6 launch.go:439] Running in Kubernetes Cluster version v1.18 (v1.18.3) - git (clean) commit 2e7996e3e2712684bc73f0dec0200d64eec7fe40 - platform linux/amd64
F0617 16:50:31.308283 6 launch.go:207] no service with name ingress-controller/ingress-default-backend found: services "ingress-default-backend" is forbidden: User "system:serviceaccount:ingress-controller:default" cannot get resource "services" in API group "" in the namespace "ingress-controller"值得注意的是,在自述文件中似乎不起作用的一点是:
kubectl --namespace=ingress-controller create -f haproxy-ingress.yaml该命令在此错误中失败:
error: unable to recognize "haproxy-ingress.yaml": no matches for kind "Deployment" in version "apps/v1beta2"我不得不将apiVersion:apps/v1beta2改为apiVersion: apps/v1
这是造成问题的原因吗?
谢谢!
Upate:
我终于得到了一个没有错误的入口舱。经过多次尝试和错误之后,我最终发现我需要更新haproxy入口的“部署”(通过dashbaord)。我只需加上一行:
serviceAccountName: ingress-controller直接在spec: tag之后。
我还是找不到外部地址。
当我跑的时候
kubectl describe ingress app --namespace=ingress-controller我没有看到与主机相关的IP地址。
$ kubectl describe ingress app --namespace=ingress-controller
Name: app
Namespace: ingress-controller
Address:
Default backend: default-http-backend:80 ()
Rules:
Host Path Backends
---- ---- --------
ifs-alpha-kube.cisco.com
/ service-nodeport:80 ()
Annotations:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CREATE 37m ingress-controller Ingress ingress-controller/app
Normal UPDATE 18m (x3 over 10h) ingress-controller Ingress ingress-controller/app
Normal UPDATE 18m (x2 over 19m) ingress-controller Ingress ingress-controller/app如果我执行
$ kubectl get service -A -o wide我看到没有任何服务有外部ip。
最新情况二
结果我不需要看到外部的ips。
发布于 2020-06-18 02:13:05
"system:serviceaccount:ingress-controller:default“16:50:31.308283 6 launch.go:207]没有名字的服务-控制器/入口-默认-后端发现:服务”入口-默认-后端“被禁止:用户launch.go:207无法在API组中获取资源”服务“在名称空间”入口-控制器“中。
这里似乎发生了一些事情,但总的来说,您所链接到的yaml似乎希望that成为附加的侵入控制器,而不是唯一的一个--这就是它缺少ingress-default-backend和RoleBinding的原因
docs版本 (如精细手册所描述的)似乎更完整,因为它包含Service、ClusterRoleBinding和相关组件部件。
如果你精通掌舵,你可能会更喜欢哈代舵图,因为它更多的是一站式购物。
https://serverfault.com/questions/1021911
复制相似问题