K3s安装部署

K3s简介(一)

k3s 是一个轻量级 Kubernetes,它易于安装,二进制文件包小于 40 mb,只需要 512MB RAM 即可运行。

非常适用于:

  • Edge
  • IoT
  • CI
  • ARM

k3s 旨在成为完全兼容的 Kubernetes 发行版,相比 k8s 主要更改如下:

  1. 旧的、Alpha 版本的、非默认功能都已经删除。
  2. 删除了大多数内部云提供商和存储插件,可以用插件替换。
  3. 新增 SQLite3 作为默认存储机制,etcd3 仍然有效,但是不再是默认项。
  4. 封装在简单的启动器中,可以处理大量 LTS 复杂性和选项。
  5. 最小化到没有操作系统依赖,只需要一个内核和 cgroup 挂载。

k3s 包需要依赖:

  • containerd
  • Flannel
  • CoreDNS
  • CNI
  • Host 工具(iptables、socat 等)

k3s 工作原理:
img

k3s完整版本离线部署

3台Centos7.6虚拟机,三台虚拟机主机名必须***不同!!

主机名 ip地址
master 192.168.50.142
node1 192.168.50.133
node2 192.168.50.212

1 系统优化

所有机器执行

#!bin/bash
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum install net-tools vim tree htop iftop iotop lrzsz sl wget unzip telnet nmap nc psmisc dos2unix bash-completion sysstat bind-utils epel-release -y
yum install -y yum-utils
yum-config-manager --add-repo="file:///mnt"
yum-config-manager -y
sed -ri 's#(^SELINUX=).*#\1disabled#g' /etc/selinux/config 
echo '* - nofile 65535' >> /etc/security/limits.conf
sed -i 's@#UseDNS yes@UseDNS no@g' /etc/ssh/sshd_config
sed -i 's@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g' /etc/ssh/sshd_config
systemctl stop      firewalld && systemctl disable   firewalld
systemctl stop      NetworkManager && systemctl disable   NetworkManager  
systemctl start     network  && systemctl enable    network
systemctl get-default 
systemctl set-default multi-user.target
systemctl stop crond && systemctl disable crond
systemctl restart sshd
cd  /etc/yum.repos.d/
rm -rf  mnt.repo
yum  install   rsync  -y
##执行完成最好重启服务器

更改主机名

[root@centos ~]# hostnamectl   set-hostname   k3s-master
[root@centos ~]# hostnamectl   set-hostname   k3s-node1
[root@centos ~]# hostnamectl   set-hostname   k3s-node2

2 安装docker引擎

[root@k3s-master ~]#  yum  install  docker*  -y
#启动docker
[root@k3s-master ~]# systemctl   restart   docker
[root@k3s-master ~]# systemctl   enable   docker

3 下载k3s资源包

官网地址

image-20210224152414624

下载k3s安装脚本

3.安装master节点

将下载的资源包上传至 /var/lib/rancher/k3s/agent/images/中

下载k3s运行的依赖包

[root@k3s-master ~]# wget https://github.com/rancher/k3s/releases/download/v0.10.2/k3s-airgap-images-amd64.tar

下载k3s二进制文件

[root@k3s-master ~]#  wget https://github.com/rancher/k3s/releases/download/v0.10.2/k3s

下载安装脚本

[root@k3s-master ~]#  wget https://github.com/rancher/k3s/blob/master/install.sh

赋予权限

[root@k3s-master ~]# chmod 755 k3s
[root@k3s-master ~]# chmod 755 insatll.sh
[root@k3s-master ~]# chmod 755 k3s-airgap-images-amd64.tar

修改install.sh文件,添加或设置如下

[root@k3s-master ~]# export INSTALL_K3S_SKIP_DOWNLOAD=true       //设置跳过下载k3s二进制文件

创建链接

[root@k3s-master ~]# cp k3s /usr/local/bin/k3s   

将所需镜像文件拷贝

[root@k3s-master ~]# mkdir -p /var/lib/rancher/k3s/agent/images/
[root@k3s-master ~]# cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/

docker导入镜像

[root@k3s-master ~]#  docker load -i k3s-airgap-images-amd64.tar

注:如搭好k3s后,没有docker load -i操作,之后修改k3s.service,添加–docker --no-deploy traefik后,创建demo失败

启动安装文件

[root@k3s-master ~]#  ./install.sh

#也可以INSTALL_K3S_EXEC="–no-deploy=traefik" ./install.sh 操作

启动k3s

[root@k3s-master ~]# systemctl daemon-reload
[root@k3s-master ~]# systemctl restart k3s

查看状态

image-20210225105939680

node节点加入

下载k3s二进制文件

[root@k3s-node1 ~]#  wget https://github.com/rancher/k3s/releases/download/v0.10.2/k3s

下载安装脚本

[root@k3s-node1 ~]#  wget https://github.com/rancher/k3s/blob/master/install.sh

赋予权限

[root@k3s-node1 ~]# chmod 755 k3s
[root@k3s-node1 ~]# chmod 755 insatll.sh

修改install.sh文件,添加或设置如下

[root@k3s-node1 ~]# export INSTALL_K3S_SKIP_DOWNLOAD=true       //设置跳过下载k3s二进制文件

创建链接

[root@k3s-node1  ~]# cp k3s /usr/local/bin/k3s   

K3S_TOKEN是server端的,位于/var/lib/rancher/k3s/server/node-token下 //token是动态的!!

## 获取token
[root@k3s-master ~]# cat /var/lib/rancher/k3s/server/node-token
K10107382aac1d56c3f5754f7daafa1d8c7769ae8c48941771c7b5c551e4b2093ac::node:97e3e5fa24588e6673577cdae1eaff8d

## 设置token
[root@k3s-node1 ~]# export INSTALL_K3S_SKIP_DOWNLOAD=true
[root@k3s-node1 ~]# export K3S_TOKEN=K10107382aac1d56c3f5754f7daafa1d8c7769ae8c48941771c7b5c551e4b2093ac::node:97e3e5fa24588e6673577cdae1eaff8d

## 设置server
[root@k3s-node1 ~]# export K3S_URL=https://192.168.50.142:6443

## 添加工作节点
[root@k3s-node1 ~]# ./install.sh 

登录master检查

image-20210225125339358

清理docker

## 清理未使用镜像
docker image prune -a -f
## 清理未使用容器
docker container prune -f
## 查看容器占用
docker stats --no-stream
posted @ 2021-02-25 12:50  zhengjia1989  阅读(2865)  评论(0编辑  收藏  举报