如果您正在寻找LoadBalancer类型服务的IP,则它将在kubectl get service name-of-your-service -o yaml或kubectl describe service name-of-your-service的输出中的许多其他内容中报告。但是请注意,使用kubeadm创建的集群本身并不提供外部负载均衡器(这就是为什么它们被称为外部负载均衡器),如果您打算手动设置一个功能齐全的生产集群,您将需要另外使用类似MetalLB的东西。
如果您正在查找NodePort类型服务的IP,则这些将是您通过在其上运行kubeadm join命令而同化到群集中的工作节点(虚拟)机器的所有IP。如果你不记得它们,那么你可以使用kubectl get nodes -o wide,就像other answer中建议的那样。
6条答案
按热度按时间xqkwcwgp1#
这应该相当简单:
kubectl get nodes -o wide
2nc8po8w2#
此命令显示节点名称、私有和公共IP地址。
6mw9ycah3#
通常,Kubernetes集群没有单一IP。Minikube拥有它,因为它是一个特殊的1节点案例。大多数生产集群将以这样或那样的方式使用许多网络内部、集群内部和外部IP地址进行操作。例如,每个节点通常部署在一个单独的(虚拟)机器上,该机器具有自己的IP地址,可以是外部或网络内部(如10.x.y.z或192.168.x.y),具体取决于您的网络设置。此外,许多kubernetes对象,如pod或服务也有其IP(集群内部或外部)。现在的问题是你需要IP做什么:
kubectl
与之对话的端点),那么在使用kubeadm
手动创建集群的情况下,这将是你使用kubeadm init
命令创建的主节点的IP(假设单个主节点)。详见官方文档。要使用kubectl
与您的集群通信,您需要一些授权数据,但IP除外:请参阅上述文件的后续部分如何获得它。LoadBalancer
类型服务的IP,则它将在kubectl get service name-of-your-service -o yaml
或kubectl describe service name-of-your-service
的输出中的许多其他内容中报告。但是请注意,使用kubeadm
创建的集群本身并不提供外部负载均衡器(这就是为什么它们被称为外部负载均衡器),如果您打算手动设置一个功能齐全的生产集群,您将需要另外使用类似MetalLB的东西。NodePort
类型服务的IP,则这些将是您通过在其上运行kubeadm join
命令而同化到群集中的工作节点(虚拟)机器的所有IP。如果你不记得它们,那么你可以使用kubectl get nodes -o wide
,就像other answer中建议的那样。2guxujil4#
要获取有关
Kubernetes objects
的信息,您应该使用kubectl get <resource>
或kubectl describe <resource>
。在文档中
显示一个或多个资源
打印有关指定资源的最重要信息的表。您可以使用标签选择器和--selector标志来过滤列表。如果所需的资源类型是有名称空间的,那么除非传递--all-namespaces,否则只能看到当前名称空间中的结果。
如果您将检查
kubectl get
的手册,您将获得有关-o
标志的信息。-o,--output='':输出格式。标签:JSON| YAML|宽|名称|自定义列=.| custom-columns-file=.| go-模板=.| go模板文件=.| jsonpath=.| jsonpath-file=.参见自定义列[http://kubernetes.io/docs/user-guide/kubectl-overview/#custom-columns]、golang模板[http://golang.org/pkg/text/template/#pkg-overview]和jsonpath模板http://kubernetes.io/docs/user-guide/jsonpath(http://kubernetes.io/docs/user-guide/jsonpath]).
这意味着你可以得到
YAMLs
或JSON
的输出。详细信息可以在此文档中找到。正如@Bernard Halas提到的,你可以只使用
kubectl get nodes -o wide
。另一种选择是将
describe
与grep
一起使用。-A
将打印尾随上下文的数字行。如果您需要获取每个节点的信息列表,这很有帮助。您也可以使用
YAML
或JSON
。输出将与前一个类似。另外,如果你需要一些特定的输出(只有你需要的信息,而不是默认打印),你可以使用自定义列。基于
YAML
。zysjyyx45#
下面的命令应该显示cluser中每个节点的内部IP地址:
它还显示主机名(如果已配置
14ifxucb6#
最简单的方法是