k8s
容器编排系统
- 服务发现和负载均衡
- 存储编排
- 自动部署和回滚
- 自动完成装箱计算
- 自我修复
- 密钥与配置管理
- 批处理执行
- 水平扩缩
- IPv4/IPv6
- 为可扩展设计
kubernetes Cluster = N Master Node + N Worker Node, N > 1
- kubelet
- kubectl, 命令行
- kubeadm
- kubeadm init
- kubeadm join
- scheduler
- kube-proxy
- kube-APIserver
- etcd 键值数据库(Kube-apiserver 与 etcd 进行交互)
- controller-manager
- pod
- 零宕机发布
- 无状态服务 Deployment 概念
- 云平台上创建 VPC 网络
- HAproxy, keepalived 负载均衡器
k8s 安装(debian)
前提条件, 已安装 docker, 禁用交换分区 swap。
安装 kubeadm 的官方文档: https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
# 1. k8s 所需要的包
udo apt-get update
# apt-transport-https 可能是一个虚拟包(dummy package);如果是的话,你可以跳过安装这个包
sudo apt-get install -y apt-transport-https ca-certificates curl gpg
#2. 公共签名密钥
# 如果 `/etc/apt/keyrings` 目录不存在,则应在 curl 命令之前创建它,请阅读下面的注释。
# sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.35/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
#3. 添加 k8s 的 apt 仓库
# 此操作会覆盖 /etc/apt/sources.list.d/kubernetes.list 中现存的所有配置。
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.35/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
#4. 安装 kubeadm, kubectl, kubelet, 并锁定其版本
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
#5. 启用 kubelet 服务
sudo systemctl enable --now kubelet
minikube 安装
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb
# docker
minikube start --vm-driver docker --container-runtime=docker --force
k8s 集群安装
- 需要先安装 docker
- 关闭交换分区
- 安装 kubectl, kubeadm, kubelet https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-linux/
- 下载
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" - 校验
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
- 安装
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectlkubectl version --clientkubectl version --client --output=yaml
- 下载
kubeadm 安装
yaml 文件
- kubectl debug 设置一个临时容器。
- sidecar
- Volume 挂载, 可能需要更改目录权限(可能耗时会很长, 不推荐), fsGroup
- ConfigMap, secret: 配置文件

所有机器的时间要同步。 可以使用 ntpdate
提高进程可同时打开的文件数量上限, 避免 Too many open files 错误。
ulimit -SHn 65535
cat /etc/security/limits.conf
uname -a
kubeadm config images pull --config xxx.yaml
kubeadm init --config xxx.yaml --upload-certs
kubeadm reset
k8s 基本组件 安装
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gpg
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.35/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
# apt 仓库
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.35/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
kuboard for k8s 控制面板