rke方式安裝k8s集群

一、新機環境準備

1.1主機名設置

hostnamectl  set-hostname  XXX

1.2 主機名與ip地址解析

vim /etc/hosts

192.168.0.140  rke
192.168.0.147  master1
192.168.0.152  node1
192.168.0.153  node2

1.3安裝docker

tar -xf docker-20.10.24.tgz
cp ${SHELL_FOLDER}/docker/* /usr/bin/
mkdir /etc/docker
cat >>/usr/lib/systemd/system/docker.service<<eof
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP \$MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
eof

vim /etc/docker/daemon.json

{"log-driver": "json-file","log-opts": {"max-size": "10m","max-file": "3"},"exec-opts": ["native.cgroupdriver=systemd"],"insecure-registries":["mirrors.com:80"],"storage-driver": "overlay2","storage-opts": ["overlay2.override_kernel_check=true"]
}
systemctl daemon-reload
systemctl enable docker
systemctl start docker

1.4修改內核參數

vim /etc/sysctl.d/90-k8s.conf
vm.swappiness=0
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv4.ip_local_port_range = 1024     65000
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.neigh.default.gc_thresh1=4096
net.ipv4.neigh.default.gc_thresh2=6144
net.ipv4.neigh.default.gc_thresh3=8192

1.5修改句柄數可進程數

cat >>/etc/security/limits.d/90-nofile.conf<<eof
*      soft   nofile 131070
*      hard   nofile 131070
root   soft   nofile unlimited
eofcat >>/etc/security/limits.d/90-nproc.conf<<eof
*      soft   nproc 102400
*      hard   nproc 102400
root   soft   nproc unlimited
eof

1.6關閉防火墻和swap分區

systemctl stop firewalld && setenforce 0
sed  -ri  's/.*swap/#&/'  /etc/fstab
swapoff -a

1.7 添加rke用戶

useradd rke
usermod  -aG  docker  rke
echo 123 | passwd --stdin rke
mkdir /home/rke/.ssh

二、部署rke

2.1下載rke工具

下載地址

https://github.com/rancher/rke/releases/download/v1.4.5/rke_linux-amd64

2.2rke機器對其他節點做免密

ssh-copy-id rke@192.168.0.147
ssh-copy-id rke@192.168.0.152
ssh-copy-id rke@192.168.0.153
chown apps:apps -R /home/rke/.ssh
chmod 700 /home/rke/.ssh
chmod 600 /home/rke/.ssh/authorized_keys

2.3 rke配置與cluster文件

mv   rke_linux-amd64   /usr/local/bin/rke
chmod  +x  /usr/local/bin/rke
ln  -s  /usr/local/bin/rke  /usr/bin/rke
rke --version

vim cluster.yaml

nodes:- address: 192.168.0.147 # master節點IPuser: rootrole: ["controlplane", "etcd", "worker"]ssh_key_path: /root/.ssh/id_rsa- address: 192.168.0.152 # node節點 IPuser: rootrole: ["worker"]ssh_key_path: /root/.ssh/id_rsa- address: 192.168.0.153 # node節點 IPuser: rootrole: ["worker"]ssh_key_path: /root/.ssh/id_rsa
upgrade_strategy:max_unavailable_worker: 50%max_unavailable_controlplane: 1drain: false
ignore_docker_version: true
kubernetes_version: "v1.21.14-rancher1-1"
network:plugin: calico
services:etcd:snapshot: truecreation: 6hretention: 24hkube-api:extra_args:enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,NodeRestriction,Priority,TaintNodesByCondition,PersistentVolumeClaimResize,PodNodeSelector"

三、集群部署

rke up     #拉起集群
如果報錯失敗,可以根據報錯修改或者
rke remove 之后重新拉起集群

四、安裝kubectl(master節點)

wget  https://storage.googleapis.com/kubernetes-release/release/v1.27.2/bin/linux/amd64/kubectl
chmod  +x  kubectl
mv  kubectl  /usr/local/bin
mkdir -p /root/.kube/config
將rke節點上生成的kube_config_cluster.yml  scp到 /root/.kube/config。即可使用kubectl命令

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/715423.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/715423.shtml
英文地址,請注明出處:http://en.pswp.cn/news/715423.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【java】19:內部類(3)

成員內部類&#xff1a; 1.可以直接訪問外部類的所有成員&#xff0c;包含私有的 class Outer01{//外部類 private int n1 10; public String name "張三"; class Innter01{ public void say0(){ System.out.println("Outer01 的n1 " n1 " outer…

JWT基于Cookie的會話保持,并解決CSRF問題的方案

使用JWT進行瀏覽器接口請求&#xff0c;在使用Cookie進行會話保持傳遞Token時&#xff0c;可能會存在 CSRF 漏洞問題&#xff0c;同時也要避免在產生XSS漏洞時泄漏Token問題&#xff0c;如下圖在盡可能避免CSRF和保護Token方面設計了方案。 要點解釋如下&#xff1a; 將JWT存入…

Snagit 2024:讓你的屏幕活動瞬間變得生動有力 mac/win版

Snagit 2024 屏幕錄制與截圖軟件是一款功能強大的工具&#xff0c;專為現代用戶設計&#xff0c;以滿足他們在工作、學習和娛樂中對屏幕內容捕捉和分享的需求。這款軟件結合了屏幕錄制和截圖功能&#xff0c;為用戶提供了一種高效、便捷的方式來捕捉屏幕上的精彩瞬間。 Snagit…

xxl-job--01--簡介

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 1.xxl-job1. 1 發展歷史1.2 XXL-JOB的系統架構1.3 xxl-job與其他框架對比 2. XXL-JOB的使用2.1 準備工作- 配置調度中心XXL-JOB的數據表 2.2 配置執行器1 引入依賴包…

vue cesium加載點與定位到指定位置

vue cesium定位到指定位置 window.viewer.camera.flyTo({destination: Cesium.Cartesian3.fromDegrees(point.longDeg, point.latDeg, 6500000), orientation: {heading: 6.2079384332084935, roll: 0.00031509431759868534, pitch: -1.535}, duration: 3})vue cesium加載點 …

【蛀牙】如何選擇牙刷,牙膏和牙杯(含其他日常牙具:牙線,漱口水,沖牙器)

程序員生活指南之 【蛀牙】如何選擇牙刷&#xff0c;牙膏和牙杯&#xff08;含其他日常牙具&#xff1a;牙線&#xff0c;漱口水&#xff0c;沖牙器&#xff09; 文章目錄 一、如何選擇牙刷&#xff0c;牙膏和牙杯1、如何選擇牙刷2、如何選擇牙膏3、如何選擇牙杯 二、日常牙具&…

為什么HashMap的鍵值可以為null,而ConcurrentHashMap不行?

寫在開頭 今天在寫《HashMap很美好&#xff0c;但線程不安全怎么辦&#xff1f;ConcurrentHashMap告訴你答案&#xff01;》這篇文章的時候&#xff0c;漏了一個知識點&#xff0c;知道晚上吃飯的時候才凸顯想到&#xff0c;關于ConcurrentHashMap在存儲Key與Value的時候&…

【Java】面向對象之多態超級詳解!!

文章目錄 前言一、多態1.1 多態的概念1.2 多態的實現條件1.3 重寫1.3.1方法重寫的規則1.3.2重寫和重載的區別 1.4 向上轉型和向下轉型1.4.1向上轉型1.4.2向下轉型 1.5 多態的優缺點1.5.1 使用多態的好處1.5.2 使用多態的缺陷 結語 前言 為了深入了解JAVA的面向對象的特性&…

基于yolov5的電瓶車和自行車檢測系統,可進行圖像目標檢測,也可進行視屏和攝像檢測(pytorch框架)【python源碼+UI界面+功能源碼詳解】

功能演示&#xff1a; 基于yolov5的電瓶車和自行車檢測系統_嗶哩嗶哩_bilibili &#xff08;一&#xff09;簡介 基于yolov5的電瓶車和自行車檢測系統是在pytorch框架下實現的&#xff0c;這是一個完整的項目&#xff0c;包括代碼&#xff0c;數據集&#xff0c;訓練好的模型…

協程庫項目—日志模塊

日志模塊程序結構圖 sylarLog ├── LogLevel&#xff08;日志級別封裝類&#xff09; │ ├── 提供“從日志級別枚舉值轉換到字符串”、“從字符串轉換相應的日志級別枚舉值”等方法 ├── LogEvent&#xff08;日志事件類&#xff09; │ ├── 封裝日志事件的屬性…

Unity(第二十一部)動畫的基礎了解(感覺不了解其實也行)

1、動畫組件老的是Animations 動畫視頻Play Automatically 是否自動播放Animate Physics 驅動方式&#xff0c;勾選后是物理驅動Culling Type 剔除方式 默認總是動畫化就會一直執行下去&#xff0c;第二個是基于渲染播放&#xff08;離開鏡頭后不執行&#xff09;&#xff0c; …

高性能服務系列【二】CPU和內存

現代計算機的系統架構十分復雜。在服務器中&#xff0c;雙路處理器已經十分常見。最近Arm處理器實現雙路共384核心&#xff0c;要知道目前Linux內核最高只支持256核&#xff0c;這就有點尷尬。 多路處理器將越來越普遍&#xff0c;對性能的影響和傳統架構有不小的差別&#xf…

MySQL中json類型的字段

有些很復雜的信息&#xff0c;我們一般會用擴展字段傳一個json串&#xff0c;字段一般用text類型存在數據庫。mysql5.7以后支持json類型的字段&#xff0c;還可以進行sql查詢與修改json內的某個字段的能力。 1.json字段定義 ip_info json DEFAULT NULL COMMENT ip信息, 2.按…

GO基本類型一些記錄

基本類型一些記錄 1.直接粘貼文本進println(" ")2.中文字符串長度別用len( )3.byte本質是uint8 1.直接粘貼文本進println(" ") GoLand會自動補充轉義符 2.中文字符串長度別用len( ) 用相應編碼庫的方法&#xff0c;一般utf8即可 utf8.RuneCountInStrin…

PySide6實現word轉化pdf

目錄 一:實現思路 二:實現代碼 三:完整代碼和界面 一:實現思路 利用PySide6創建兩個按鈕和一個顯示區域,一個選擇文件按鈕,一個轉化按鈕和信息展示,操作文件按鈕選擇一個待轉化的word文檔。并且展示文件路徑到信息展示區,操作轉化按鈕,讀取選擇的文件轉化為pdf。并…

ThreadLocal介紹

文章目錄 ThreadLocal源碼分析&#xff1a;set方法get方法remove方法 ThreadLocal內存泄漏問題 ThreadLocal ThreadLocal提供了線程局部變量&#xff0c;每個線程都可以通過set和get方法來對這個變量進行操作&#xff0c;但不會和其他線程的局部變量沖突&#xff0c;實現了線程…

Doris實戰——拈花云科的數據中臺實踐

目錄 前言 一、業務背景 二、數據中臺1.0—Lambda 三、新架構的設計目標 四、數據中臺2.0—Apache Doris 4.1 新架構數據流轉 4.2 新架構收益 五、新架構的落地實踐 5.1 模型選擇 5.1.1 Unique模型 5.1.2 Aggregate模型 5.2 資源管理 5.3 批量建表 5.4 計算實現…

Stable Diffusion 模型分享:Realistic Stock Photo(真實的庫存照片)

本文收錄于《AI繪畫從入門到精通》專欄&#xff0c;專欄總目錄&#xff1a;點這里。 文章目錄 模型介紹生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下載地址 模型介紹 條目內容類型大模型基礎模型SDXL 1.0來源CIVITAI作者PromptSharingSamaritan文件名稱reali…

原生GO開發的博客系統

Go博客實戰教程&#xff0c;是一個練手級項目教程&#xff0c;使用原生Go開發&#xff0c;未使用任何框架。 如何使用原生Go開發一個web項目 循序漸進&#xff0c;掌握編程思維和思路 初步具有工程思維&#xff0c;能適應一般的開發工作 1. 搭建項目 package mainimport (&q…

Vue3_2024_1天【Vue3創建和響應式,對比Vue2】

前言&#xff1a; Vue3對比Vue2版本&#xff0c;它在性能、功能、易用性和可維護性方面都有顯著的提升和改進。 性能優化&#xff1a;模板編譯器的優化、對Proxy的支持以及使用了更加高效的Virtual DOM算法等。這使得Vue3的打包大小減少了41%&#xff0c;初次渲染提速55%&#…