kubeadm安装k8s集群(使用最新版docker和kubernetes)

一、安装前准备

(1)环境规划   一个master加两个node  容器跨主机通信使用flannel

(2)软件包版本

 

 

 (3)yum源

[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

 

[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://download.docker.com/linux/centos/$releasever/source/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/$releasever/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://download.docker.com/linux/centos/$releasever/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

(4)虚拟机规格

三台2G+2C +20G

(5)安装前准备

①关闭selinux

sed -i s/=enforcing/=disabled/g  /etc/selinux/config

setenforce 0

getenforce 查看

②关闭swap

swapoff -a(关掉后把fstab文件中挂载得swap分区注释掉)

free -h查看

③主机名解析

所有节点在/etc/hosts增加一下内容

④时间同步

  yum install -y ntp

vim /etc/ntp.conf

 允许同网段主机同步自己

systemctl  restart  ntpd

在node节点上同步master节点时间

 

 (6)安装docker和k8s组件(所有节点执行)

yum  install -y  docker-ce  

yum install  -y   kubelet   kubeadm  kubectl

yum install -y yum-utils device-mapper-persistent-data lvm2

(7)修改docker cgroup驱动和k8s保持一致

vim /etc/docker/daemon.json

{
"registry-mirrors":["https://registry.docker-cn.com","https://l10nt4hq.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}

默认docker cgroup driver 为cgroupfs   这里得和k8s保持一致

 

 

systemctl  restart  docker

(8)配置官方先决条件

 

(9)初始化k8s集群

kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v20.10.5 --apiserver-advertise-address 192.168.47.100 --pod-network-cidr=10.244.0.0/16

(9)配置kubectl

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

(10)配置集群网络

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

这里很有可能拉取不到,建议做一下解析

199.232.68.133  raw.githubusercontent.com

 

(11)将node节点加入集群

kubeadm join 192.168.47.100:6443 --token f53heg.3kudcs1o1v667ivu \
> --discovery-token-ca-cert-hash sha256:65f59732d9b21cefe268102b727ac2e5db461d3316a8d297a18aa5effbc9b9a0

(12)在master上查看集群信息

 

 完成

 

posted @ 2021-03-06 20:37  summerwood  阅读(2068)  评论(2)    收藏  举报