Kubernetes 概述

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

核心概念

集群架构

+-------------------+
|   Master 节点      |
|  API Server       |
|  Scheduler        |
|  Controller Mgr   |
|  etcd             |
+-------------------+
|   Worker 节点      |
|  Kubelet          |
|  kube-proxy       |
|  Pod  Pod  Pod    |
+-------------------+

核心资源

资源 说明
Pod 最小的部署单元
Service 网络抽象,暴露服务
Deployment 声明式更新
ConfigMap/Secret 配置管理
PV/PVC 持久化存储
Namespace 资源隔离

安装

# 使用 minikube(本地开发)
minikube start

# 使用 kubeadm(生产集群)
kubeadm init --pod-network-cidr=10.244.0.0/16

常用命令

# 集群信息
kubectl cluster-info
kubectl get nodes

# 资源管理
kubectl get pods
kubectl get deployments
kubectl get services
kubectl get all

# 调试
kubectl logs pod-name
kubectl exec -it pod-name -- /bin/bash
kubectl describe pod pod-name
kubectl port-forward pod-name 8080:80

# 资源操作
kubectl apply -f deployment.yaml
kubectl delete -f deployment.yaml
kubectl get pods -o wide
kubectl get pods --watch