如何检查我的 kube 上的入口控制器以及默认值是啥
Posted
技术标签:
【中文标题】如何检查我的 kube 上的入口控制器以及默认值是啥【英文标题】:How can I check what ingress controller I have on my kube and what is the default如何检查我的 kube 上的入口控制器以及默认值是什么 【发布时间】:2019-04-17 08:42:02 【问题描述】:我有 kubeadm 和 Kubernetes v1.12,没有 AWS 或 Google Cloud。
我想知道安装的 Kubernetes 集群是否已经有一个入口控制器,如果它有两个,默认是什么。
谢谢:)
【问题讨论】:
【参考方案1】:您可以通过以下方式检查实现入口控制器的 pod(实际上名称中包含入口):
kubectl get pods --all-namespaces | grep ingress
以及暴露它们的服务:
kubectl get service --all-namespaces | grep ingress
正如@Prafull Ladha 所说,默认情况下您不会有入口控制器。 documentation states 表示“在 GCE/Google Kubernetes Engine 以外的环境中,需要将控制器部署为 pod”。
【讨论】:
【参考方案2】:在 kubeadm 定义的 kubernetes 集群上不会定义任何 ingress 或 ingress-controller。
您可以定义自己的入口资源,了解更多信息here
要使入口资源正常工作,您必须运行入口控制器。该控制器与其他控制器不同,后者作为 kube-controller-manager 的一部分运行并作为集群创建的一部分自动创建。
您需要选择适合您的集群的入口控制器实现。 Kubernetes 目前支持和管理 nginx 和 google 入口控制器。您还可以选择其他入口控制器,例如 Traefik 或 kong。
希望对你有帮助
【讨论】:
是的,Istio 是一个很好的服务组合,它可以为您提供比普通入口提供的更多的功能。它可以处理与流量管理、服务发现、负载平衡、指标和监控等服务相关的所有问题。 很高兴知道 kubernetes 默认没有内置入口控制器。 @PrafullLadha Istio 不会自行提供入口。 Ingress Gateway 依赖于普通的 kubernetes LoadBalancer 类型的 Service。以上是关于如何检查我的 kube 上的入口控制器以及默认值是啥的主要内容,如果未能解决你的问题,请参考以下文章