K8s基础使用
·
giftia
Kubernetes(简称 K8s)是一个开源的容器编排平台,主要用于自动化部署、弹性扩缩容和容器化应用管理。
基础概念
- Pod:K8s 中最小的调度单元。一个 Pod 通常运行一个容器,也可以运行一组紧密协作的容器。
- Deployment:用于管理 Pod 副本和版本,支持滚动更新与回滚。
- Service:为一组 Pod 提供稳定访问入口。由于 Pod IP 会变化,Service 可以提供固定地址并做负载均衡。
- Namespace:逻辑隔离机制,用于在同一集群中划分开发、测试、生产等环境。
操作流程
- 编写 YAML 配置文件
nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-home
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.21
ports:
- containerPort: 80
- 提交到集群
kubectl apply -f nginx-deployment.yaml
- 查看状态
kubectl get pods
kubectl get deployments
常用命令
- 查询资源
kubectl get pods,svc,nodes
- 查看详情
kubectl describe pod <pod-name>
- 查看日志
kubectl logs -f <pod-name>
- 进入容器
kubectl exec -it <pod-name> -- sh
- 调整副本数
kubectl scale deployment <name> --replicas=5
- 删除资源
kubectl delete -f <file.yaml>