学习安装k3s集群

记录一次k3s集群安装过程。

首先安装k3s集群可参考官网,K3s。官网上写使用如下命令进行安装:

curl -sfL https://get.k3s.io | sh - 
# Check for Ready node, takes ~30 seconds 
sudo k3s kubectl get node 

除了使用官网脚本安装,还是想记录下使用rancher安装k3s的具体安装过程。

我是在虚拟机上安装的k3s集群,建了两个,一个是k3s server,一个是k3s agent,配置均为1G内存和2处理器,系统均使用Centos7,虚拟机使用的桥接模式,具体如下:

序号虚拟机命名系统网络内存处理器
1k3s-serverCentos7192.168.17.2251024M2
2k3s-agentCentos7192.168.17.2261024M2

k3s-server的网络配置文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3 如下:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="390a6b9c-3f60-4df8-bf05-a08dd835c5ba"
DEVICE="enp0s3"
ONBOOT="yes"
IPV6_PRIVACY="no"
IPADDR="192.168.17.225"
PREFIX="24"
GATEWAY="192.168.17.254"
DNS1="222.172.200.68"
DNS2="61.166.150.123"

k3s-agent的网络配置文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3 如下:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="6db3a8ba-3841-4074-9596-6dd66a62346d"
DEVICE="enp0s3"
ONBOOT="yes"
IPADDR="192.168.17.226"
PREFIX="24"
GATEWAY="192.168.17.254"
DNS1="222.172.200.68"
DNS2="61.166.150.123"
IPV6_PRIVACY="no"

下面开始安装。

一、k3s-server上的操作

1、修改yum源并安装所需软件

运行如下命令配置K8S的源:

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=0
EOF

运行如下命令添加Docker源:

yum install yum-utils

yum-config-manager --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新源命令如下:

yum update

安装所需软件命令如下:

yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release openssh-server socat  ipvsadm conntrack ntpdate yum-utils device-mapper-persistent-data  lvm2 telnet

2、配置虚拟机k3s安装环境

关闭防火墙命令如下:

systemctl stop firewalld  && systemctl  disable firewalld

systemctl stop iptables  && systemctl  disable iptables

同步时间命令如下:

ntpdate cn.pool.ntp.org

关闭Swap交换分区命令如下:

swapoff -a

关闭selinux命令如下:

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

之后重启虚拟机,然后使用 getenforce 命令查看selinux有没有关闭了。

修改内核参数命令如下:

cat <<EOF >/etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

之后运行如下命令加载所有的sysctl配置:

sysctl --system

输入 vim /etc/hosts 配置hosts文件:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.17.225  k3s-server
192.168.17.226  k3s-agent

配置server、agent之间免密码登陆如下:

ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa k3s-agent

3、正式导入安装k3s

如果你是使用XShell工具,使用 rz -E 命令或直接拖拽的形式上传 k3s-server.tar.gz 文件。文件已上传奶牛快传 https://cowtransfer.com/s/ae79b17bbf3b4f 。

使用如下命令安装containerd:

yum install containerd

使用如下命令启动containerd:

systemctl start containerd

使用如下命令导入解压压缩包:

ctr images import k3s-server.tar.gz

使用脚本安装k3s:

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

安装好后可执行以下命令查看验证:

kubectl get nodes
kubectl get pods -n kube-system

此时来到k3s-agent上操作。

二、k3s-agent上的操作

k3s-agent上前面的操作和k3s-server一样。

1、修改yum源并安装所需软件

运行如下命令配置K8S的源:

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=0
EOF

运行如下命令添加Docker源:

yum install yum-utils

yum-config-manager --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新源命令如下:

yum update

安装所需软件命令如下:

yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release openssh-server socat  ipvsadm conntrack ntpdate yum-utils device-mapper-persistent-data  lvm2 telnet

2、配置虚拟机k3s安装环境

关闭防火墙命令如下:

systemctl stop firewalld  && systemctl  disable firewalld

systemctl stop iptables  && systemctl  disable iptables

同步时间命令如下:

ntpdate cn.pool.ntp.org

关闭Swap交换分区命令如下:

swapoff -a

关闭selinux命令如下:

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

之后重启虚拟机,然后使用 getenforce 命令查看selinux有没有关闭了。

修改内核参数命令如下:

cat <<EOF >/etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

之后运行如下命令加载所有的sysctl配置:

sysctl --system

输入 vim /etc/hosts 配置hosts文件:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.17.225  k3s-server
192.168.17.226  k3s-agent

配置server、agent之间免密码登陆如下:

ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa k3s-server

3、正式导入安装k3s

同样如果你是使用XShell工具,使用 rz -E 命令或直接拖拽的形式上传 k3s-agent.tar.gz 文件。文件已上传奶牛快传 https://cowtransfer.com/s/ae79b17bbf3b4f 。

使用如下命令安装containerd:

yum install containerd

使用如下命令启动containerd:

systemctl start containerd

使用如下命令导入解压压缩包:

ctr images import k3s-agent.tar.gz

此时来到k3s-server这台虚拟机上,执行以下命令查看node-token:

cat /var/lib/rancher/k3s/server/node-token

假设node-token值为K10143264a7ecdd9004e1b181f4f36cada54a99e3db8f5195bda423b3ef4ab456df::server:d16242a7abdf50dcf80919f3f3e057ck

再来到k3s-agent这台虚拟机上执行以下命令:

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.17.225:6443 K3S_TOKEN=K10143264a7ecdd9004e1b181f4f36cada54a99e3db8f5195bda423b3ef4ab456df::server:d16242a7abdf50dcf80919f3f3e057ck sh -

此时回到k3s-server这台虚拟机上执行以下命令验证k3s-agent是否加入:

kubectl get nodes

验证成功后至此安装完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值