K8s集群快速搭建

it2024-08-10  36

环境:Centos7 

配置:cpu2核、内存2G、3台虚拟机

一、

1、

vim /etc/hostname

master/node1/node2  (3台虚拟机都做)   #修改主机名

2、

vi /etc/hosts

192.168.118.100 master 192.168.118.101 node1 192.168.118.102 node2

scp /etc/hosts node1:/etc scp /etc/hosts node1:/etc

3、

yum install conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git   #下载一些需要的包 swapoff -a >>/dev/null 2>&1 sed -i 's/.*swap.*/#&/' /etc/fstab       #关闭swap分区 systemctl stop firewalld systemctl disable firewalld iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat iptables -P FORWARD ACCEPT                     #关闭防火墙,设置默认转发策略

4、

调整系统TimeZone(时区)为上海

timedatectl set-timezone Asia/Shanghai

将当前的UTC时间写入硬件时钟

timedatectl set-local-rtc 0

hwclock -w

更新服务时间

ntpdate ntp1.aliyun.com

重启系统时间服务

systemctl restart rsyslog

systemctl restart crond

5、

cat > /etc/sysconfig/modules/ipvs.modules <<EOF #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack_ipv4 EOF chmod 777 /etc/sysconfig/modules/ipvs.modules && bash           #kube-proxy设置开启ipvs的前置条件

以上操作3台虚拟机都操作

二、

1、安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2   #安装依赖

yum-config-manager \

--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  #导入阿里云的docker-ce仓库

yum update -y && yum install -y docker-ce  #更新系统并安装docker-ce

systemctl start docker

systemctl enable docker   # 开启docker并设置开机自启

2、安装Kubeadm

cat > /etc/sysconfig/modules/ipvs.modules <<EOF #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack_ipv4 EOF

chmod 777 /etc/sysconfig/modules/ipvs.modules && bash           #kube-proxy设置开启ipvs的前置条件

yum install -y kubelet-1.18.4-0 kubeadm-1.18.4-0 kubectl-1.18.4-0   #安装Kubeadm(初始化工具)、kubectl(命令管理工具)、kubelet(与docker的cri交互创建容器)

安装1.18.4版本

systemctl enable kubelet.service  #k8s设置开机自启

vim image.sh                    

# more image.sh #以下为image.sh文件的内容,如没有该文件,可以在当前文件下创建文件

#!/bin/bash url=registry.cn-hangzhou.aliyuncs.com/google_containers #阿里云镜像仓库地址,可以按需修改 version=v1.18.4 #安装的kubernetes的版本(可以按需修改) images=(`kubeadm config images list --kubernetes-version=$version|awk -F '/' '{print $2}'`) for imagename in ${images[@]} ; do docker pull $url/$imagename docker tag $url/$imagename k8s.gcr.io/$imagename docker rmi -f $url/$imagename done                                                                     #写一个下载镜像的脚本

chmod a+x image.sh

scp image.sh node1:/root

scp image.sh node2:/root

./image.sh                                            #执行下载镜像

以上操作3台虚拟机都操作

三·、

1、初始化节点(master主机)

kubeadm init --kubernetes-version=v1.18.4 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap                             #黄色部分按照自己安装的版本而定 出现以下界面表示初始化成功,并复制红框部分内容

2、安装网络插件(master节点)

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

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml   #可能要多执行几次,前几次可能会失败

kubectl apply -f kube-flannel.yml   

 3、node节点加入

kubeadm join 192.168.118.100:6443 --token ekiax2.bkgca6uv7zfgk1hg \     --discovery-token-ca-cert-hash sha256:da8febeb21b9ad8b3afc60c90bfa846f45e617c216d055a567b86f998954dd5c    #上面红框部分的内容在node节点执行

     

kubectl get pod -n kube-system            # 查看节点是否加入成功

                                                                 

最新回复(0)