kubectl是K8S中的一个命令行工具,主要用于管理和操作K8S集群,kubectl通过向K8S API发送REST请求,允许用户与K8S集群中的各种资源进行交互,列如Pod,service,Deployment等。kubectl提供了一种简单而灵活的方式来管理和操作K8S集群,它支持交互式和批处理操作,可以轻松进行自动处理,

kubectl命令如何与K8S API Server交互,以管理K8S集群中的资源.(kubectl通过向API Server发送REST API请求来管理K8S集群中的资源)

kubectl通过向API Server发送REST API请求来管理K8S集群中的资源,它接收来自kubectl,kubelet,kube-proxy和其他K8S组件的请求,并响应这些请求.(在K8S运维中,会经常使用kubectl,本篇梳理了kubectl常用的维护命令和选项,并按场景分类)

获取信息

1.kubectl get:获取Kubernetes资源的信息,例如节点,服务,Pod,配置等。

2.kubectl  describe: 显示特定资源的详细信息。

3.kubectl logs: 获取Pod的日志.

4.kubectl top: 查看节点和Pod的CPU和内存使用情况。

调试和诊断

1.kubectl exec:在容器中执行命令

2.kubectl port-forward:将本地端口转发到Pod端口.例如:

3.kubectl run:在集群中创建一个新的Pod,并在其中运行一个容器.

4,kubectl attach:连接到正在运行的容器.

5.kubectl debug:启动一个调试容器并将其连接到指定的Pod上

状态管理:

1.kubectl create:创建K8S资源

2.kubectl apply:对已存在的K8S资源进行更新操作

3.kubectl delete:删除K8S资源

4.kubectl edit: 在编辑器中编辑资源配置文件

5.kubectl label:为资源添加或修改标签.

6.kubectl annotate: 为资源添加或修改注释

扩缩容:

1.kubectl scale:扩展或缩小 Deployment,StatefulSet等的副本数。

2.kubectl autoscale:创建Horizontal Pod Autoscaler对象,根据CPU或自定义指标来自动扩缩容Pod.

部署管理:

1.kubectl rollout:对Deployment,DaemonSet,StatefulSet等进行滚动升级。

2.kubectl rollout history:查看部署历史记录.

3.kubectl rollout undo:回滚部署操作

4.kubectl patch:通过部分更改来更新Kubernetes资源。

安全和身份验证

1.kubectl auth:管理身份验证和授权

2.kubectl create secret: 创建用于身份验证和授权的Kubernetes密钥。

3.kubectl certificate:管理TLS证书和私钥。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐