Kubernetes (k8s) -环境部署

Kubernetes部署环境要求:

  1. 一台或多台机器,(我这里实验用了三台)操作系统CentOS 7.x-86_x64

     192.168.80.10 k8s-master

     192.168.80.20 k8s-node1

     192.168.80.30 k8s-node2

(2)硬件配置:内存2GB或2G+,CPU 2核或CPU 2核+;

(3)集群内各个机器之间能相互通信;

(4)集群内各个机器可以访问外网,需要拉取镜像;

(5)禁止swap分区;

一:Kubernetes部署环境准备:

1、关闭防火墙【三台都操作】

systemctl stop firewalld

systemctl disable firewalld

2、关闭selinux【三台都操作】

sed -i 's/enforcing/disabled/' /etc/selinux/config                 #永久

setenforce 0                 #临时

3、关闭swap(k8s禁止虚拟内存以提高性能)【三台都操作】

sed -ri 's/.*swap.*/#&/' /etc/fstab                 #永久

swapoff -a                 #临时

4、修改主机名:【三台虚拟机分别改名字】

hostnamectl set-hostname k8s-master                 //192.168.80.10上执行

hostnamectl set-hostname k8s-node1                 //192.168.80.20上执行

hostnamectl set-hostname k8s-node2         ​​​​​​​        //192.168.80.30上执行

5、【分别重启三台虚拟机】:(此时可以看到,三台虚拟机的名字已更改)

[root@localhost ~]# reboot          //重启

6、设置网桥参数【三台都操作】

cat > /etc/sysctl.d/k8s.conf << EOF

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

sysctl --system

#即时生效

7、时间同步【三台都操作】

yum install ntpdate -y                //下载同步时间的工具

ntpdate time.windows.com                //跟windows同步时间

二:所有服务器节点安装 Docker/kubeadm/kubelet/kubectl

Kubernetes 默认容器运行环境是Docker,因此首先需要安装Docker;

1、安装 Docker 【三台都操作】

更新docker的yum源

yum install wget -y                //下载wget

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

安装指定版本的docker:

yum install docker-ce-19.03.13 -y

2、配置加速器加速下载 (https://cr.console.aliyun.com/)【三台都操作】

mkdir /etc/docker            //先给给每台虚拟机建个docker文件夹,才可以进行下面的操作

vi /etc/docker/daemon.json        //添加该配置文件,并写入以下内容

{

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]

}

3、然后执行:【三台都操作】

systemctl restart docker.service

systemctl enable docker.service

4、添加k8s的阿里云YUM源:【三台都操作】

cat > /etc/yum.repos.d/kubernetes.repo << EOF

[kubernetes]

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

到时候下载k8s的相关组件才能找到下载源;

5、安装 kubeadm,kubelet 和 kubectl :【三台都操作】

yum install kubelet-1.19.4 kubeadm-1.19.4 kubectl-1.19.4 -y

然后执行:

systemctl enable kubelet.service

6、查看有没有安装:【三台都操作】

yum list installed | grep kubelet

yum list installed | grep kubeadm

yum list installed | grep kubectl

Kubernetes (k8s) -环境部署_第1张图片

7、部署Kubernetes Master主节点(创建内容较多,时间较久)在master操作

[root@k8s-master ~]# kubeadm init --apiserver-advertise-address=192.168.80.10 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.19.4 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16

8、在master机器上执行:(回到上面kubeadm init命令的结果复制)在master操作

Kubernetes (k8s) -环境部署_第2张图片

[root@k8s-master ~]# mkdir -p $HOME/.kube

[root@k8s-master ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

[root@k8s-master ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config

9、接下来把node节点加入Kubernetes master中,在两台node机器上执行;执行的命令就是kubeadm init最后输出的kubeadm join命令:(回到上面kubeadm init命令的结果复制--看自己的值是什么,不要复制我的)【粘贴到两台node节点上】

三:部署网络插件

1、下载kube-flannel.yml文件在master操作

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yaml

//国内的网络可能下载不了

我在百度网盘分享了,下面是连接和提取码:

链接:https://pan.baidu.com/s/1xlDDCjMFEbvLhT7mFjESvg

提取码:kube

 Kubernetes (k8s) -环境部署_第3张图片

 

2、应用kube-flannel.yml文件得到运行时容器在master操作

kubectl apply -f kube-flannel.yaml

3、然后查看节点状态:在master操作

[root@k8s-master ~]# kubectl get nodes

 Kubernetes (k8s) -环境部署_第4张图片

NotReady说明还没有就绪,需要等一会儿,然后节点就就绪了;在master操作

Kubernetes (k8s) -环境部署_第5张图片 

至此我们的k8s环境就搭建好了。 

 

 

你可能感兴趣的:(k8s,kubernetes,容器,docker)