1:安装文档
https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
注意先安装docker,启动docker服务,然后再安装kubeadm
2:上面的安装文档对于国内用户不是完美的,至少Google的很多服务访问不通,所以我们要用aliyun来替换,所以执行一下两个不走再安装docker和kubeadm
添加阿里云docker软件源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
docker的安装看:https://developer.aliyun.com/article/110806
添加k8s软件源为阿里云的,这样安装kubeadm和kubectl、kubelet会快一些
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
3: 在centos安装kubeadm的童鞋需要注意一些点,iptables 和 swap 分区都需要管理
配置iptables,文档中有,不要忘记执行,
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
关闭swap分区很重要,k8s不支持交换分区,这个百度一下往上很多文档。
修改docker使用systemd
cat << EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
],
"registry-mirrors": ["https://25f3mo5n.mirror.aliyuncs.com"]
}
EOF
安装完kubeamd之后需要设置开机启动,systemctl enable --now kubelet
但是第一次启动时启动不起来的,原因是kubeadm需要先初始化,否则kubelet会不断尝试重启。
执行以下命令初始化k8s节点
kubeadm init --image-repository registry.aliyuncs.com/google_containers