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
