K3S+Rancher

这篇具有很好参考价值的文章主要介绍了K3S+Rancher。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.查看系统版本,架构等情况便于后续采用对应的安装包以及命令

查看系统版本

uname -a

查看系统命令集

uname -m

这是我系统配置情况

服务器清单
名称 IP 配置 系统
主-服务 192.168.23.171 4Cpu8G Ubuntu 20.04.6
副主-服务 192.168.23.103 4Cpu8G Ubuntu 20.04.6
代理-服务 192.168.23.248 4Cpu8G Ubuntu 20.04.6
外置均衡代理 192.168.23.205 4Cpu8G Ubuntu 20.04.6

2.配置服务器

2.1服务器源配置

修改/etc/apt/sources.list文件

2.2服务器host配置

修改主机服务名称,最好与下面的hosts中的名称相同

vi /etc/hostname

修改host文件,写主机映射的域名,每个服务器都要进行设定 

vi /etc/hosts
#主服务器
192.168.23.171 k3s-master-server
#副主服务
192.168.23.103 k3s-server
#代理
192.168.23.248 k3s-agent

2.3服务器时间配置

 保持服务器主机时间一致,可以开启同步

2.4处理磁盘挂载

2.4.1磁盘挂载

参考文章

这里注意要关闭 swap,在 /etc/fstab文件中的swap前添加#号

2.4.2创建与k3s和rancher相关的目录,独立存储

mkdir /data
mkdir /data/k3s
mkdir /data/k3s/k3s
mkdir /data/k3s/kubelet 
mkdir /data/k3s/rancher

2.4.3建立软链接

ln -s /data/k3s/k3s /run/k3s
ln -s /data/k3s/kubelet /var/lib/kubelet
ln -s /data/k3s/rancher /var/lib/rancher

 2.5其他内容安装

添加iscsi命令支持

apt-get install open-iscsi

调整忘了配置

vi /etc/sysctl.conf
net.ipv4.ip_forward=l
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_timestamps=1

 使配置生效

/sbin/sysctl -p

 调整dns

避免网络的问题,适当调整dns

vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114

2.安装nginx配置,tcp转接,实现负载均衡

外置均衡代理服务器主要安装nginx,用于TCP转接实现负载均衡处理。并用于部分静态文件存储配置nginx.conf文件如下:psstjz.com

 stream {
      upstream k3s_servers  {
        server 192.168.23.248:6443;
        server 192.168.23.103:6443;
        server 192.168.23.171:6443;
     }
     server {
        listen 6443;
        proxy_pass k3s_servers;
  }
}

3.添加镜像仓库

4.离线安装k3s

4.1拷贝离线文件

拷贝离线k3s执行文件、k3s-airgap-images-amd64.tar到数据存储目录

创建镜像文件对应目录,并拷贝离线文件

mkdir -p /var/lib/rancher/k3s/agent/images/
cp ./k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/

拷贝k3s执行文件,并且赋权

chmod 755 k3s
cp k3s /usr/local/bin/

4.2外部安装数据库(可选)

   本次安装外部安装mysql数据库,并且创建k3s数据库

4.3k3s安装

有需要可以将sh脚本下载成文件(注意同样要修改权限)

4.3.1主-服务安装

安装过程中如果提示缺啥就装啥,每个k3s服务器都装

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_VERSION=v1.26.9+k3s1 INSTALL_K3S_MIRROR=cn INSTALL_K3S_SKIP_DOWNLOAD=true sh -s - server --datastore-endpoint="mysql://用户名:密码@tcp(ip地址:端口)/k3s"

4.3.2查询token
 

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

复制主机token信息

4.3.3副主-服务安装

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_SKIP_DOWNLOAD=true  INSTALL_K3S_VERSION=v1.26.9+k3s1  sh  -s - server --datastore-endpoint="mysql://账号:密码@tcp(ip地址:端口)/k3s" --token "主服务token"

4.3.4代理安装

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_SKIP_DOWNLOAD=true   K3S_URL=https://域名(host中编写的主机服务域名):6443 INSTALL_K3S_VERSION=v1.26.9+k3s1 K3S_TOKEN="主服务token" sh -

4.3.5设置镜像资源

vi /etc/rancher/k3s/registries.yaml

内容如下:

mirrors:
  镜像库域名或者ip:
    endpoint:
      - "https://镜像库域名或者ip"
configs:
  镜像库域名或者ip:
    auth:
      username: 镜像仓库的用户名
      password: 镜像仓库的密码
    tls:
      insecure_skip_verify: true #跳过安全认证

4.3.6设置集群配置文件

两个主服务中复制配置文件到root中,并且修改中间的127.0.0.1为nginx中配置的负载均衡域名

kubectl --kubeconfig ~/.kube/config get pods --all-namespaces 

4.3.7重启服务

重新加载配置文件

systemctl daemon-reload

重新启动主-服务

systemctl restart k3s

重启副主-服务

systemctl restart k3s-agent

5.离线安装rancher

5.1准备离线文件

 根据版本不同下载不同文件rancher-2.7.9.tgz,cert-manager-v1.13.2.tgz

提前通过镜像库下载镜像文件

k3s crictl pull 镜像库域名/rancher/rancher:v2.7.9

 5.2安装cer-manager仓库

5.2.1创建命名空间

kubectl create namespace cert-manager

5.2.2创建资源定义

kubectl apply -f cert-manager/cert-manager-crd.yaml

 5.2.3安装cert-manager

helm install cert-manager ./cert-manager-<VERSION>.tgz \
    --namespace cert-manager \
    --set image.repository=镜像库域名地址/quay.io/jetstack/cert-manager-controller \
    --set webhook.image.repository=镜像库域名地址/quay.io/jetstack/cert-manager-webhook \
    --set cainjector.image.repository=镜像库域名地址/quay.io/jetstack/cert-manager-cainjector \
    --set startupapicheck.image.repository=镜像库域名地址/quay.io/jetstack/cert-manager-ctl

 5.3安装rancher

5.3.1创建命名空间

kubectl create namespace cattle-system

5.3.2安装rancher 

helm install rancher ./rancher-2.7.9.tgz --namespace cattle-system --set hostname=负载均衡地址 --set rancherImage=镜像库域名地址/rancher/rancher --set systemDefaultRegistry=镜像库域名地址/rancher --set useBundledSystemChart=true

 5.3.3获取初次登录密码

kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{"\n"}}'

6.其他内容

6.1关闭多路径

systemctl stop multipathd.service
vi /etc/multipath.conf
blacklist {
devnode "^sd[a-z0-9]+"
}
systemctl restart multipathd.service

6.2 缺少restorecon命令支持

执行如下命令安装

apt-get install policycoreutils

6.3安装longhorn时个节点安装nfsutil

sudo apt install nfs-common

6.4一些常用命令

查看所有pod

kubectl --kubeconfig ~/.kube/config get pods --all-namespaces 

 查看命名空间下的所有pod

kubectl -n 命名空间  get pods

 查看当个pod状态

kubectl describe pod pod名称 -n 命名空间  

 查看单pod日志

kubectl  logs -f -n  命名空间  pod名称 --since=1h

 文件拷贝命令

从主机拷贝文件到pod

kubectl cp /主机目录/文件路径 podName:/容器路径/xxx -n 命名空间

从pod拷贝到主机 

kubectl cp podName:容器路径/xxx -n 命名空间 /主机目录

删除pod

 kubectl delete pod pod名称  -n 命名空间

 删除命名空间

kubectl delete namespace 命名空间

查看k3s日志

tail -200f /var/log/syslog | grep k3s

卸载主服务k3s

/usr/local/bin/k3s-uninstall.sh

卸载代理服务k3s

/usr/local/bin/k3s-agent-uninstall.sh

出现mysql数据查询缓慢,调整最大连接数,更换引擎文章来源地址https://www.toymoban.com/news/detail-799790.html

到了这里,关于K3S+Rancher的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 09-K3S 安装-私有镜像仓库配置参考

    K3s 默认使用 containerd 作为容器运行时,所以在 docker 上配置镜像仓库是不生效的[ 除非将容器运行时环境设置为Docker,本篇以 containerd 作为容器运行时环境 ] K3s registry 配置目录为: /etc/rancher/k3s/registries.yaml 。K3s 启动时,K3s 会检查 /etc/rancher/k3s/ 中是否存在 registries.yaml 文件,

    2024年02月08日
    浏览(33)
  • 使用 k3d 在Windows上安装 k3s

    k3d是运行k3s的一个轻量化程序,k3s 是Rancher实验室提供的一个k8s分支。k3d 是的 k3s 的安装非常便捷,能极大提高k8s的开发与练习。 kubectl是K8s官方客户端工具,K3s是K8s得简化版本,可以用它来操作k3s。下载完成后将 kubectl.exe 加入 环境变量 path 中。 k3d 即 k3s in docker ,它是将k3s以

    2024年02月09日
    浏览(37)
  • k3s部署全过程kuboard管理界面

    # 安装k3s博客 ## 准备工作 1.准备俩台可以相互访问的服务器 2.需要先安装dockers 3.以下教程将使用VsCode+ssh插件来进行插件图 点击打开ssh操作界面 进入需要设置master节点的服务器中然后执行docker命令启动一个autok3s的容器并且需要将docker映射进去 注:如果选择使用docker做为k3s的

    2024年02月06日
    浏览(37)
  • 三台N1上离线安装k3s集群

    三台N1 分别是 hostname IP server n101 192.168.0.101 agent n102 192.168.0.102 agent n103 192.168.0.103 1. 创建k3s文件夹并进入 2. 下载 去https://github.com/k3s-io/k3s/releases下载最新的k3s二进制和依赖镜像的压缩包 k3s: 二进制。 k3s-airgap-images-amd64.tar: 镜像压缩包。 amd的直接选择k3s和带有amd的文件,arm或者

    2024年02月10日
    浏览(31)
  • K3S和 K8S 有何不同?

    K3s 是CNCF 认证的 Kubernetes 发行版和Sandbox项目,专为低资源环境而设计。由 Rancher Labs 维护着 K3s。 总的来说,K3s 提供了一个开销较小的 Kubernetes 集群设置,但仍然集成了 K8s 的大部分架构和功能。 以下是 K3s 成为轻量级发行版的原因: 打包为具有最小外部依赖性的单个二进制

    2023年04月09日
    浏览(30)
  • 解决安装了k3s以后80和443端口被占用的问题

    今天服务器安装了一个k3s,该服务器的其他服务就都访问不了了,查了一下是因为k3s默认会安装traefik来替代k8s的ingress来代理流量,此时默认情况会占据系统的 80 和 443 端口。 并且很奇怪的是lsof -i:80 都查不到traefik这个端口。因为通过iptables来转发流量所以lsof不会找到该应用

    2024年02月11日
    浏览(27)
  • K3s vs K8s:轻量级对决 - 探索替代方案

    在当今云原生应用的领域中,Kubernetes(简称K8s)已经成为了无可争议的领导者。然而,随着应用规模的不断增长,一些开发者和运维人员开始感受到了K8s的重量级特性所带来的挑战。为了解决这一问题,一个名为K3s的新兴项目逐渐崭露头角。K3s被誉为轻量级的Kubernetes,它旨

    2024年02月14日
    浏览(30)
  • k3s x GitLab Runner Operator,GitLab CI 云原生构建新体验

    GitLab CI 是非常常用的一款 CI/CD 工具,只需要在 .gitlab-ci.yml 文件中用 YAML 语法编写 CI/CD 流水线即可。而 GitLab CI 能够运行的关键组件是 GitLab Runner。GitLab Runner 是一个轻量级、高扩展的代理,主要用来执行 GitLab CI/CD 流水线中的 Job,然后将 Job 的执行结果返回 GitLab 实例。 Gi

    2024年01月21日
    浏览(34)
  • Minikube vs. kind vs. k3s vs k3d vs MicroK8s

    minikube 是一个 Kubernetes SIG 项目,已经启动三年多了。它采用生成虚拟机的方法,该虚拟机本质上是一个单节点 K8s 集群。由于支持大量管理程序,它可以在所有主要操作系统上使用。这也允许您并行创建多个实例。 从用户的角度来看,minikube 是一个非常适合初学者的工具。您

    2024年01月16日
    浏览(42)
  • 玩转 PI 系列-如何在 Rockchip Arm 开发板上安装 Docker Tailscale K3s Cilium?

    618 买了几个便宜的 Purple PI OH 开发板 (500 块多一点买了 3 个🤑), 这个开发板类似树莓派,是基于 Rockchip(瑞芯微) 的 rx3566 arm64 芯片。如下: 买来是用作家庭服务器或家庭实验室的。主要考虑就是: 便宜 可玩性高 功耗低 散热小,运行安静 Arm64 现在生态还凑活 其配置如下

    2024年02月17日
    浏览(96)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包