K8S 部署形式有很多,有的形式不太敌对,须要留神很多关键点,有的形式对小白比拟敌对,部署简略不便且高效
二进制源码包的部署形式
应用 二进制源码包的形式部署会比拟麻烦,大略分为如下几步:
- 获取源码包
- 部署在 master 节点和 worker 节点上
- 启动相应节点的要害服务
master 节点上
api-server,分布式存储 例如 etcd,scheduler,controller manager
woker 节点上
kubelet,kube-proxy,docker
在 K8S 中,各个组件之间相互拜访都是倡议通过证书进行拜访的,所以咱们也须要生成相应的证书
- 生成证书
例如 HTTP 的,HTTPS 的
波及的组件和工具比拟多,咱们能够后续对 K8S 比拟熟之后,再来尝试源码包的形式
应用 kubeadm 形式部署
官网是举荐应用 minikube 来部署,其实他也是通过 kubeadm 来部署的,应用 kubeadm 的部署形式就绝对简略,不过步骤也是不少,有:
- 须要装置 kube 对应的软件,kubelet,kubeadm,kubectl
- 初始化整个 K8S 集群
- 增加节点到集群中
执行上述 3 步,咱们就能够将 K8S 集群搭建部署起来
- 生成证书是主动的,不须要咱们去干涉
- master 节点是用来治理集群容器的,所有的容器都是运行在 master 节点中,worker 节点是用来执行工作的
- 对于容器镜像的获取
咱们能够间接通过谷歌下载镜像,或者是通过国内阿里云来下载镜像
点我查看 kubeadm
根底环境筹备
筹备 3 台虚拟机,买云服务器也是能够的,定义好主机名
- master
- node1
- node2
能够这么设置主机名
hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2
能够通过 hostname
查看主机名
# hostname
master
装置 docker
能够查看我之前的 docker 文章【Docker 系列】docker 学习 一,Docker 的装置应用及 Docker 的基
需保障 master 节点和 worker 节点的 docker 版本统一,如:
须要敞开防火墙
// 查看防火墙的以后状态
sudo ufw status
// 启用和禁用防火墙
sudo ufw enable
sudo ufw disable
// 禁用防火墙并删除所有防火墙规定
sudo ufw reset
敞开 selinux
sudo setenforce 0
或者
vim /etc/selinux/config
将 SELINUX 设置为 permissive
禁用 swap
sudo swapoff -a
装置 kubeadm 等工具
点我查看参考地址
开始装置 kubeadm、kubelet、kubectl 工具
- 先装置 k8s 的源文件
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
sudo curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
sudo tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF
- 查看 kubeadm 可用版本,选一个适合的
# apt-cache madison kubeadm
这里咱们就装置最新的版本吧
// 装置最新版本
# shell sudo apt-get install -y kubelet=1.22.4-00 kubeadm=1.22.4-00 kubectl=1.22.4-00
// 设置标签
# sudo apt-mark hold kubelet=1.22.4-00 kubeadm=1.22.4-00 kubectl=1.22.4-00
// 设置开启启动 kubelet 并 运行 kubelet
# sudo systemctl enable kubelet && sudo systemctl start kubelet
咱们简略的运行一下 kubelet 能够看到版本装置是正确的
可是 kubelet 本应该是在后盾就会启动的,为什么会启动异样呢,咱们能够查看官网文档,得悉须要配置 cgroup 驱动程序
在本地创立一个 yaml 文件,kubeadm-config.yaml
配置上本人的 kubelet 的版本 v1.22.4
kind: ClusterConfiguration
apiVersion: kubeadm.k8s.io/v1beta3
kubernetesVersion: v1.22.4
---
kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
cgroupDriver: systemd
执行命令 kubeadm init --config kubeadm-config.yaml
若发现有如下报错,则是因为咱们的机器 CPU 的核数小于 2,kubeadm 要求 咱们的环境 CPU 须要是 2 个,连忙换一个配置高一点的机器吧
若配置没有异样,CPU 核数够,那么将会执行胜利
明天就到这里,学习所得,若有偏差,还请斧正
欢送点赞,关注,珍藏
敌人们,你的反对和激励,是我保持分享,提高质量的能源
好了,本次就到这里
技术是凋谢的,咱们的心态,更应是凋谢的。拥抱变动,背阴而生,致力向前行。
我是 阿兵云原生,欢送点赞关注珍藏,下次见~