k8s笔记
k8s常用指令
Kubernetes(简称 K8s)是一个开源的容器编排平台,用于自动化应用程序的部署、扩展和管理。它能够帮助开发者和运维人员管理容器化应用程序,并确保它们的高可用性和可伸缩性。
在 K8s 中,常用的命令行工具是 kubectl
,用于与 Kubernetes 集群进行交互。以下是一些常用的 kubectl
命令:
集群信息
kubectl cluster-info
:查看集群的基本信息。kubectl get nodes
:查看所有节点的状态。
Pod 管理
kubectl get pods
:查看所有命名空间中的 Pod。kubectl describe pod <pod-name>
:查看 Pod 的详细信息。kubectl logs <pod-name>
:查看 Pod 的日志。kubectl exec -it <pod-name> -- /bin/sh
:进入 Pod 终端执行命令。kubectl delete pod <pod-name>
:删除 Pod。
部署(Deployment)管理
kubectl get deployments
:查看所有部署的状态。kubectl apply -f <file.yaml>
:根据 YAML 文件创建或更新资源。kubectl delete -f <file.yaml>
:根据 YAML 文件删除资源。kubectl scale deployment <deployment-name> --replicas=<number>
:修改 Deployment 的副本数。kubectl rollout restart deployment <deployment-name>
:重启 Deployment 中的所有 Pod。
服务(Service)管理
kubectl get services
:查看集群中的所有服务。kubectl expose pod <pod-name> --port=<port> --target-port=<target-port>
:为 Pod 创建服务。kubectl delete service <service-name>
:删除服务。
命名空间(Namespace)管理
kubectl get namespaces
:查看所有命名空间。kubectl create namespace <namespace-name>
:创建新的命名空间。kubectl delete namespace <namespace-name>
:删除命名空间。
配置文件管理
kubectl config view
:查看当前的配置。kubectl config set-context <context-name>
:设置当前使用的上下文。
其他
kubectl version
:查看 Kubernetes 和kubectl
的版本。kubectl get all
:查看当前命名空间中的所有资源。
kubectl
kubectl
是 Kubernetes 的官方命令行工具名称,其中包含了几个关键含义:
命名来源
kubectl
的全称为 Kubernetes Control ,ctl
是 "control" 的缩写,表示对 Kubernetes 集群进行控制和管理。- 发音上,
kubectl
通常读作 cube control 或 cube cuddle(意为亲切地管理集群)。
统一的命令入口
- Kubernetes 的所有管理操作都以
kubectl
作为统一入口,无论是查询信息、部署应用还是管理资源,这种方式便于记忆和使用。 kubectl
提供了一致的命令结构(如kubectl get
、kubectl describe
、kubectl delete
),便于用户快速熟悉和操作。
集群的通用接口
- 通过
kubectl
,用户可以对接不同类型的 Kubernetes 集群,无论是本地测试环境、云服务提供的托管集群,还是混合集群,kubectl
都提供了一致的接口。 kubectl
命令会将用户的请求转换为 Kubernetes API 请求,并与集群中的 API 服务器通信。这种模式确保了kubectl
作为一个可靠、灵活的集群管理工具。
Kubernetes和kubectl的发音
以下是 Kubernetes 和 kubectl 的标准音标及常见读法:
Kubernetes
音标:/ˌk(j)uːbərˈneɪtiːz/
常见发音:koo-burr-NAY-teez
kubectl
音标:/ˈk(j)uːb kənˈtroʊl/ 或 /ˈk(j)uːb ˈkʌdəl/
常见发音:
- cube control (标准发音,来源于
control
的含义) - cube cuddle(亲切昵称,因其易读性和口语化)