文章目录
kubectl
获取资源列表
kubectl get <resource>
通过此命令可以获取特定资源的列表,例如使用kubectl get pods
获取Pod的列表。还可以通过添加-n <namespace>
来指定命名空间,只获取特定命名空间中的资源。
获取资源详细信息
kubectl describe <resource> <name>
此命令可以获取特定资源的详细信息,例如使用kubectl describe pod my-pod
获取名为my-pod的Pod的详细信息,包括状态、容器信息和事件等。
创建资源
kubectl create -f <filename>
通过此命令可以根据yaml文件创建资源,例如使用kubectl create -f my-pod.yaml
创建名为my-pod的Pod。也可以使用-f <directory>
选项来创建多个yaml文件中的多个资源。
删除资源
kubectl delete <resource> <name>
使用此命令可以删除特定资源,例如使用kubectl delete pod my-pod
删除名为my-pod的Pod。还可以使用--all
选项删除命名空间中的所有资源。
应用资源更改
kubectl apply -f <filename>
通过此命令可以将yaml文件中的更改应用于Kubernetes集群中的资源。例如使用kubectl apply -f my-pod.yaml
将应用my-pod.yaml中的更改。如果资源不存在,则会创建该资源;如果资源已经存在,则会更新该资源。
编辑资源配置
kubectl edit <resource> <name>
使用此命令可以编辑某个资源的yaml文件。例如使用kubectl edit pod my-pod
将会打开一个文本编辑器,允许您编辑名为my-pod的Pod的yaml文件。
除了上述基本指令外,还可以组合使用这些指令。例如:
kubectl get pods -n <namespace> -l <label>
此命令可以获取特定命名空间中具有特定标签的所有Pod的列表。
kubectl delete pod <name> --grace-period=<seconds> --force
此命令可以强制删除Pod,即使它处于运行状态。
kubectl apply -f <directory> --prune --selector <label>
此命令可以应用多个yaml文件,并删除不包含特定标签的资源。
kubeadm
初始化控制平面
kubeadm init
通过此命令可以在当前节点上初始化一个新的Kubernetes控制平面。它将安装所需的组件和服务,如etcd、kube-apiserver、kube-controller-manager和kube-scheduler,并生成一个加入令牌(join token)。您可以使用该令牌将其他节点加入集群。
加入集群
kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
使用此命令将当前节点加入Kubernetes集群。您需要提供一个加入令牌,该令牌在运行kubeadm init
时生成。例如,kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
将节点加入到指定的Kubernetes控制平面。
升级集群
kubeadm upgrade apply v1.22.0
使用此命令将Kubernetes集群升级到新版本。它会升级所有控制平面和工作节点上的组件和服务。例如,kubeadm upgrade apply v1.22.0
将把Kubernetes集群升级到v1.22.0版本。
重置节点
kubeadm reset
使用此命令可以重置节点上的Kubernetes集群。它会删除所有Kubernetes组件和服务,以及存储在etcd中的所有数据。例如,kubeadm reset
将重置当前节点上的Kubernetes集群。
kubelet
获取kubelet状态
kubelet status
使用此命令可以获取kubelet的运行状态。例如,kubelet status
会显示kubelet的当前状态和运行时间等信息。
获取Pod日志
kubelet logs <pod-name>
使用此命令可以获取特定Pod的日志。例如,kubelet logs my-pod
会获取名称为my-pod的Pod的日志。
获取kubelet版本
kubelet version
通过此命令可以获取kubelet的版本号。例如,kubelet version
会显示kubelet的版本号和构建信息等。
获取kubelet配置信息
kubelet config view
使用此命令可以获取kubelet的配置信息。例如,kubelet config view
会显示kubelet的配置文件,包括启动参数、配置文件路径等。
以上是一些常用的kubectl、kubeadm和kubelet指令及其作用。这些指令可以让您方便地管理Kubernetes集群中的资源和节点,快速定位问题并进行排查和修复。除了上述指令,kubectl还支持许多其他功能,如标签、注释、应用程序滚动升级、端口映射等,可以根据具体需要进行使用和组合。