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

使用Rancher管理K3s

时间:2023-01-17 09:22:21浏览次数:88  
标签:K3s k3s 管理 -- helm rancher https cattle Rancher

版本信息:

    rancher版本 v2.7.0

    k3s版本 v1.24.9+k3s2

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

   

   

使用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

   

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

   

2、kubectl create namespace cattle-system

   

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

<<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、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

Message from syslogd@centos-k3s01 at Jan 16 09:57:40 ...

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/17056962.html

相关文章

  • 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结果虽然实现成功,但是因为事务......
  • 52、商品服务---品牌管理---时间格式化
    当我们前端发送请求给后端时,日期返回是下面这样的可通过以下注解来设置我们的日期......
  • Linux基础14 RPM包管理, 安装, 查询, 升级, 卸载
    阿里云rpm包下载地址https://developer.aliyun.com/mirror/ RPM包管理: RPM全称RPMPackageManager缩写,由红帽开发用于软件包的安装,升级卸载与查询 yum安装的全是RPM包 ......
  • C语言家庭日常消费记录管理系统
    C语言家庭日常消费记录管理系统题目:家庭日常消费记录管理系统一、功能需求说明(必须采用动态链表实现)1.消费记录存在文件fee.dat中格式如下:每一条记录包括一个消费......
  • C/C++学生成绩管理系统[2023-01-16]
    C/C++学生成绩管理系统[2023-01-16]《C\C++语言课程设计》指导书一、课程设计概要项目名称:学期评优方案设计适用学期:2022年秋季学期适用班级:07D229-07D22C班二、项目......