# 基本使用
# 创建 k8s 集群
# 使用 kubeadmin 创建
# kubectl 命令行工具使用
kubectl 配置:
kubectl
配置文件默认存放在 $HOME/.kube/config
,可通过设置环境变量 KUBECONFIG
或者使用配置项 --kubeconfig
指定其他目录的 kubeconfig 文件
kubectl config view
: 查看当前配置kubectl config get-clusters
: 查看当前配置的所有集群kubectl config get-contexts
: 查看当前配置的所有集群上下文kubectl config use-context $CONTEXT_NAME
: 切换当前管理的集群上下文
关于配置对多集群的访问,这里是官方文档 (opens new window)。
Kubernetes 采用声明式的 API,大多数变更可通过 kubectl apply -f $CONFIG_YAML
完成。
命名空间:
kubectl apply -f examples/namespace.yml
: 创建/更新命名空间
无状态应用:
kubectl apply -f examples/stateless-application-deployment.yml -n demo
: 创建/更新无状态应用kubectl get deploy nginx-deployment -n demo
: 查询应用部署情况kubectl describe deployment nginx-deployment -n demo
: 查询应用部署详情kubectl get pods -l app=nginx -n demo
: 查看应用(对应label = nginx)pod 运行情况
更多关于 Deployment 的官方文档 (opens new window)
有状态应用:
kubectl apply -f examples/stateful-application-configmap.yml
: 创建/更新应用关联的配置信息kubectl apply -f examples/stateful-application-statefulset.yml
: 创建/更新有状态应用kubectl apply -f examples/stateful-application-service.yml
: 创建/更新有状态的服务(headlessService & Service)
水平伸缩应用程序(horizontal-pod-autoscaler: HPA):
kubectl apply -f examples/stateless-application-autoscaler.yml
: 创建/更新应用水平伸缩配置信息
注:
- 资源指标[Resource],使用
metrics.k8s.io
API,metrics-server 以集群插件启动; - 自定义指标[Pods/Object], 使用
custom.metrics.k8s.io
API,由第三方的 Adapter 提供, 官方列出的已知方案 (opens new window); - 拓展指标[External],使用
external.metrics.k8s.io
API,也需要由第三方的 Adapter 提供;