首页 > 其他分享 >使用Rancher管理K3s

使用Rancher管理K3s

时间:2023-01-17 11:24:41浏览次数:81  
标签:K3s k3s 管理 -- helm rancher https cattle Rancher

rancher中国镜像站地址

https://rancher-mirror.oss-cn-beijing.aliyuncs.com/

https://rancher-mirror.rancher.cn/k3s

   

rancher 路径和中文镜像的对应关系

k3s 安装路径

https://get.k3s.io

https://rancher-mirror.rancher.cn/k3s/k3s-install.sh

k3s 二进制文件路径

  

https://rancher-mirror.rancher.cn/k3s/v1.24.9-k3s2/k3s

rancher的helm部署源码

  

https://github.com/rancher/rancher/blob/release/v2.7/chart/values.yaml

   

参考文档

部署Rancher Manager

https://ranchermanager.docs.rancher.com/zh/getting-started/quick-start-guides/deploy-rancher-manager/helm-cli

   

在kubernetes 集群上安装/升级 Rancher

https://ranchermanager.docs.rancher.com/zh/pages-for-subheaders/install-upgrade-on-a-kubernetes-cluster

   

   

在Linux上安装K3s

   

1、优化镜像拉取

优化containerd的镜像仓库,参考k3s和containerd

2、使用命令部署k3s

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_VERSION=v1.24.9+k3s2 sh -

 

 

   

保存kubeconfig 到你rancher机器上

1、mkdir -p /root/.kube

2、scp root@<IP_OF_LINUX_MACHINE>:/etc/rancher/k3s/k3s.yaml ~/.kube/config

cp /etc/rancher/k3s/k3s.yaml ~/.kube/config

   

在kubeconfig中编辑Rancher Server URL

你需要将 server 字段的值更改为 <IP_OF_LINUX_NODE>:6443。你可以通过端口 6443 访问 Kubernetes API Server,通过端口 80 和 443 访问 Rancher Server。你需要进行此编辑,以便你从本地工作站运行 Helm 或 kubectl 命令时,能够与安装了 Rancher 的 Kubernetes 集群进行通信。

   

vi ~/.kube/config

   

   

3、使用helm 来安装Rancher

helm版本:helm-v3.11.0-rc.2-linux-amd64.tar.gz

1、tar -zxvf helm-v3.11.0-rc.2-linux-amd64.tar.gz

2、mv linux-amd64/helm /usr/local/bin/helm

4、使用helm安装rancher

1、helm repo add rancher-latest https://releases.rancher.com/server-charts/latest 

2、kubectl create namespace cattle-system

 #从此路径下载cert-manager.crds.yaml

3、kubectl apply -f cert-manager.crds.yaml

4、helm repo add jetstack https://charts.jetstack.io 

5、helm repo update

   

6、安装自签证书

helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --version v1.7.1

   

7、安装rancher

helm install rancher rancher-latest/rancher \

--namespace cattle-system \

--set hostname=rancher.my.org \

--set replicas=1 \

--set bootstrapPassword=admin \

--dry-run

   

note:

1、安装特定的rancher版本: --set rancherImageTag=latest

   

8、效验rancher运行

kubectl -n cattle-system rollout status deploy/rancher

   

查看rancher 部署状态:

kubectl -n cattle-system get deploy rancher

   

编辑rancher 部署:

kubectl -n cattle-system edit deploy/rancher

   

9、请保存你使用的--set选项。使用Helm 升级Rancher 到新版本时,你将需要使用相同的选项。

   

故障处理

Rancher Server Kubernetes 集群的问题排查:

https://ranchermanager.docs.rancher.com/zh/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster/troubleshooting

   

导入k3s集群到rancher 中失败原因:

一、集群添加不成功,一直处于pending状态

1、查看pod状态

kubectl get pods -A

   

2、查看cattle-cluster-agent容器日志

kubectl logs CONTAINER-NAME -n cattle-system

   

3、由于客户端配置了hosts,但集群节点不知道 rancher.my.org 对应的是哪个机器。

   

解决方案

1、在所有节点配置/etc/hosts,先让所有节点都能认识 rancher.my.org。

vim /etc/hosts

#IP rancher.my.org

2、为Agent Pod 添加主机别名(/etc/hosts)

kubectl -n cattle-system patch deployments cattle-cluster-agent --patch '{

"spec": {

"template": {

"spec": {

"hostAliases": [

{

"hostnames":

[

"rancher.my.org"

],

"ip": "192.168.56.101"

}

]

}

}

}

}'

二、导入完成后,一直处于wait状态,dns问题

level=error msg="failed to call leader func: settings.management.cattle.io \"install-uuid\" not found"

level=error msg="failed to call leader func: settings.management.cattle.io \"install-uuid\" not found"

   

三、报错lockup

kernel:NMI watchdog: BUG: soft lockup - CPU#1 stuck for 29s! [containerd-shim:10281]

   

解决方案:

echo 30 > /proc/sys/kernel/watchdog_thresh

sysctl -w kernel.watchdog_thresh=30

   

四、镜像拉取不下来

k3s使用containerd做镜像管理工具,优化containerd的镜像仓库,参考k3s和containerd

   

优化选项

# 修该容器引擎,定义变量 INSTALL_K3S_EXEC

export INSTALL_K3S_EXEC="--docker --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666"

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

命令参数解释:

INSTALL_K3S_EXEC="(略)"效果为启动k3s服务时使用的额外参数。

--docker :效果为使用docker而不是默认的containerd。

--write-kubeconfig-mode 666 :效果为将配置文件权限改为非所有者也可读可写,进而使kubectl命令无需root或sudo。

--write-kubeconfig ~/.kube/config :效果为将配置文件写到k8s默认会用的位置,而不是k3s默认的位置/etc/rancher/k3s/k3s.yaml。后者会导致istio、helm需要额外设置或无法运行。

   

   

k3s 常用命令

卸载k3s

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

从agent节点卸载k3s

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

标签:K3s,k3s,管理,--,helm,rancher,https,cattle,Rancher
From: https://www.cnblogs.com/liu0076/p/17057329.html

相关文章

  • 2023年,KPI和OKR的“双轨制”绩效管理升级
    阿里有一句话,叫“认知决定思维,思维决定行为,行为决定结果”,要想让企业的绩效管理有所创新,管理者首先要具备变革的三大思维。以下为新形势下绩效管理变革的四大思维。 ......
  • spring 管理的线程池实现优雅关闭
      创建线程池时, setWaitForTasksToCompleteOnShutdown  setAwaitTerminationSeconds//将ThreadPoolTaskExecutor实例交给Spring管理@BeanpublicThreadPool......
  • systemd服务管理后台进程程序(编写systemd开机自启程序)
    【干货】Linux使用Systemd管理进程服务点击关注......
  • 使用Rancher管理K3s
    版本信息:    rancher版本v2.7.0    k3s版本v1.24.9+k3s2rancher中国镜像站地址:    https://rancher-mirror.oss-cn-beijing.aliyuncs.com/    http......
  • linux管理子进程
    linux子进程的管理需要fork()与exec()连用,下面的例子app1是主进程,app2是子进程app1.c#include<stdio.h>#include<sys/types.h>#include<sys/wait.h>#include<uni......
  • ASP.NET Core+Element+SQL Server开发校园图书管理系统(一)
    随着技术的进步,跨平台开发已经成为了标配,在此大背景下,ASP.NETCore也应运而生。本文主要基于ASP.NETCore+Element+SqlServer开发一个校园图书管理系统为例,简述基于MVC三......
  • day03-Spring管理Bean-IOC-01
    Spring管理Bean-IOC1.Spring配置/管理bean介绍Bean管理包括两方面:创建bean对象给bean注入属性Bean的配置方式:基于xml文件配置方式基于注解配置方式2.基于X......
  • 为什么生产MES系统对工厂管理如此重要?
    随着生产业务、计算机技术的发展,MES管理系统的定义也是在不断的变化。但是,计划调度、质量管理、生产执行以及数据(设备,产品信息)采集,一直都是MES的核心功能。工业物联网,对于......
  • 深信服AF设置web登录管理后台
    目的:因安全性考虑设置只有某个ip段访问AF后台1、网络---接口/区域---区域---LAN2、LAN区域---三层区域---WEBUI--允许管理此设备的IP---选择网络对象---添加ip或ip段3、测试......
  • 51、商品服务---品牌管理---debug发现的问题
    事务没有提交之前,数据读不出来。而Mysql默认的隔离级别是可重复读,也就是最起码要读到已经提交的数据事务未执行完毕,造成我们进行debug时sql结果虽然实现成功,但是因为事务......