首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jenkins-x创建Amazon集群,自动分词器在偶数节点上生成失败的入口。

使用jenkins-x创建Amazon集群,自动分词器在偶数节点上生成失败的入口。
EN

Stack Overflow用户
提问于 2018-12-03 15:47:56
回答 2查看 537关注 0票数 0

我正在使用jenkins和以下内容创建Amazon集群:

代码语言:javascript
复制
jx create cluster eks -n demo --node-type=t3.xlarge --nodes=1 --nodes-max=5 --nodes-min=1 --skip-installation

然后,根据指南,我添加了用于自动发现的集群-自动分词器IAM策略,以及在自动标注组和创建的实例上添加的标记。

我在这个文件(kubectl create -f rbac-config.yaml)中添加了分蘖和自动分配器的rbac角色:

代码语言:javascript
复制
apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: autoscaler
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: autoscaler
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: autoscaler
    namespace: kube-system

我安装了舵柄:

helm init --service-account tiller

并安装了集群自动分频器:

helm install stable/cluster-autoscaler -f cluster-autoscaler-values.yaml --name cluster-autoscaler --namespace kube-system

然后我安装jenkins系统:

jx install --provider=eks --domain=mydomain.com --default-environment-prefix=demo --skip-setup-tiller

我只接受所有关于问题的默认值(为我创建的nginx-ingress)。

然后,我创建了一个缺省的spring-boot-rest-prometheus应用程序:

jx create quickstart

同样,接受所有的默认设置。这很好,由jenkins收集的应用程序是编译的,我可以在下面看到:

http://jenkins.jx.mydomain.com

我可以通过以下方式访问这个应用程序:

http://spring-boot-rest-prometheus.jx-staging.mydomain.com

然后运行一个测试,以确定自动分配器是否正确工作,因此我在charts/spring-boot-rest-prometheus/values.yaml中打开文件并将replicaCount: 1更改为replicaCount: 8。承诺和推动。这启动了Jenkins管道,并启动了一个新节点,因为autoscaler看到第一个节点上没有足够的cpu资源。

在第二个节点出现后,我无法再通过域名与Jenkins和应用程序联系。所以出于某种原因,我的入口不再起作用了。

我经常使用这个方法,并在EC2上直接手动更改所需的节点数,当节点数为偶数时,域是不可到达的,当有奇数节点时,域是可访问的。

我认为这与自动分配器无关,因为升级和缩小都很好,如果手动更改服务器的所需节点,也会出现问题。

是什么导致入口失败的偶数节点?我怎样才能进一步调查这个问题?

所有入口部件的原木和散料器都张贴在这里上。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-14 19:45:26

FWIW,我似乎遇到了这个问题:

https://github.com/kubernetes/kubernetes/issues/64148

仍然检查AWS支持是否也是EKS的情况,但这似乎是非常合理的。

票数 0
EN

Stack Overflow用户

发布于 2018-12-03 21:02:24

您可以通过查看AWS ASG (AutoScaling组)和负载均衡器 (ELB)目标实例来调试这一点。

可以看到,这些实例正在添加到ASG中:

然后,您可以在负载均衡器中看到实例正在服务:

可能是一些偶数的实例没有使用。它们是否恰好位于不同的可用区域?那些是“奇数”的数字是否被从ELB中删除?通信量没有被转发给他们吗?

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

https://stackoverflow.com/questions/53597201

复制
相关文章

相似问题

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