当前位置: 首页 > Linux

一键安装脚本

时间:2023-04-06 03:17:25 Linux

附k3s单机版安装部署-作者:SRE运维博客博客地址:https://www.cnsre.cn/文章地址:https://www.cnsre.cn/posts/211109907029/相关话题:https://www.cnsre.cn/tags/k3s/-双11各大云厂商纷纷播种种韭菜(抢夺用户)。可以买三年的2C4G8M轻量级应用服务器。于是我也把毛线卖了买了一根。但是对于k8s来说,各种组件资源消耗比较大,运行起来还是有点吃力,所以我打算在这个实例上部署一个轻量级的Kubernetes:k3sk8sVSk3sk3s是Rancherk8s推出的轻量级Kubernetes。k3s本身包含了k8s的源码,但是二进制包只有60M,但是本质上和k8s是一样的。但是为了减少资源占用,k3s和k8s还是有一些区别的,主要是:使用比Docker更轻量级的containerd作为容器运行时(Docker并不是唯一的容器选择)。删除了k8s的Legacy、alpha、非默认功能。使用sqlite3作为默认存储而不是etcd。其他一些优化,最后k3s只是一个二进制文件,非常容易部署,所以k3s适用于边缘计算、物联网等资源受限的场景。同时,k3s也非常容易部署。官网提供一键部署脚本。k3s的优势k3s将安装Kubernetes所需的一切打包成一个只有60MB大小的二进制文件,并完全实现了KubernetesAPI。为了减少运行Kubernetes所需的内存,Rancher删除了许多不必要的驱动程序并用附加组件替换它们。k3s是完全通过CNCF认证的Kubernetes发行版,这意味着您可以编写YAML来运行完整版本的Kubernetes,它们也可以运行在k3s集群上。由于它需要极低的资源来运行,它能够在512MBRAM以上的任何设备上运行集群,换句话说,我们可以让pod在主节点和节点上运行。k3s的缺点首先,当前版本的k3s(k3sv0.8.1)只能运行单个master,这意味着如果你的master宕机,你将无法管理你的集群,即使现有集群继续运行。但在k3sv0.10版本中,多主模式已经是实验性功能,下个版本可能会GA。第二,在单master的k3s中,默认的数据存储是SQLite,这对小型数据库非常友好,但是如果受到重创,那么SQLite就会成为一大痛点。然而,Kubernetes控制平面发生的变化更多是关于频繁更新部署、调度pod等,因此对于小型开发/测试集群,数据库的负载不是太大。结语K8s和k3s各有优缺点,使用场景也不同,不能一概而论。如果你想部署一个大集群,那么我建议你选择K8s;如果你和我一样只是为了开发或者测试,那么选择k3s是一个性价比更高的选择。安装k3s确保你是一个干净的CentOS7服务器。按照惯例,先更新,更新前把源改成国内的yum源。#更改国内yum源curl-o/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repocurl-o/etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-7.repo#updateyumupdate-y修改主机名hostnamectlset-hostnamek3s-master修改后断开重连。{{}}??注意K3s默认会使用containerd作为容器环境,请在下方选择使用Docker安装或者使用Containerd安装。{{}}{{}}{{}}使用docker安装#Installdocker-ceyumremove-ydockerdocker-clientdocker-client-latestdocker-通用docker-latestdocker-latest-logrotatedocker-logrotatedocker-engineyuminstall-yyum-utilsyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repoyuminstall-ydocker-cedocker-ce-clicontainerd.io#解决内核检查问题并重启grubby--args="user_namespace.enable=1"--update-kernel="$(grubby--default-kernel)"systemctlenabledockersystemctlstartdocker#修改dockersourcecat</etc/docker/daemon.json{"registry-mirrors":["https://3laho3y3.mirror.aliyuncs.com"]}EOFsystemctldaemon-reloadsystemctlrestartdocker#安装dockerend#关闭firewalldfirewallsystemctlstopfirewalldsystemctldisablefirewalld#安装k3scurl-sfLhttp://rancher-mirror.cnrancher.com/k3s/k3s-install.sh|INSTALL_K3S_MIRROR=cnsh-s---docker{{}}{{}}使用续ainerd安装curl-sfLhttp://rancher-mirror.cnrancher.com/k3s/k3s-install.sh|INSTALL_K3S_MIRROR=cnsh-{{}}{{}}安装完成后查看安装完成后可以执行如下命令查看主机#运行配置检查k3scheck-config#查看节点状态和k3s版本[root@k3s-master~]#kubectlgetnodeNAMESTATUSROLESAGEVERSIONvm-16-8-centosReadycontrol-plane,master52mv1.21.5+k3s2#查看所有pod信息[root@k3s-master~]#kubectlgetpods-ANAMESPACENAMEREADYSTATUSRESTARTSAGEkube-systemlocal-path-provisioner-5ff76fc89d-bbps41/1Running052mkube-systemcoredns-7448499f4d-42v9x1/1正在运行052mkube-systemmetrics-server-86cbb8457f-xqlrg1/1正在运行052mkube-systemhelm-install-traefik-crd-9wk9v0/1已完成052mkube-systemhelm-install-traefik-d8llf0/1已完成352mkube-systemsvclb-traefik-jqxvf2/2运行049mkube-systemtraefik-97b44b794-wv6zv1/1运行g049mtillherek3shasbeeninstalledInstallnfsinstallnfsserviceyum-yinstallnfs-utilssystemctlstartnfs&&systemctlenablenfscreatenfsdirectorymkdir-p/home/k8s/nfs修改权限chmod-R755/home/k8s/nfseditexportfilecat>>/etc/exports<