kubernetes命令(二)

版权声明:本文为博主原创文章,支持原创,转载请附上原文出处链接和本声明。

本文地址:https://www.cnblogs.com/wannengachao/p/12092843.html

1、查看api版本信息

kubectl api-versions

k8s把apiServer中所支持的API有多少种来进行分组管理,同一组下的所有版本都可使用。

好处:

不分组的话,一更新要更新所有。分组后某一组发生改变了,只需要改变一组皆可,其它组不受影响

一个组加了版本号后,可以让同一个组的不同版本号并存

API分三个版本阿尔法(内测版)、beta(公测版)、Stable(稳定版)

[root@chushi ~]# kubectl api-versions
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1
apps/v1beta1
apps/v1beta2
authentication.k8s.io/v1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1
coordination.k8s.io/v1beta1
events.k8s.io/v1beta1
extensions/v1beta1
networking.k8s.io/v1
networking.k8s.io/v1beta1
node.k8s.io/v1beta1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1

2、查看组件信息

kubectl get cs

3、主节点重置

kubeadm reset

4、查看replication controllers

kubectl get rc

kubectl get replicationcontrollers

5、查看未授权CSR请求(未授权的节点)

kubectl get csr        ###kubelet 首次启动时向 kube-apiserver 发送CA(证书)签名请求,必须通过后 kubernetes系统才会将该 Node 加入到cluster。 自动生成 kubelet kubeconfig 文件和公私钥

6、将节点加入TLS认证

kubectl certificate approve {NodeName}

7、查看pod日志

kubectl logs pod名                            ###查看容器输出的日志;
kubectl logs -f pod名  -c 容器名        ### -f 动态查看容器的日志  不加 -f 非动态查看;
kubectl exec pod-name cmd            ###在podname中执行cmd命令,该命令用‘’扩好;
kubectl exec pod名  -c 容器名          ###在pod中的容器containername中执行命令;
kubectl exec -it pod名 -c 容器名 /bin/sh -n ns-2          ###进入pod 的容器中,执行一些命令;

8、进入pod中的某个容器

kubectl exec -it pod名 --container 容器名 -- /bin/bash

kubectl exec -it pod名 -c 容器名 -- /bin/bash

9、查看token

kubeadm token list

显示所有的证书信息

10、生成新token

kubeadm token create

11、删除token

kubeadm token delete token名

12、将pod以json形式输出

kubectl get po pod名 -o json

13、将yaml文件以json形式输出

14、列出所有命名空间

kubectl get ns

15、删除命名空间

kubectl delete ns namespace名

16、删除所有命名空间及命名空间的所有资源

kubectl delete all --all

--all 命令会删除kubernetes的service,但它会自动重建

17、删除某个空间下的所有pod

 kubectl delete  pod -n namespace名 --all

18、查看configmaps 

kubectl get cm

存储全局配置变量的,将分布式系统中不同模块的环境变量统一到一个对象中管理

19、查看daemonsets

kubectl get ds

每个节点上运行一个守护进程(如:日志采集等),有时pod处于pending可能是因为某个deamonset没起来。

20、查看endpoints

kubectl get ep

21、查看events 

kubectl get ev

22、查看ingress

kubectl get ingress

kubectl get  ing

23、查看horizontalpodautoscalers资源对象(pod的水平自动扩展)

kubectl get hpa

24、查看jobs

kubectl get jobs

25、查看limitranges 

kubectl get limitranges

kubectl get limits

26、查看persistentvolumes(持久卷,简称PV)

kubectl get pv

27、查看pod security policies

是一种用来控制Pod安全相关配置的全局资源。

kubectl get psp

28、查看replicasets(副本控制器)

kubectl get rs

29、查看resource quotas(资源配额)

kubectl get quota

30、查看secrets

kubectl get secrets

31、查看service accounts

1、kubectl get sa

2、[root@master1 ~]# kubectl get serviceAccounts default --output=yaml
apiVersion: v1
kind: ServiceAccount
metadata:
creationTimestamp: "2019-12-24T06:40:46Z"
name: default
namespace: default
resourceVersion: "346"
selfLink: /api/v1/namespaces/default/serviceaccounts/default
uid: 754205d6-e05c-413a-9962-7205f65447c4
secrets:
- name: default-token-n8n8v

32、查看statefulsets

kubectl get statefulsets
kubectl get sts

33、查看storageclasses

kubectl get storageclasses

34、查看role

kubectl get role

35、查看rolebinding

kubectl get rolebinding

36、查看部署状态,例:nginx。

[root@master1 ~]# kubectl rollout status deploy nginx
deployment "nginx" successfully rolled out

37、查看历史部署状态,例:nginx

[root@master1 ~]# kubectl rollout history deploy
deployment.extensions/nginx
REVISION CHANGE-CAUSE
1 <none>

38、将pod中文件cp到宿主机

举例:拷贝nginx.conf文件到宿主机上

目标参数必须为文件 不能是一个目录,若不设置目标参数为文件是会报错的。注:若pod进入的家目录是/etc目录,想拷贝etc下的文件那么不是写全路径(比如文件路径是etc/nginx/nginx.conf,直接cp pod名:/nginx/nginx.conf)

kubectl cp nginx-554b9c67f9-wt64k:nginx/nginx.conf ./nginx.conf

原文地址:https://www.cnblogs.com/wannengachao/p/12092843.html