rancher v2.8.1 如何成功注册已有 k8s 集群
需要加入的集群为rke2部署的双节点集群
$ kubectl get node
NAME STATUS ROLES AGE VERSION
rke-master01 Ready control-plane,etcd,master,worker 94d v1.26.8+rke2r1
rke-master02 Ready control-plane,etcd,master,worker 93d v1.26.8+rke2r1
登陆 rancher


注意:直接执行截图中的命令,不要改动yaml内容。当执行完后注册集群的agent会报错,随后,我们通过
kubectl edit deploy cattle-cluster-agent -n cattle-system命令添加hostAlias,其他方式会注册失败,例如:先修改yaml再apply执行。
格式如下:
hostAliases:- hostnames:- rancher02.demo.comip: 192.168.23.80
完整内容:
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: proxy-clusterrole-kubeapiserver
rules:
- apiGroups: [""]resources:- nodes/metrics- nodes/proxy- nodes/stats- nodes/log- nodes/specverbs: ["get", "list", "watch", "create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: proxy-role-binding-kubernetes-master
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: proxy-clusterrole-kubeapiserver
subjects:
- apiGroup: rbac.authorization.k8s.iokind: Username: kube-apiserver
---
apiVersion: v1
kind: Namespace
metadata:name: cattle-system---apiVersion: v1
kind: ServiceAccount
metadata:name: cattlenamespace: cattle-system---apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: cattle-admin-bindingnamespace: cattle-systemlabels:cattle.io/creator: "norman"
subjects:
- kind: ServiceAccountname: cattlenamespace: cattle-system
roleRef:kind: ClusterRolename: cattle-adminapiGroup: rbac.authorization.k8s.io---apiVersion: v1
kind: Secret
metadata:name: cattle-credentials-535d46anamespace: cattle-system
type: Opaque
data:url: "aHR0cHM6Ly9yYW5jaGVyMDIuZGVtby5jb20="token: "Z2hwZmJkbHBzbTk1NTJ4cXZuYmQ3NW5yOXA1N3d0ZnN4bGJ2dDd6cmwyY3Zwc3BxbGc5NWY1"namespace: ""---apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: cattle-adminlabels:cattle.io/creator: "norman"
rules:
- apiGroups:- '*'resources:- '*'verbs:- '*'
- nonResourceURLs:- '*'verbs:- '*'---apiVersion: apps/v1
kind: Deployment
metadata:name: cattle-cluster-agentnamespace: cattle-systemannotations:management.cattle.io/scale-available: "2"
spec:selector:matchLabels:app: cattle-cluster-agenttemplate:metadata:labels:app: cattle-cluster-agentspec:affinity:nodeAffinity:preferredDuringSchedulingIgnoredDuringExecution:- preference:matchExpressions:- key: node-role.kubernetes.io/controlplaneoperator: Invalues:- "true"weight: 100- preference:matchExpressions:- key: node-role.kubernetes.io/control-planeoperator: Invalues:- "true"weight: 100- preference:matchExpressions:- key: node-role.kubernetes.io/masteroperator: Invalues:- "true"weight: 100- preference:matchExpressions:- key: cattle.io/cluster-agentoperator: Invalues:- "true"weight: 1requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: beta.kubernetes.io/osoperator: NotInvalues:- windowspodAntiAffinity:preferredDuringSchedulingIgnoredDuringExecution:- podAffinityTerm:labelSelector:matchExpressions:- key: appoperator: Invalues:- cattle-cluster-agenttopologyKey: kubernetes.io/hostnameweight: 100serviceAccountName: cattlehostAliases:- hostnames:- rancher02.demo.comip: 192.168.23.80tolerations:# No taints or no controlplane nodes found, added defaults- effect: NoSchedulekey: node-role.kubernetes.io/controlplanevalue: "true"- effect: NoSchedulekey: "node-role.kubernetes.io/control-plane"operator: "Exists"- effect: NoSchedulekey: "node-role.kubernetes.io/master"operator: "Exists"containers:- name: cluster-registerimagePullPolicy: IfNotPresentenv:- name: CATTLE_IS_RKEvalue: "false"- name: CATTLE_SERVERvalue: "https://rancher02.demo.com"- name: CATTLE_CA_CHECKSUMvalue: "d818528e6c91a42ed9573c1cbe4b6e3df067d3ebca8b57efccb8e463306e3760"- name: CATTLE_CLUSTERvalue: "true"- name: CATTLE_K8S_MANAGEDvalue: "true"- name: CATTLE_CLUSTER_REGISTRYvalue: ""- name: CATTLE_SERVER_VERSIONvalue: v2.8.1- name: CATTLE_INSTALL_UUIDvalue: 26c8f3d4-ad4d-4412-87e6-2f4ecb3ce63c- name: CATTLE_INGRESS_IP_DOMAINvalue: sslip.ioimage: rancher/rancher-agent:v2.8.1volumeMounts:- name: cattle-credentialsmountPath: /cattle-credentialsreadOnly: truevolumes:- name: cattle-credentialssecret:secretName: cattle-credentials-535d46adefaultMode: 320strategy:type: RollingUpdaterollingUpdate:maxUnavailable: 0maxSurge: 1---
apiVersion: v1
kind: Service
metadata:name: cattle-cluster-agentnamespace: cattle-system
spec:ports:- port: 80targetPort: 80protocol: TCPname: http- port: 443targetPort: 444protocol: TCPname: https-internalselector:app: cattle-cluster-agent
注册成功。如图:

相关文章:
rancher v2.8.1 如何成功注册已有 k8s 集群
需要加入的集群为rke2部署的双节点集群 $ kubectl get node NAME STATUS ROLES AGE VERSION rke-master01 Ready control-plane,etcd,master,worker 94d v1.26.8rke2r1 rke-master02 Ready control-plane,etcd,mast…...
Vue中$root的使用方法
查看本专栏目录 关于作者 还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas&#x…...
redis 异步队列
//produceMessage.ts 模拟生产者 import Redis from ioredis; const redis new Redis(); // 生产者:将消息推送到队列 async function produceMessage(queueName:string, message:string) {try {await redis.rpush(queueName, message);console.log(Produced messa…...
SpringBoot + Nacos 实现动态化线程池
1.背景 在后台开发中,会经常用到线程池技术,对于线程池核心参数的配置很大程度上依靠经验。然而,由于系统运行过程中存在的不确定性,我们很难一劳永逸地规划一个合理的线程池参数。 在对线程池配置参数进行调整时,一…...
《Docker极简教程》--Dockerfile--Dockerfile的基本语法
Dockerfile是一种文本文件,用于定义Docker镜像的内容和构建步骤。它包含一系列指令,每个指令代表一个构建步骤,从基础镜像开始,逐步构建出最终的镜像。通过Dockerfile,用户可以精确地描述应用程序运行环境的配置、依赖…...
css中, grid-auto-rows: 怎样简写在grid:中
grid-auto-rows:100px; grid-template-columns:1fr 1fr; 👆可以写成👇 grid:auto-flow 100px / 1fr 1fr;在CSS Grid布局中,grid-auto-rows 属性用于指定自动生成的网格容器的行的大小。如果你想要将 grid-auto-rows 的值简写在 grid 属性中&a…...
@ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
代码随想录算法训练营第8周(C语言)|Day53(动态规划) Day50、动态规划(包含题目 ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV ) 123.买卖股票的最佳时机III 题目描述 给定一个数组 price…...
算法-矩阵置零
1、题目来源 73. 矩阵置零 - 力扣(LeetCode) 2、题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1…...
xilinx除法器的使用
平台:Vivado2018.3. 芯片:xcku115-flva1517-2-i (active) 最近学习使用了xilinx除法器,在使用过程中出现了很多次除法器的结果和我预计的结果不一致,特此记录学习一下。 参考文件:pg151.下载地址 pg151-div-gen.pdf …...
算法沉淀——递归(leetcode真题剖析)
算法沉淀——递归 01.汉诺塔问题02.合并两个有序链表03.反转链表04.两两交换链表中的节点05.Pow(x, n) 递归是一种通过调用自身的方式来解决问题的算法。在递归算法中,问题被分解为更小的相似子问题,然后通过对这些子问题的解进行组合来解决原始问题。递…...
BERT模型中的input_ids和attention_mask参数
一、概述 1.1 input_ids 在BERT模型及其衍生体中,输入文本首先经过一个分词处理流程,其中文本被细分为单词或子单词(subwords),每个分词随后映射到一个唯一的整数标识符。这些标识符组成了所谓的input_ids数组&#x…...
java+vue_springboot企业设备安全信息系统14jbc
企业防爆安全信息系统采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的java进行编写,使用了vue框架。该系统从三个对象:由管理员、人员和企业来对系统进行设计构建。主要功能包括:个人信息修改,对人员管理&am…...
vulhub中Apache Log4j Server 反序列化命令执行漏洞复现(CVE-2017-5645)
Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。 1.我们使用ysoserial生成payload,然后直接发送给your-ip:4712端口即可。 java -jar ysoserial-…...
基于python+django+vue.js开发的医院门诊管理系统/医疗管理系统
功能介绍 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。 功能包括:医生管理、科室管理、护士管理、住院管理、药品管理、用户管理、日志管理、系统信息模块。 源码地址 https://github.com/geeeeeee…...
Linux文件系统笔记
文章目录 FILE SYSTEM软硬链接 动静态库 使用别人提供的库 FILE SYSTEM 文件的管理工作: 1.基础知识: 文件 属性 内容不是所有文件都会打开所有的打开的,未打开的文件会进行管理未打开文件,要能做到快速定位文件磁盘–物理存…...
vue封装el-table表格组件
先上效果图: 本文包含了具名插槽、作用域插槽、jsx语法三种: Render.vue(很重要,必须有): <script> export default {name: "FreeRender",functional: true,props: {scope:Object,render: Functio…...
「Python系列」Python数据结构
文章目录 一、数据结构二、相关链接 一、数据结构 Python提供了多种内置的数据结构,这些数据结构在编程中非常有用。以下是Python中常见的一些数据结构: 列表(List): 列表是Python中最常用的数据结构之一,它是一个有…...
MySQL多实例部署:从概念到实操的全面指南
目录 MySQL多实例管理 单实例 什么是多实例 多实例的好处 多实例的弊端 MySQL多实例用在哪些场景 资金紧张的公司 用户并发访问量不大的业务 大型网站也有用多实例 部署MySQL多实例 rpm和源码的优缺点 二进制方式安装mysql 准备二进制mysql运行所需的环境 准备多…...
C++学习Day07之虚函数和纯虚函数
目录 前言一、程序及输出1.1 虚函数1.2 纯虚函数1.2.1 定义、示例1.2.2 引入原因1.2.3 抽象类 二、分析与总结 前言 在 C 中,虚函数和纯虚函数是实现多态性的重要概念。虚函数是在基类中声明为虚函数的函数,在派生类中可以被重写,实现动态联…...
GZ036 区块链技术应用赛项赛题第9套
2023年全国职业院校技能大赛 高职组 “区块链技术应用” 赛项赛卷(9卷) 任 务 书 参赛队编号: 背景描述 随着异地务工人员的增多,房屋租赁成为一个广阔是市场;目前,现有技术中的房屋租赁是由…...
小程序开发实战:解决openid获取失败之invalid code错误解析
1. 为什么会出现invalid code错误? 最近在开发小程序时,不少小伙伴都遇到了获取openid失败的问题,错误提示是"invalid code",错误码40029。这个问题看似简单,但背后隐藏着几个关键点需要理解。 首先我们要明…...
3步解决Android验证修复难题:PlayIntegrityFix实战指南
3步解决Android验证修复难题:PlayIntegrityFix实战指南 【免费下载链接】PlayIntegrityFix Fix Play Integrity (and SafetyNet) verdicts. 项目地址: https://gitcode.com/GitHub_Trending/pl/PlayIntegrityFix 当你在使用Android设备时,是否遇到…...
如何用eSearch神奇工具轻松搞定屏幕上的所有操作?
如何用eSearch神奇工具轻松搞定屏幕上的所有操作? 【免费下载链接】eSearch 截屏 离线OCR 搜索翻译 以图搜图 贴图 录屏 万向滚动截屏 屏幕翻译 Screenshot Offline OCR Search Translate Search for picture Paste the picture on the screen Screen recorder Omni…...
Python自动化抢票脚本:从原理到实战的完整实现指南
Python自动化抢票脚本:从原理到实战的完整实现指南 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 在数字化时代,热门演出门票的抢购已成为技术与速度的竞争。自动化抢票技…...
从Java转行大模型应用,LangGraph架构学习
一、初识 LangGraphLangGraph 是 LangChain 生态体系下的核心框架之一,专为构建有状态、多步骤的复杂 AI 应用而设计,于 2024 年 10 月由 LangChain 团队推出。它以“图结构 状态机”为核心,打破了传统线性工作流的局限,让大模型…...
三步搞定国家教育平台电子课本下载:tchMaterial-parser高效解析工具终极指南
三步搞定国家教育平台电子课本下载:tchMaterial-parser高效解析工具终极指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取…...
Intv_AI_MK11 算法优化实战:提升对话响应速度与准确率
Intv_AI_MK11 算法优化实战:提升对话响应速度与准确率 1. 优化效果概览 Intv_AI_MK11作为新一代对话系统,在算法层面进行了深度优化。通过对比测试,我们观察到三个关键指标的显著提升: 响应延迟:平均从850ms降至320…...
MacBook Pro上从零配置PCL开发环境:Homebrew一键安装+CMake避坑指南
MacBook Pro上从零配置PCL开发环境:Homebrew一键安装CMake避坑指南 如果你刚入手一台M1/M2芯片的MacBook Pro,想要开始3D点云处理开发,PCL(Point Cloud Library)无疑是首选工具库。但不同于Windows平台的一键安装体验&…...
基于视觉AI的智能游戏助手:鸣潮自动化工具全攻略
基于视觉AI的智能游戏助手:鸣潮自动化工具全攻略 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves ok-wuthering-waves是…...
别再死记硬背公式了!用Python手写双线性插值,从2x2图像放大到4x4的保姆级教程
用Python实现双线性插值:从2x2图像放大到4x4的实战指南 当我们需要将一张低分辨率图像放大时,双线性插值是最常用的算法之一。与死记硬背数学公式不同,本文将带你用Python手写实现双线性插值算法,通过具体代码示例理解其工作原理。…...
