前言

kubeadm是官方提供的方便快速安装k8s的工具, 使用它可以少很方便的安装k8s

Ubuntu 换国内源

由于GFW的原因,直接安装国外的包会网速很慢, 所以需要换成国内的源, 我一般换成的是阿里的源, 其实换成清华的源 也可以。

具体换方式可以参考 https://blog.csdn.net/xiangxianghehe/article/details/105688062

安装kubeadm

官方有安装的文档, 如果完全按照文档来执行, 你会被网速卡死。官方地址:
https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
下面是我搜集整理并实践后的安装步骤

安装br_netfilter 模块

 sudo modprobe br_netfilter
 lsmod | grep br_netfilter
  • 配置 br_netfilter 模块
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sudo sysctl --system

这几步没有问题。

安装Docker

sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
修改cgroups

修改cgroups 已经不用做了, k8s已经把进程隔离工具换成了cgroupfs, 已经和docker的默认保持一致了

这个cgroups你可以把它理解成一个进程隔离工具,docker就是用它来实现容器的隔离的。docker 默认使用的是cgroupfs,而 k8s 也用到了一个进程隔离工具systemd,如果使用两个隔离组的话可能会引起异常,所以我们要把 docker 的也改成systemd。

这两者都是在/etc/docker/daemon.json里修改的,所以我们一起配置了就好了,首先执行下述命令编辑daemon.json:

sudo vi /etc/docker/daemon.json

打开后输入以下内容:

{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://reg-mirror.qiniu.com",
    "https://quay-mirror.qiniu.com"
  ],
  "exec-opts": [ "native.cgroupdriver=systemd" ]
}

然后:wq保存后重启 docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

然后就可以通过sudo docker info | grep Cgroup来查看修改后的 docker cgroup 状态,发现变为systemd即为修改成功。

安装kubeadm、kubelet 和 kubectl

  • 更新 apt 包索引并安装使用 Kubernetes apt 仓库所需要的包:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
  • 下载 gpg 密钥
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg |sudo apt-key add - 
  • 添加 k8s 镜像源
sudo vim /etc/apt/sources.list.d/kubernetes.list

在文件中加上一行后保存:

deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
  • 更新 apt 包索引,安装 kubelet、kubeadm 和 kubectl,并锁定其版本:
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

结束

到这里kubeadm的安装已经结束了, 但是这个是基于Debian的linux的安装方法, 还有RedHat的安装方式 , 这个也可以参考官方文档, 只是需要注意把一些谷歌等国外的源地址换成国内的。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐