1、k3s,让我们来看看你是个什么东东

k8s是什么,相信大家都比较熟悉,从名字看也可以看出k3s是轻量级的k8s。主要是应用与边缘计算,IoT,CI和ARM;其主要特点就是轻和小,不依赖于etcd,使用本地数据库存储相关信息,只需一台服务器即可运行

2、安装

注意:本次安装是在ubuntu 16.06 64位下进行,并且版本为v0.6.1
k3s的一大特点就是提供了离线安装,这酸爽是简直了。
2.1、下载相关文件
从最新的release下载k3s,主要下载k3s
和k3s-airgap-images-amd64.tar(此为离线安装需要的文件,需根据不同平台下载对应的文件);另外通过https://get.k3s.io下载官方安装文件,保存成.sh文件;最后把把上面三个文件存放与同一目录下
2.2、安装
2.2.1、安装master,
1、需要执行hostname命令查看本机的hostname

hostname

并且修改/etc/hosts中hostname对应ip的记录,一般修改位127.0.0.1。这一步后面版本可以忽略

2、复制以下代码到sh文件中,并执行

# 复制k3s到/usr/local/bin/,安装过程中需要这个
sudo cp ./k3s /usr/local/bin/	

sudo apt-get update;
# 安装nfs-common,主要在k3s中使用nfs,所以需要安装这个
sudo apt-get install nfs-common

# 创建离线文件夹并复制k3s-airgap-images-amd64.tar到指定文件夹中
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp ./k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/

// 执行安装文件,并且设置跳过下载过程
sudo INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh

通常情况下我们已安装好master节点,当我在安装过程中碰到过执行kubectl命令显示ca认证错误,始终无法解决;后面指定另一台机器位master跳过这个问题

2.2.2、安装agent
1、假设我们此次agent的node-name为node-1,那么我们需要在/etc/hosts添加node-1对应的一条记录为127.0.0.1 node-1
2、同时也对hostname命令获得的值对应的的记录进行修改,把ip改为127.0.0.1
3、复制以下代码到sh文件中,并执行

# 复制k3s到/usr/local/bin/,安装过程中需要这个
sudo cp ./k3s /usr/local/bin/

sudo apt-get update;
# 安装nfs-common,主要在k3s中使用nfs,所以需要安装这个
sudo apt-get install nfs-common

# 输入token,这个token是安装master成功后最后显示的那行数据,或者是/var/lib/rancher/k3s/server/node-token中的内容
read -p "input master token: " input;
token=`echo $input`;
# 输入maste的endpoint,为https://ip:6443
read -p "input master endpoint: " input;
master=`echo $input | tr '[A-Z]' '[a-z]'`;
# 输入node名称,此次输入为node-1
read -p "input node name: " input;
nodename=`echo $input | tr '[A-Z]' '[a-z]'`;

# 创建离线文件夹并复制k3s-airgap-images-amd64.tar到指定文件夹中
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp ./k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/

sudo INSTALL_K3S_SKIP_DOWNLOAD=true K3S_TOKEN=$token K3S_URL=$master K3S_NODE_NAME=$nodename ./install.sh

至此我们就完成了对k3s安装,简单明了。

3、总结

1、离线安装,直接安装下载一直跪
2、在v0.6.1中,主要hosts的修改
3、重装agent(名字没变)的时候肯定连接不上(v0.6.1),实际上是由于master记录了原来agent的名称和密码,新安装的时候名称没变,但密码变了,所以导致密码错误,无法连接。此时只需要把server中记录的对应密码复制到agent中即可

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐