硬件配置:
|
系统版本 |
IP地址 |
hostname |
硬件配置 |
|
CentOS 7.5 |
192.168.92.10 |
192-168-92-10 |
2C2G |
|
CentOS 7.5 |
192.168.92.11 |
192-168-92-11 |
2C2G |
|
CentOS 7.5 |
192.168.92.12 |
192-168-92-12 |
2C2G |
1、查看系统版本(7.5以上使用)
2、配置ip地址(所有节点)
3、关闭selinux、firewalld、swap(所有节点)
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
swapoff -a
3、配置hostname、hosts(所有节点)
hostnamectl set-hostname 192-168-92-10
4、配置内核参数,将桥接的IPv4流量传递到iptables的链(所有节点)
cat > /etc/sysctl.d/k8s.conf <<EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system
5、安装docker(所有节点)
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo systemctl start docker
sudo systemctl enable docker
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ee.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
6.1、设置cgroup driver(默认是cgroupfs,推荐设置systemd) cat << EOF > /etc/docker/daemon.json {
"exec-opts": ["native.cgroupdriver=systemd"] } EOF
6.2、重启docker服务
systemctl restart docker
7、安装kuberneters工具
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[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
EOF
setenforce 0
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet
8、初始化集群
kubeadm init --kubernetes-version=1.18.0 \
--apiserver-advertise-address=192.168.92.10 \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16
POD的网段为: 10.122.0.0/16, api server地址就是master本机IP。
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、部署calico网络
wget https://docs.projectcalico.org/manifests/calico.yaml
POD_CIDR="10.122.0.0/16"
sed -i -e "s?192.168.0.0/16?$POD_CIDR?g" calico.yaml
kubectl apply -f calico.yaml
11、增加node节点
kubeadm join 192.168.92.10:6443 --token d8k64p.uza9h4kdqf36zrnx \
--discovery-token-ca-cert-hash sha256:611b1b5ab06e8f87a4c7677c213cffd5176fb3f4638ca6393c3c2acd3791e2b