锅炉信息网 > 锅炉知识 > 锅炉资讯

安装K8S集群

离线安装所需软件分享在:链接:https://pan.baidu.com/s/1e1RmJ-0GiT2J4GJkIEXcqw 提取码:yymq 1. 准备虚拟机我们需要准备三台linux

离线安装所需软件分享在:链接:https://pan.baidu.com/s/1e1RmJ-0GiT2J4GJkIEXcqw

提取码:yymq

1. 准备虚拟机

我们需要准备三台linux服务器,其中一台作为master,两台作为node。

在本文中,我们使用VMware Workstation 16 Player来准备Linux环境,使用CentOS-7-x86_64-Minimal-2009.iso作为操作系统安装盘。

首先创建一台模板虚拟机,2核2G10G硬盘,按1.2~1.4执行后,形成模板,再复制为三台虚拟机。

2. 设置操作系统参数

在线安装操作系统内核:

#下载内核源

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

# 安装最新版本内核

yum --enablerepo=elrepo-kernel install -y kernel-lt

离线安装操作系统内核:

rpm -ivh ~/0-kernel/kernel-lt-5.4.159-1.el7.elrepo.x86_64.rpm

使用最新操作系统内核:

# 查看可用内核

cat /boot/grub2/grub.cfg |grep menuentry

# 设置开机从新内核启动

grub2-set-default "CentOS Linux (5.4.159-1.el7.elrepo.x86_64) 7 (Core)"

# 查看内核启动项

grub2-editenv list

# 重启系统使内核生效

reboot

# 查看内核版本是否生效 uname -r

关闭SWAP

swapoff -a

yes | cp /etc/fstab /etc/fstab_bak

cat /etc/fstab_bak |grep -v swap > /etc/fstab

关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config && setenforce 0

修改iptables相关参

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

vm.swappiness = 0

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

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

net.ipv4.ip_forward = 1

EOF

# 使配置生效

modprobe br_netfilter

sysctl -p /etc/sysctl.d/k8s.conf

修改iptables相关参

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

vm.swappiness = 0

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

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

net.ipv4.ip_forward = 1

EOF

# 使配置生效

modprobe br_netfilter

sysctl -p /etc/sysctl.d/k8s.conf

加载ipvs模块

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

EOF

#执行脚本

chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack

安装docker

3 安装docker

在线安装docker

yum install -y yum-utils

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum install docker-ce docker-ce-cli http://containerd.io

离线安装docker

cd /root/1-docker-ce

chomod +x install_docker-ce.sh

./install_docker-ce.sh

设置开机启动

systemctl enable docker

systemctl start docker

配置docker的cgroupdriver为systemd模式

cat <<EOF > /etc/docker/daemon.json

{

"exec-opts": ["native.cgroupdriver=systemd"],

"log-driver": "json-file",

"log-opts": {

"max-size": "100m"

},

"storage-driver": "overlay2"

}

EOF

4. 安装k8s

在线安装k8s

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

[kubernetes]

name=Kubernetes

baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg

https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

EOF

setenforce 0

yum install -y kubelet kubeadm

离线安装k8s

cd /root/2-kubeadm

chomod +x install_kubeadm.sh

./install_kubeadm.sh

设置开机启动

systemctl enable docker

systemctl start docker

5. 分别设置三台服务器

复制为三台虚拟机

将模板虚拟机复制为3份,在vmware workstation player中打开,分别命名为master-01,node-01,node-02,依次查看ip地址,并在xshell中登记备用。

设置hostname与hosts

准备好三台虚拟机后,应分别设置hostname:

主机名IP地址
master-01192.168.83.138
node-01192.168.83.139
node-02192.168.83.140

设置hostname的命令为hostnamectl set-hostname xxx;查看操作系统hostname的命令为:hostname

master-01专门设置:

master-01将来需要通过hostname找到node-01与node-02,所以需要在master-01的/etc/hosts文件中,追加node-01与node-02的ip-主机名映射关系:

echo 192.168.83.138 mstaer-01 >> /etc/hosts

echo 192.168.83.139 node-01 >> /etc/hosts

echo 192.168.83.140 node-02 >> /etc/hosts

在master-01上导入镜像

docker load -i coredns.tar

docker load -i etcd.tar

docker load -i flannel-cni-plugin.tar

docker load -i flannel.tar

docker load -i kube-apiserver.tar

docker load -i kube-controller-manager.tar

docker load -i kube-proxy.tar

docker load -i kube-scheduler.tar

docker load -i pause.tar

在node-01,node-02上导入镜像

docker load -i flannel-cni-plugin.tar

docker load -i flannel.tar

docker load -i pause.tar

6. 初始化k8s集群

在master-01上执行:kubeadm init --apiserver-advertise-address=192.168.83.138 --pod-network-cidr=10.244.0.0/16 --image-repository http://registry.aliyuncs.com/google_containers

根据提示执行如下命令:

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

在node-01于node-02上分别执行:

kubeadm join 192.168.83.138:6443 --token bdb8hj.9or4rqzdrr97rfyx

--discovery-token-ca-cert-hash sha256:xxx

在master-01上执行: kubectl get nodes,确认node已加入集群:



在master-01上执行:kubectl apply -f /root/4-flannel/kube-flannel.yaml,开通k8s网络



7. 安装GUI工具

在windows上安装lens:5-lens/Lens Setup 5.2.7-latest.20211110.1.exe

运行Len,打开File-> Add Cluster对话框。

在master-01上执行:cat .kube/config,将内容复制到的File-> Add Cluster对话框中:

上一篇:高可用K3S 集群搭建

下一篇:K8S 集群的安装

锅炉资讯

锅炉资讯

锅炉学习

锅炉学习

锅炉视频

锅炉视频

锅炉百科

锅炉百科