k3s 部署, 使用注意事项

删除回忆录丶 提交于 2020-01-22 21:38:01

课程简介:

第一章 熟悉Linux环境
1、Win10安装Ubuntu18.04双系统
2、熟悉Linux常用工具和命令
第二章 熟悉Docker
3、安装配置Docker
4、Docker命令实践
5、Dockerfile文件编写
6、常用镜像部署
​​​​​​​ 第三章 熟悉Kubernetes
​​​​​​​ 7、kubernetes架构和部署
​​​​​​​ 8、熟悉kubectl命令使用
​​​​​​​ 9、k8s应用部署实践(上)
​​​​​​​ 10、k8s应用部署实践(下)
​​​​​​​ 第四章 熟悉Helm
​​​​​​​ 11、Helm安装配置
​​​​​​​ 12、熟悉Helm应用书写规则
​​​​​​​ 13、编写自己的Helm应用

全栈工程师开发手册 (作者:栾鹏)
架构系列文章

官方地址:https://rancher.com/docs/k3s/latest/en/

环境配置
官方给出的k3s配置要求如下:

系统内核版本:Linux 3.10+ (CentOS 7, Debian 8/9, Ubuntu 14.04+)
K3S Server端最低内存要求:512 MB
K3S Agent端内存最低要求:75MB
磁盘空间最低要求:200 MB
支持的硬件架构:x86_64, ARMv7, ARM64


部署
浏览器打开网址

https://get.k3s.io
1
浏览器会自动跳转到(可能需要vpn才行)

https://raw.githubusercontent.com/rancher/k3s/master/install.sh
1
将install.sh另存到本地,在本地执行

sh install.sh
1
安装程序将kubeconfig文件写到/etc/rancher/k3s/k3s.yaml中
会自动下载安装k3s和额外的实用程序,如kubectl,crictl,ctr,k3s-killall.sh,和k3s-uninstall.sh。

在自动下载安装的过程中存在网络问题. 下载k3s的二进制可执行文件

下载k3s二进制可执行文件(地址可以根据sh install.sh的命令行打印显示获取)
https://github.com/rancher/k3s/releases/download/v0.10.2/k3s
之后上传此Binary到服务器端的 /usr/local/bin/k3s,并赋予可执行属性:

chmod +x /usr/local/bin/k3s
1
2
3
4
5
自动部署还会拉取k8s.gcr.io仓库下的镜像,由于网络问题在国内服务器上可能拉取不到,所以我们拉取国内镜像,然后改镜像名

docker pull registry.cn-beijing.aliyuncs.com/ilemonrain/pause-amd64:3.1
docker tag registry.cn-beijing.aliyuncs.com/ilemonrain/pause-amd64:3.1 k8s.gcr.io/pause:3.1
1
2
安装完成后,我们需要调整下K3S的服务配置文件,以将K3S的默认容器引擎从Containerd切换到Docker。这样才能在docker中控制你的镜像

修改K3S服务的配置文件:

vim /etc/systemd/system/multi-user.target.wants/k3s.service
1
文件内容如下:

[Unit]
Description=Lightweight Kubernetes
Documentation=https://k3s.io
After=network-online.target

[Service]
Type=notify
EnvironmentFile=/etc/systemd/system/k3s.service.env
ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/k3s server
KillMode=process
Delegate=yes
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Restart=always

[Install]
WantedBy=multi-user.targe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
在这里我们需要修改ExecStart的值,将其修改为:

/usr/local/bin/k3s server --docker --no-deploy traefik
1
之后保存退出,执行命令重新加载新的服务配置文件:

systemctl daemon-reload
1
完成后重启K3S服务:

service k3s restart
1
稍等数十秒,之后通过命令确认K3S集群是否就绪:

sudo k3s kubectl get node
1
如果得到类似如下的结果:

NAME       STATUS   ROLES    AGE   VERSION
luanpeng   Ready    master   14h   v1.16.2-k3s.1
1
2
则说明K3S集群启动成功。

工作节点加入集群
要在工作程序节点上安装并将它们添加到集群中,我们应该将环境变量K3S_URL和K3S_TOKEN(或者K3S_CLUSTER_SECRET)一起传递。K3S_TOKEN在服务器的/var/lib/rancher/k3s/server/node-token

这是显示如何加入节点的示例:

curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=XXX sh -
1
注意:每台计算机必须具有唯一的主机名。如果您的计算机没有唯一的主

使用kubectl命令
之前在k8s中的kubectl命令,需要在前面添加sudo k3s,例如查询节点

sudo k3s kubectl get node
1
如果我们把/etc/rancher/k3s/k3s.yaml中的kubeconfig内容添加到~/.kube/config文件中,那我们就可以直接通过kubectl控制k3s集群了

web监控
可以绑定rancher参考:https://yq.aliyun.com/articles/704089
或者部署dashboard, 然后用火狐浏览器(谷歌浏览器可能不行)打开dashboard service地址.

https://10.43.24.135:8443
1
pvc的使用
创建pv和pvc必须要加上storageClassName 字段
 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!