一:环境规划
1.1 集群类型
一主多从(单 master ):一个 Master 节点和多台 Node 节点,搭建简单,但是有单机故障风险,适合用于测试环境。
多主多从(高可用):多台 Master 节点和多台 Node 节点,搭建麻烦,安全性高,适合用于生产环境。
1.2 高可用集群架构图
1.3 安装方式
- Kubernetes 有多种部署方式,目前主流的方式有 kubeadm 、minikube 、二进制包。
- ① minikube:一个用于快速搭建单节点的 Kubernetes 工具。
- ② kubeadm:一个用于快速搭建Kubernetes 集群的工具(可以用于生产环境)。
- ③ 二进制包:从官网上下载每个组件的二进制包,依次去安装(建议生产环境使用)。
1.4 搭建流程
- 至少准备 3 台机器,要求网络互通
- 在 3 台机器上安装 Docker。
- 安装 Kubernetes :
- 3 台机器安装核心组件:kubeadm(创建集群的引导工具)、kubelet 、kubectl。
- kubelet 可以直接通过容器化的方式创建出 Kubernetes 的核心组件,如:Controller Manager、Scheduler 等。
- 由 kubeadm 引导创建 Kubernetes 集群。
二:Kubernetes 安装
2.1 准备工作
-
升级系统内核
- 设置主机名和主机解析
- 时钟同步
- 关闭SELinux
- 关闭swap分区
- 开启ipvs
- Docker安装
2.2 安装所需镜像
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.21.10
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.21.10
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.21.10
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.21.10
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.4.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.0
2.3 部署Master
# 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里需要指定镜像仓库地址
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubeadm token create --ttl 0 --print-join-command
2.4 部署Node
kubeadm join 192.168.65.100:6443 --token tluojk.1n43p0wemwehcmmh \
--discovery-token-ca-cert-hash sha256:c50b25a5e00e1a06cef46fa5d885265598b51303f1154f4b582e0df21abfa7cb
2.5 部署网络插件
kubectl apply -f projectcalico.docs.tigera.io/v3.19/manifests/calico.yaml
2.6 查找k8s相关命令
kubectl get pods
kubectl get namespaces
kubectl get nodes