k8s查看集群信息及基本命令

您所在的位置:网站首页 k8s查看资源 k8s查看集群信息及基本命令

k8s查看集群信息及基本命令

2024-01-19 10:27| 来源: 网络整理| 查看: 265

👏作者简介:大家好,我是冰点,从业11年,目前在物流独角兽企业从事技术方面工作,🍂博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人📝联系方式:iceicepip,加我进群,大家一起学习,一起进步👀

集群信息的各种查看基本上是在Master节点操作 在这里插入图片描述

1.基本命令 1.1、查看 Node状态 kubectl get nodes kubectl get node IP //节点IP可以用空格隔开写多个 1.2、查看 Service 信息 kubectl get service 1.3、查看所有名称空间内资源 kubectl get pods --all-namespaces 或者 kubectl get pods -A 1.4、同时查看多种资源信息 kubectl get pod,svc -n kube-system 1.5、查看 API 对象细节

使用 kubectl describe 命令,查看一个 API 对象的细节:

kubectl describe node IP kubectl delete node IP 1.6、查看集群信息 kubectl cluster-info Kubernetes master is running at http://localhost:8080 1.7、查看各组件信息 使用安全连接: kubectl -s https://URL get componentstatuses 未使用安全连接 kubectl -s http://URL get componentstatuses 1.8、查看资源类型所对应的Apiversion kubectl explain pod 1.9、查看帮助 kubectl explain deployment kubectl explain deployment.spec kubectl explain deployment.spec.replicas 2. K8S常用命令40条

kubectl version:查看 k8s 版本信息。

kubectl cluster-info:查看 k8s 集群信息,包括 API Server 的地址和版本以及控制平面组件的状态。

kubectl get nodes:查看集群中的节点信息,包括节点名称、IP 地址、状态和运行时间等。

kubectl get pods:查看当前命名空间下的 Pod 信息,包括 Pod 名称、所属节点、容器状态、IP 地址等。

kubectl get services:查看当前命名空间下的 Service 信息,包括 Service 名称、类型、所属端口、IP 地址等。

kubectl get deployments:查看当前命名空间下的 Deployment 信息,包括 Deployment 名称、所属 Pod、所属 ReplicaSet 等。

kubectl get configmaps:查看当前命名空间下的 ConfigMap 信息,包括 ConfigMap 名称、数据信息等。

kubectl get secrets:查看当前命名空间下的 Secret 信息,包括 Secret 名称、数据信息等。

kubectl describe:查看资源的详细信息,包括资源的属性、状态、事件等。

kubectl logs:查看 Pod 和容器的日志信息。

kubectl apply:应用 YAML 文件中定义的资源配置。

kubectl delete:删除指定的资源或资源集合。

kubectl exec:在 Pod 中的容器中执行命令。

kubectl port-forward:将本地端口转发到 Pod 中的容器中。

kubectl rollout:管理 Deployment 的滚动升级操作。

kubectl scale:扩展或缩小 Deployment 的副本数。

kubectl label:给指定资源添加标签,可以方便地对资源进行分类和筛选。

kubectl annotate:给指定资源添加注释信息,可以记录一些描述性的信息。

kubectl rollout history:查看 Deployment 的升级历史记录。

kubectl rollout undo:撤销 Deployment 的升级操作,可以回滚到之前的版本。

kubectl top:查看集群中资源的 CPU 和内存使用情况。

kubectl exec -ti:在 Pod 中的容器中打开交互式终端。

kubectl logs -f:实时查看 Pod 和容器的日志信息。

kubectl proxy:启动本地代理,可以通过代理访问 k8s 集群中的 API。

kubectl rollout pause:暂停 Deployment 的升级操作。

kubectl rollout resume:恢复 Deployment 的升级操作。

kubectl attach:连接到 Pod 中的容器,可以查看容器的标准输出和错误输出。

kubectl rollout status:查看 Deployment 的滚动升级状态。

kubectl rollout restart:重启 Deployment 中的所有 Pod。

kubectl drain:将节点设置为维护模式,可以避免节点上的 Pod 被删除。

kubectl uncordon:将节点设置为可调度状态,可以重新调度 Pod 到该节点上。

kubectl get ingresses:查看当前命名空间下的 Ingress 资源。

kubectl get namespaces:查看集群中所有命名空间的信息。

kubectl get nodes -o wide:查看节点的详细信息,包括节点的 IP 地址、标签、状态等。

kubectl get pods -o wide:查看 Pod 的详细信息,包括 Pod 所在节点的 IP 地址、容器的 IP 地址、容器状态等。

kubectl get services -o wide:查看 Service 的详细信息,包括 Service 的类型、IP 地址、端口号、所属节点等。

kubectl get deployments -o wide:查看 Deployment 的详细信息,包括副本数、所属节点、更新策略等。

kubectl rollout history deployment/ --revision=:查看指定 Deployment 的某个版本的升级历史。

kubectl rollout undo deployment/ --to-revision=:回滚指定 Deployment 到某个版本。

kubectl explain:查看 k8s API 对象的详细定义信息。

3.命令实操

好的,以下是每个命令的执行示例和响应示例:

3.1. kubectl version

执行示例:

kubectl version

响应示例:

Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.0", GitCommit:"c2b52b3f4a9d2f1a9dfffdaa49fcaa89ec6e33c4", GitTreeState:"clean", BuildDate:"2021-08-04T09:01:25Z", GoVersion:"go1.16.7", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.0", GitCommit:"c2b52b3f4a9d2f1a9dfffdaa49fcaa89ec6e33c4", GitTreeState:"clean", BuildDate:"2021-08-04T08:59:53Z", GoVersion:"go1.16.7", Compiler:"gc", Platform:"linux/amd64"} 3.2. kubectl cluster-info

执行示例:

kubectl cluster-info

响应示例:

Kubernetes master is running at https://192.168.99.100:8443 KubeDNS is running at https://192.168.99.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy 3.3. kubectl get nodes

执行示例:

kubectl get nodes

响应示例:

NAME STATUS ROLES AGE VERSION minikube Ready 12d v1.22.2 3.4. kubectl get pods

执行示例:

kubectl get pods

响应示例:

NAME READY STATUS RESTARTS AGE nginx-deployment-5d6b7cb8c4-7s2j4 1/1 Running 0 12d nginx-deployment-5d6b7cb8c4-bm9q9 1/1 Running 0 12d nginx-deployment-5d6b7cb8c4-lr6c4 1/1 Running 0 12d 3.5. kubectl get services

执行示例:

kubectl get services

响应示例:

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 443/TCP 12d nginx-service NodePort 10.98.121.103 80:30080/TCP 12d 3.6. kubectl get deployments

执行示例:

kubectl get deployments

响应示例:

NAME READY UP-TO-DATE AVAILABLE AGE nginx-deployment 3/3 3 3 12d 3.7. kubectl get configmaps

执行示例:

kubectl get configmaps

响应示例:

NAME DATA AGE nginx-config 1 12d 3.8. kubectl get secrets

执行示例:

kubectl get secrets

响应示例:

NAME TYPE DATA AGE default-token-w8t6h kubernetes.io/service-account-token 3 12d 3.9. kubectl describe

执行示例:

kubectl describe pods nginx-deployment-5d6b7cb8c4-7s2j4

响应示例:

Name: nginx-deployment-5d6b7cb8c4-7s2j4 Namespace: default Priority: 0 Node: minikube/192.168.99.101 Start Time: Sat, 29 May 2021 10:39:59 +0800 ... 3.10. kubectl logs

执行示例:

kubectl logs nginx-deployment-5d6b7cb8c4-7s2j4

响应示例:

127.0.0.1 - - [29/May/2021:10:40:31 +0800] "GET / HTTP/1.1" 200 612 "-" "curl/7.6411. kubectl apply 3.11 kubectl apply

执行示例:

kubectl apply -f nginx-deployment.yaml

响应示例:

deployment.apps/nginx-deployment created 3.12. kubectl delete

执行示例:

kubectl delete deployment nginx-deployment

响应示例:

deployment.apps "nginx-deployment" deleted 3.13. kubectl exec

执行示例:

kubectl exec -it nginx-deployment-5d6b7cb8c4-7s2j4 -- /bin/bash

响应示例:

root@nginx-deployment-5d6b7cb8c4-7s2j4:/# 3.14. kubectl port-forward

执行示例:

kubectl port-forward nginx-deployment-5d6b7cb8c4-7s2j4 8080:80

响应示例:

Forwarding from 127.0.0.1:8080 -> 80 Forwarding from [::1]:8080 -> 80 3.15. kubectl rollout

执行示例:

kubectl rollout status deployment/nginx-deployment

响应示例:

deployment "nginx-deployment" successfully rolled out 3.16. kubectl scale

执行示例:

kubectl scale deployment nginx-deployment --replicas=5

响应示例:

deployment.apps/nginx-deployment scaled 3.17. kubectl label

执行示例:

kubectl label pod nginx-deployment-5d6b7cb8c4-7s2j4 app=nginx

响应示例:

pod/nginx-deployment-5d6b7cb8c4-7s2j4 labeled 3.18. kubectl annotate

执行示例:

kubectl annotate pod nginx-deployment-5d6b7cb8c4-7s2j4 description="This pod is used for testing"

响应示例:

pod/nginx-deployment-5d6b7cb8c4-7s2j4 annotated 3.19. kubectl rollout history

执行示例:

kubectl rollout history deployment/nginx-deployment

响应示例:

deployment.apps/nginx-deployment REVISION CHANGE-CAUSE 1 2 kubectl apply --filename=nginx-deployment.yaml --record=true 3.20. kubectl rollout undo

执行示例:

kubectl rollout undo deployment/nginx-deployment --to-revision=1

响应示例:

deployment.apps/nginx-deployment rolled back 3.21. kubectl top

执行示例:

kubectl top pods

响应示例:

NAME CPU(cores) MEMORY(bytes) nginx-deployment-5d6b7cb8c4-7s2j4 1m 8Mi nginx-deployment-5d6b7cb8c4-bm9q9 1m 8Mi nginx-deployment-5d6b7cb8c4-lr6c4 1m 7Mi 3.22. kubectl exec -ti

执行示例:

kubectl exec -ti nginx-deployment-5d6b7cb8c4-7s2j4 -- /bin/bash

响应示例:

root@nginx-deployment-5d6b7cb8c4-7s2j4:/# 3.23. kubectl logs -f

执行示例:

kubectl logs -f nginx-deployment-5d6b7cb8c4-7s2j4

响应示例:

127.0.0.1 - - [29/May/2021:10:40:31 +0800] "GET / HTTP/1.1" 200 612 "-" "curl/7.64 127.0.0.1 - - [29/May/2021:10:40:41 +0800] "GET / HTTP/1.1" 200 612 "-" "curl/7.64 3.24. kubectl proxy

执行示例:

kubectl proxy

响应示例:

Starting to serve on 127.0.0.1:8001 3.25. kubectl rollout pause

执行示例:

kubectl rollout pause deployment/nginx-deployment

响应示例:

deployment.apps/nginx-deployment paused 3.26. kubectl rollout resume

执行示例:

kubectl rollout resume deployment/nginx-deployment

响应示例:

deployment.apps/nginx-deployment resumed 3.27. kubectl create

执行示例:

kubectl create deployment nginx-deployment --image=nginx:latest --replicas=3

响应示例:

deployment.apps/nginx-deployment created 3.28. kubectl edit

执行示例:

kubectl edit deployment nginx-deployment

响应示例:

deployment.apps/nginx-deployment edited 3.29. kubectl apply

执行示例:

kubectl apply -f nginx-deployment.yaml

响应示例:

deployment.apps/nginx-deployment created 3.30. kubectl rollout restart

执行示例:

kubectl rollout restart deployment/nginx-deployment

响应示例:

deployment.apps/nginx-deployment restarted

要查看 Kubernetes 集群的信息,你可以使用以下命令:

kubectl cluster-info: 查看集群信息,包括 API Server 的地址和端口、DNS 服务的 IP 地址等。

示例:

$ kubectl cluster-info Kubernetes master is running at https://127.0.0.1:6443 KubeDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

kubectl get nodes: 查看集群中的节点信息,包括节点名称、状态、IP 地址等。

示例:

$ kubectl get nodes NAME STATUS ROLES AGE VERSION node-1 Ready control-plane,master 5d3h v1.22.1 node-2 Ready 5d3h v1.22.1 node-3 Ready 5d3h v1.22.1

kubectl get pods --all-namespaces: 查看集群中所有命名空间下的 Pod 信息,包括 Pod 名称、所属命名空间、状态等。

示例:

$ kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-558bd4d5db-gm5tv 1/1 Running 0 5d3h kube-system coredns-558bd4d5db-lz5nx 1/1 Running 0 5d3h kube-system etcd-node-1 1/1 Running 0 5d3h kube-system kube-apiserver-node-1 1/1 Running 0 5d3h kube-system kube-controller-manager-node-1 1/1 Running 0 5d3h kube-system kube-flannel-ds-amd64-7k9d5 1/1 Running 0 5d3h kube-system kube-flannel-ds-amd64-rkq9r 1/1 Running 0 5d3h kube-system kube-flannel-ds-amd64-w8l57 1/1 Running 0 5d3h kube-system kube-proxy-4ph2h 1/1 Running 0 5d3h kube-system kube-proxy-7p7r5 1/1 Running 0 5d3h kube-system kube-proxy-tj4h5 1/1 Running 0 5d3h kube-system kube-scheduler-node-1 1/1 Running 0 5d3h

kubectl get deployments --all-namespaces: 查看集群中所有命名空间下的 Deployment 信息,包括 Deployment 名称、所属命名空间、副本数等。

示例:

$ kubectl get deployments --all-namespaces NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE kube-system coredns 2/2 2 2 5d3h

kubectl get services --all-namespaces: 查看集群中所有命名空间下的 Service 信息,包括 Service 名称、所属命名空间、类型、端口等。

示例:

$ kubectl get services --all-namespaces NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default kubernetes ClusterIP 10.96.0.1 443/TCP 5d3h kube-system kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP 5d3h

以上是一些常用的用于查看 Kubernetes 集群信息的命令,通过这些命令,你可以快速了解集群的状态和组成。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3