安装kubernets集群

Posted by 刘勇 on 2019-11-30

准备工作(node/master机器均需操作)

  • 机器配置,4核心8G内存。
1
2
3
4
Distributor ID:	Debian
Description: Debian GNU/Linux 9.2 (stretch)
Release: 9.2
Codename: stretch
  • 关闭swap分区
1
swapoff -a
  • 关闭防火墙
1
2
systemctl stop firewalld
systemctl disable firewalld
  • 时间同步
  • 安装docker,如果嫌慢则使用国内加速器,下面使用官方镜像下载。
1
2
3
4
5
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
apt-get update
apt-get install docker-ce -y
  • 确保如下两个参数值为1,默认为1。
1
2
cat /proc/sys/net/bridge/bridge-nf-call-ip6tables
cat /proc/sys/net/bridge/bridge-nf-call-iptables
  • 启动docker-ce
1
systemctl start docker
  • 设置开机启动
1
systemctl enable docker.service
  • 配置kubernets国内源
1
2
3
4
5
6
7
#kubernetes部件所需的官方镜像在 http://gcr.io(Google Cloud Container Registry)上,国内无法访问,因此使用国内的谷歌镜像。
cat /etc/apt/sources.list.d/kubernetes.list如下行。
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
#添加gpg-key
wget -q -O- https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
#更新源
apt-get update
  • 安装kube工具
1
apt-get -y install kubeadm kubelet kubectl
  • 获取镜像列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
由于官方镜像地址被墙,所以我们需要首先获取所需镜像以及它们的版本。然后从国内镜像站获取。
kubeadm config images list
images=(
kube-apiserver:v1.12.1
kube-controller-manager:v1.12.1
kube-scheduler:v1.12.1
kube-proxy:v1.12.1
pause:3.1
etcd:3.2.24
coredns:1.2.2
)
for imageName in ${images[@]} ; do
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
done

安装kubernets

master机器

  • 修改配置
1
2
3
4
5
6
7
8
9
#安装k8s集群,kubeadm会读取/etc/systemd/system/kubelet.service.d/10-kubeadm.conf文件的配置信息,更改cgroup的驱动,这里的驱动要要docker一致,因此用docker info| grep Cgroup命令查看docker的驱动类型,如这里查到的结果为 cgroupfs.因此修改kubeadm的配置文件如下
vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
#添加如下配置
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs"
#设置开机器启动
systemctl enable kubelet.service
#注意,需要关闭swap分区,或者在如下的配置文件里修改,表示添加而且的启动选项
vim /etc/default/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
  • 初始化
1
2
#执行初始化看到Successfully才代表成功。
kubeadm init --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12

node机器

  • 加入集群
1
kubeadm join ${master_ip}:6443 --token xxx --discovery-token-ca-cert-hash sha256:xxx

参考资料

推荐阅读



支付宝打赏 微信打赏

赞赏一下