giftiaのblog

K8s基础使用

· giftia

Kubernetes(简称 K8s)是一个开源的容器编排平台,主要用于自动化部署、弹性扩缩容和容器化应用管理。

基础概念

  • Pod:K8s 中最小的调度单元。一个 Pod 通常运行一个容器,也可以运行一组紧密协作的容器。
  • Deployment:用于管理 Pod 副本和版本,支持滚动更新与回滚。
  • Service:为一组 Pod 提供稳定访问入口。由于 Pod IP 会变化,Service 可以提供固定地址并做负载均衡。
  • Namespace:逻辑隔离机制,用于在同一集群中划分开发、测试、生产等环境。

操作流程

  1. 编写 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
  1. 提交到集群
kubectl apply -f nginx-deployment.yaml
  1. 查看状态
kubectl get pods
kubectl get deployments

常用命令

  1. 查询资源
kubectl get pods,svc,nodes
  1. 查看详情
kubectl describe pod <pod-name>
  1. 查看日志
kubectl logs -f <pod-name>
  1. 进入容器
kubectl exec -it <pod-name> -- sh
  1. 调整副本数
kubectl scale deployment <name> --replicas=5
  1. 删除资源
kubectl delete -f <file.yaml>