K8s服务类型ELB卡在inprogress
K8s service type ELB stuck at inprogress
已部署类型为 LoadBalancer 的 K8s 服务。 EC2 实例上的 K8s 集群 运行。服务停滞在 "pending state"。
服务类型'ELB'是否需要在AWS配置参数方面做任何规定?
是的。通常你需要选项 --cloud-provider=aws
on:
- 所有 kubelet
- kube-apiserserver
- kube-controller-manager
此外,您必须确保所有 K8s 实例 (master/nodes) 都有一个 AWS instance role 允许它们 create/remove ELB 和路由(所有对 EC2 的访问都应该做)。
然后您需要确保所有节点都被标记:
- 键:KubernetesCluster,值:'your cluster name'
- 键:k8s.io/role/node,值:1(仅适用于节点)
- 键:kubernetes。io/cluster/kubernetes,值:拥有
确保您的子网也被标记:
- 键:KubernetesCluster,值:'your cluster name'
另外,你的 Kubernetes 节点定义,你应该有这样的东西:
ProviderID: aws:///<aws-region>/<instance-id>
一般来说,如果您使用的是 K8s 1.13.0
的 Beta 版 Kubernetes Cloud Controller Manager,则不需要以上所有内容
已部署类型为 LoadBalancer 的 K8s 服务。 EC2 实例上的 K8s 集群 运行。服务停滞在 "pending state"。
服务类型'ELB'是否需要在AWS配置参数方面做任何规定?
是的。通常你需要选项 --cloud-provider=aws
on:
- 所有 kubelet
- kube-apiserserver
- kube-controller-manager
此外,您必须确保所有 K8s 实例 (master/nodes) 都有一个 AWS instance role 允许它们 create/remove ELB 和路由(所有对 EC2 的访问都应该做)。
然后您需要确保所有节点都被标记:
- 键:KubernetesCluster,值:'your cluster name'
- 键:k8s.io/role/node,值:1(仅适用于节点)
- 键:kubernetes。io/cluster/kubernetes,值:拥有
确保您的子网也被标记:
- 键:KubernetesCluster,值:'your cluster name'
另外,你的 Kubernetes 节点定义,你应该有这样的东西:
ProviderID: aws:///<aws-region>/<instance-id>
一般来说,如果您使用的是 K8s 1.13.0