K3s 集群基本操作指令
概述
本指南介绍了 K3s 集群的基本操作,包括节点管理、服务管理、部署管理等常用命令。
目标
- 掌握 K3s 集群的基本操作命令
- 能够进行日常的集群维护和管理
- 理解各种资源的管理方式
前置条件
- 已成功部署 K3s 集群
- 具备集群访问权限
- 熟悉基本的 Linux 命令行操作
步骤
集群信息查看
查看集群信息
kubectl cluster-info
查看节点状态
kubectl get nodes
查看节点详细信息
kubectl describe node <node-name>
Pod 管理
查看所有 Pod
kubectl get pods -A
查看特定命名空间的 Pod
kubectl get pods -n <namespace>
查看 Pod 详细信息
kubectl describe pod <pod-name> -n <namespace>
查看 Pod 日志
kubectl logs <pod-name> -n <namespace>
进入 Pod 容器
kubectl exec -it <pod-name> -n <namespace> -- sh
Deployment 管理
创建 Deployment
kubectl create deployment nginx --image=nginx
查看 Deployment
kubectl get deployments
扩缩容 Deployment
kubectl scale deployment nginx --replicas=3
更新 Deployment 镜像
kubectl set image deployment/nginx nginx=nginx:1.19
删除 Deployment
kubectl delete deployment nginx
Service 管理
创建 Service
kubectl expose deployment nginx --port=80 --type=NodePort
查看 Service
kubectl get services
使用简短别名查看 Service
kubectl get svc
查看所有命名空间下的 Service
kubectl get svc -A
查看特定命名空间下的所有 Service
kubectl get svc -n <namespace>
通过 YAML 格式查看 Service 详细信息
kubectl get service <service-name> -o yaml
编辑 Service
kubectl edit service <service-name>
为 Service 添加标签
kubectl label service <service-name> key=value
查看 Service 的端点
kubectl get endpoints <service-name>
查看 Service 详细信息
kubectl describe service <service-name>
删除 Service
kubectl delete service <service-name>
Ingress 管理
查看 Ingress 控制器
kubectl get ingressclasses
创建 Ingress (示例)
cat <<EOF | kubectl apply -f -
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: example.local
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx
port:
number: 80
EOF
查看 Ingress
kubectl get ingress
查看 Ingress 详细信息
kubectl describe ingress <ingress-name>
删除 Ingress
kubectl delete ingress <ingress-name>
存储卷管理
查看 PersistentVolume (PV)
kubectl get pv
查看 PersistentVolumeClaim (PVC)
kubectl get pvc
查看 PVC 详细信息
kubectl describe pvc <pvc-name>
创建 PersistentVolumeClaim (示例)
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
EOF
命名空间管理
查看所有命名空间
kubectl get namespaces
创建命名空间
kubectl create namespace <namespace-name>
删除命名空间
kubectl delete namespace <namespace-name>
配置管理
创建 ConfigMap
kubectl create configmap <configmap-name> --from-literal=key=value
查看 ConfigMap
kubectl get configmaps
删除 ConfigMap
kubectl delete configmap <configmap-name>
密钥管理
创建 Secret
kubectl create secret generic <secret-name> --from-literal=username=admin --from-literal=password=123456
查看 Secret
kubectl get secrets
删除 Secret
kubectl delete secret <secret-name>