kubectl #
kubectl
是 Kubernetes 的命令行工具,用于控制 Kubernetes 集群。它允许用户部署应用程序、检查和管理集群资源以及查看日志等。
语法 #
kubectl [命令] [类型] [名称] [标志]
常用命令 #
命令 | 描述 |
---|---|
create |
从文件或标准输入创建资源 |
get |
显示一个或多个资源 |
describe |
显示资源的详细信息 |
delete |
删除资源 |
apply |
从文件或标准输入应用配置更改 |
exec |
在容器中执行命令 |
logs |
打印容器的日志 |
scale |
更新指定资源的副本数 |
rollout |
管理资源的部署 |
port-forward |
将本地端口转发到 Pod |
config |
修改 kubeconfig 文件 |
version |
显示客户端和服务器版本信息 |
资源类型 #
常见的资源类型包括:
pods
(po)services
(svc)deployments
(deploy)replicasets
(rs)nodes
(no)namespaces
(ns)configmaps
(cm)secrets
persistentvolumes
(pv)persistentvolumeclaims
(pvc)
示例 #
- 获取所有命名空间中的所有 Pod:
kubectl get pods --all-namespaces
- 获取特定命名空间中的所有服务:
kubectl get services -n kube-system
- 描述特定 Pod:
kubectl describe pod my-pod
- 从 YAML 文件创建资源:
kubectl apply -f deployment.yaml
- 删除资源:
kubectl delete deployment my-deployment
- 查看 Pod 日志:
kubectl logs my-pod
- 在 Pod 中执行命令:
kubectl exec -it my-pod -- /bin/bash
- 将本地端口转发到 Pod:
kubectl port-forward my-pod 8080:80
- 扩展部署副本数:
kubectl scale deployment my-deployment --replicas=5
- 查看部署状态:
kubectl rollout status deployment my-deployment
- 编辑资源:
kubectl edit deployment my-deployment
- 查看集群信息:
kubectl cluster-info
配置 #
kubectl 使用 kubeconfig 文件来配置集群访问信息。默认情况下,kubectl 会查找 $HOME/.kube/config
文件。
设置当前上下文:
kubectl config use-context my-context
查看配置:
kubectl config view
常用标志 #
-n, --namespace
: 指定命名空间-o, --output
: 指定输出格式(如 json、yaml、wide)--all-namespaces
: 包括所有命名空间-l, --selector
: 使用标签选择器过滤--field-selector
: 使用字段选择器过滤