【问题标题】:How to get information about a kubernetes installation?如何获取有关 Kubernetes 安装的信息?
【发布时间】:2021-03-01 17:07:33
【问题描述】:

假设您安装了 kubernetes,但您不知道安装 K8s 集群的时间和方法。
我说的是 K8s 基础架构本身,而不是集群上运行的 K8s 应用程序。

你是怎么找到的?

我正在寻找这样的东西:

kubectl/kubeadm(or some other command) cluster info

对于这样的回应:
(方法/日期/节点)

  • kubeadm-manually 2020-10-10T12:06:43 3nodes
  • RKE 2020-10-10T12:06:43 3nodes
  • EKS 2020-10-10T12:06:43 3nodes

目前我正在做的是寻找文件系统和 kubernetes 资源上的跟踪(是否存在特定于方法的 pod、命名空间、标签等)

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    kubectl 集群信息

    有一个命令kubectl cluster-info,但它只显示集群中master和服务的端点信息。

    来自 docker 桌面的示例。

    kubectl cluster-info
    Kubernetes master is running at https://kubernetes.docker.internal:6443
    KubeDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
    

    来自 gke 的示例

    kubectl cluster-info
    Kubernetes master is running at https://xx.xxx.xxx.xx
    GLBCDefaultBackend is running at https://xx.xxx.xxx.xx/api/v1/namespaces/kube-system/services/default-http-backend:http/proxy
    KubeDNS is running at https://xx.xxx.xxx.xx/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
    Metrics-server is running at https://xx.xxx.xxx.xx/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy
    

    节点数

    如果您不想检查集群中有多少节点,可以使用kubectl get nodes

    桌面上 docker 的示例。

    kubectl get nodes
    NAME             STATUS   ROLES    AGE     VERSION
    docker-desktop   Ready    master   5d22h   v1.19.3
    

    来自 gke 的示例

    kubectl get nodes
    NAME                                       STATUS   ROLES    AGE     VERSION
    gke-cluster-4-default-pool-ae8cecd9-m6br   Ready    <none>   2d16h   v1.16.13-gke.401
    gke-cluster-4-default-pool-ae8cecd9-n9nz   Ready    <none>   2d16h   v1.16.13-gke.401
    gke-cluster-4-default-pool-ae8cecd9-tb9f   Ready    <none>   2d16h   v1.16.13-gke.401
    

    如果您不想只获得正在运行的节点数。

    kubectl get nodes --no-headers | grep -v Running | wc -l
    

    方法

    您可以尝试使用来自这个stackoverflow 问题的几个命令来做到这一点。

    例如:

    • kubectl config current-context
    • kubectl config view -o jsonpath='{.clusters[].name}'
    • kubectl -n kube-system get configmap kubeadm-config -o yaml &lt;--- kubeadm only

    日期

    找不到任何相关信息,作为一种解决方法,您可以尝试检查节点/kube api-server creationTimestamp,但如果节点/kube api-server pod 有任何重新启动,则数据将得到更新。

    来自 docker 桌面的示例。

    kubectl get node docker-desktop -o jsonpath='{.metadata.creationTimestamp}'
    2020-11-13T10:09:10Z
    
    kubectl get pods -n kube-system kube-apiserver-docker-desktop -o jsonpath='{.metadata.creationTimestamp}' 
    2020-11-13T10:10:12Z
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-28
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 2021-01-24
      • 2011-07-22
      • 2021-01-17
      相关资源
      最近更新 更多