使用Rancher管理K3s
rancher中国镜像站地址
https://rancher-mirror.oss-cn-beijing.aliyuncs.com/
https://rancher-mirror.rancher.cn/k3s
rancher 路径和中文镜像的对应关系
k3s 安装路径 |
||
k3s 二进制文件路径 |
||
rancher的helm部署源码 |
https://github.com/rancher/rancher/blob/release/v2.7/chart/values.yaml |
参考文档
部署Rancher Manager
在kubernetes 集群上安装/升级 Rancher
在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 集群的问题排查:
导入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)


1 kubectl -n cattle-system patch deployments cattle-cluster-agent --patch '{
2 "spec": {
3 "template": {
4 "spec": {
5 "hostAliases": [
6 {
7 "hostnames":
8 [
9 "rancher.my.org"
10 ],
11 "ip": "192.168.56.101"
12 }
13 ]
14 }
15 }
16 }
17 }'
二、导入完成后,一直处于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
使用Rancher管理K3s的更多相关文章
- docker微服务部署之:六、Rancher管理部署微服务
docker微服务部署之:五.利用DockerMaven插件自动构建镜像 一. 什么是Rancher Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源 ...
- 安装配置Rancher管理docker
原文:安装配置Rancher管理docker 版权声明:本文为博主原创文章,转载请注明地址http://blog.csdn.net/tianyaleixiaowu. https://blog.csdn ...
- Rancher On K3s 高可用架构部署
Rancher 推荐部署架构 k3s 模式 RKE 和 k8s 模式 备注: 我对 RKE 的理解就是 Ansible + kubeadm 的打包,首先 rke 需要到每一个节点都可以免密 ssh , ...
- 使用Rancher管理Docker
使用命令: sudo docker run -it -d --restart=always -p : --name docker-rancher rancher/server 为了更快速的下载应用,推 ...
- 企业级rancher搭建Kubernetes(采用rancher管理平台搭建k8s)
一.简介 Rancher简介 来源官方:https://www.cnrancher.com/ Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源软件去从 ...
- Docker_使用Rancher管理docker(7)
一.简介 Rancher是一个开源的企业级全栈化容器部署及管理平台.Rancher为容器提供一揽子基础架构服务:CNI兼容的网络服务.存储服务.主机管理.负载均衡.防护墙--Rancher让上述服务跨 ...
- 最佳实践丨使用Rancher轻松管理上万资源不是梦!
前 言 Rancher 作为一个开源的企业级 Kubernetes 集群管理平台.你可以导入现有集群,如 ACK.TKE.EKS.GKE,或者使用 RKE.RKE2.K3s 自定义部署集群. 作为业界 ...
- 强大多云混合多K8S集群管理平台Rancher入门实战
@ 目录 概述 定义 为何使用 其他产品 安装 简述 规划 基础环境 Docker安装 Rancher安装 创建用户 创建集群 添加Node节点 配置kubectl 创建项目和名称空间 发布应用 偏好 ...
- 安装Rancher容器化管理平台
卸载已有的避免冲突 yum remove docker docker-common docker-selinux docker-engine 安装需要的软件包,yum-util 提供yum-co ...
- 华为鲲鹏服务器安装 k3s+rancher
华为鲲鹏服务器安装 k3s+rancher 华为鲲鹏服务器 华为鲲鹏服务器采用华为自研cpu ARMv8架构,提供 Windows 和多个Linux 系统,作为服务器使用我一直使用Centos系统(不 ...
随机推荐
- JavaScript基础&实战(1)js的基本语法、标识符、数据类型
文章目录 1.JavaScript简介 2.输出语句 2.1 代码块 2.2 测试结果 3.JS编写位置 3.1代码 3.2 测试结果 4.基本语法 4.1 代码 5.标识符 5.1 代码 6.数据类 ...
- 齐博x1万能数据统计接口
为何叫万能数据统计接口呢?因为可以调用全站任何数据表的数据总条数,并且可以设置查询条件http://qb.net/index.php/index/wxapp.count.html?table=memb ...
- 2.签名&初始化&提交
Git设置签名 签名的作用是区分不同操作者的身份,用户的签名信息在每一个版本的提交信息中能够看到, 以此确认本次提交是谁做的,git首次安装必须设置用户签名,否则无法提交代码 这里设置的用户签名和 ...
- Python--网络编程学习笔记系列02 附:tcp服务端,tcp客户端
Python--网络编程学习笔记系列02 TCP和UDP的概述: udp通信模型类似于写信,不需要建立相关链接,只需要发送数据即可(现在几乎不用:不稳定,不安全) tcp通信模型类似于打电话,一定要建 ...
- 企业级自定义表单引擎解决方案(十六)--Excel导入导出
Excel对于后端管理系统来说,永远都是绕不开的话题,开发Excel导入导出功能往往都比较麻烦,因为涉及到Excel导入模板制作.Excel表格数据与系统数据库表字段映射.Excel导入数据验证.验证 ...
- 常用类.String类
package 常用类.String;import java.util.Arrays;import java.util.Locale;public class demo01 { public stat ...
- EasyPoi大数据导入导出百万级实例
EasyPoi介绍: 利用注解的方式简化了Excel.Word.PDF等格式的导入导出,而且是百万级数据的导入导出.EasyPoi官方网址:EasyPoi教程_V1.0 (mydoc.io).下面我写 ...
- 使用Opencv4和YOLOv4(XTDrone)训练模型遇到问题的记录(二)
使用Opencv4和YOLOv4(XTDrone)训练模型遇到问题的记录(二) Written By PiscesAlpaca(双鱼座羊驼) 目录 使用Opencv4和YOLOv4(XTDrone)训 ...
- Spring Cloud Gateway 使用示例
Spring Cloud Gateway 使用示例 作者: Grey 原文地址: 博客园:Spring Cloud Gateway 使用示例 CSDN:Spring Cloud Gateway 使用示 ...
- ARM MMU架构 -- CPU如何访问MMU及DRAM
<ARM Architecture Reference Manual ARMv8-A>里面有Memory层级框架图,从中可以看出L1.L2.DRAM.Disk.MMU之间的关系,以及他们在 ...