首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到工作的人

找不到工作的人
EN

Server Fault用户
提问于 2020-06-17 17:16:20
回答 1查看 1.5K关注 0票数 0

我一直试图让一个HAProxy大会在我的kubernetes集群上工作。我一直在遵循自述(https://github.com/jcmoraisjr/haproxy-ingress/tree/master/examples/deployment)中的指令。我在它的日志里看到了这个入口豆荚:

代码语言:javascript
复制
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"

值得注意的是,在自述文件中似乎不起作用的一点是:

代码语言:javascript
复制
kubectl --namespace=ingress-controller create -f haproxy-ingress.yaml

该命令在此错误中失败:

代码语言:javascript
复制
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)。我只需加上一行:

代码语言:javascript
复制
serviceAccountName: ingress-controller

直接在spec: tag之后。

我还是找不到外部地址。

当我跑的时候

代码语言:javascript
复制
kubectl describe ingress app --namespace=ingress-controller

我没有看到与主机相关的IP地址。

代码语言:javascript
复制
$ 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

如果我执行

代码语言:javascript
复制
$ kubectl get service -A -o wide

我看到没有任何服务有外部ip。

最新情况二

结果我不需要看到外部的ips。

EN

回答 1

Server Fault用户

发布于 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-backendRoleBinding的原因

docs版本 (如精细手册所描述的)似乎更完整,因为它包含ServiceClusterRoleBinding和相关组件部件。

如果你精通掌舵,你可能会更喜欢哈代舵图,因为它更多的是一站式购物。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1021911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档