從零到一:使用anisble自動化搭建kubernetes集群

??在我們云原生俱樂部的暑期學習中,我們了解并學習了需要關于云原生的技術,其中在應用層面上最重要的就是shell編程和ansible,而想要掌握這兩項技術離不開的就是實踐,而kubernetes是我們云原生技術棧的核心技術,在生產實際中存在部署k8s環境的需求,所以我們不妨用ansible來實現k8s的部署,在實踐中了解并掌握ansible,同時感受到自動化運維的魅力。

??我們準備了三臺主機,cka-matser是我們的控制節點,cka-worker1和cka-worker2是我們的工作節點

?

這三臺主機在未運行setup.sh腳本之前是不互通的,同時也未安裝ansible以及所需工具的軟件包,我們當然可以手動配置,但是我們不妨寫個setup.sh腳本來對cka-master進行自動化配置,再用ansible同步到工作節點,以下是set.up關鍵的內容:

配置軟件倉庫:

安裝ansible和所需的工具

配置anisble(注:在Ubuntu22.04.5中不會自動創建/etc/ansible目錄

???

分發密鑰,配置互信

這樣我們就配置好了控制節點的ansible,接下來就是編寫k8s.yaml的playbook來完成kubernetes的集群搭建。

?我們都知道ansible采用的是聲明式編程的理念,簡單說就是我們只需要使用ansible對應的模塊來聲明我們需要的狀態,ansible就可以幫助我們實現。

?在k8s.yaml這個playbook中我們定義了四個task,分別是deploy docker、deploy k8s、init cluster、work join and label,這四個任務完成了docker、cri-docker、kubelet、kubectl、kubeadm的下載和配置,同時配置CNI的通信配置,最后初始化集群并讓cka-worker1、cka-worker2加入集群,打上工作節點的標簽,以下是關鍵步驟的playbook片段:


安裝docker并配置鏡像倉庫

??安裝cri-docker并配置socket實現通信


關閉交換分區,允許br_netfilter橋接流量

??下載kubelet、kubeadm、kubectl

初始化集群

配置calico網絡插件

加入集群、打上標簽

??附上環境搭建成功的驗證

??總結:在本次ansible的應用中,我們手動的編寫了setup.sh的shell腳本和k8s.yaml的playbook,我們在編寫的過程中不僅精進了shell腳本的使用,而且我們熟悉了playbook的編寫流程,當然我們也復習到了k8s的集群搭建,將我們云原生的核心技術棧都使用了一遍,對于我們的個人成長起到了不小的作用,感謝云原生俱樂部為我們提供了成長的平臺。

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

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

相關文章

【LangGraph】langgraph.prebuilt.create_react_agent() 函數:快速創建基于 ReAct(Reasoning + Acting)架構的智能代理

本文是對 langgraph.prebuilt.create_react_agent 函數的詳細且全面的介紹,涵蓋其定義、功能、設計理念、參數、返回值、使用場景、實現原理、示例代碼、高級用法、注意事項、與其他方法的對比,以及學習建議。 1. 概述 langgraph.prebuilt.create_react…

北斗導航 | RAIM算法改進方案及性能對比分析報告

github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 文章目錄RAIM算法改進方案及性能對比分析報告一、RAIM算法改進技術框架1.1 多假設分組算法(MHSS)1.2 動態噪聲估計算法1.3 多源信息融合技術二、…

數據結構第8章 排序(竟成)

第 8 章 排序【考綱內容】1.排序的基本概念;2. 直接插入排序;3. 折半插入排序;4. 起泡排序(Bubble Sort);5.簡單選擇排序;6. 希爾排序(Shell Sort);7. 快速排…

【學Python自動化】 5. Python 數據結構學習筆記

一、 列表詳解 1 列表方法總結方法描述等價操作rust Vec類似操作list.append(x)末尾添加元素a[len(a):] [x]vec.push(x);list.extend(iterable)擴展列表a[len(a):] iterablevec.extend([4, 5, 6]); 或者更高效:vec.extend_from_slice(&[4, 5, 6]);list.inser…

Python爬蟲實戰:研究Radar chart,構建多維度數據采集和分析系統

1. 引言 1.1 研究背景與意義 在信息爆炸的時代,互聯網蘊含的海量數據已成為企業決策、學術研究和產品評估的重要依據。這些數據往往包含多個維度的特征,如電商平臺的商品信息涵蓋價格、銷量、評價、性能參數等,社交媒體的用戶數據涉及活躍度、互動量、內容偏好等。傳統的單…

[靈動微電子 MM32BIN560CN MM32SPIN0280]讀懂電機MCU之串口DMA

在 MM32SPIN560C 微控制器中,串口(UART)的 DMA 傳輸可大幅減輕 CPU 負擔,實現數據的“自動收發”。結合《MM32SPIN560C 用戶手冊(中文版)》中 UART 和 DMA 相關章節,以下從“原理匹配”“配置步…

【機器學習】-torch相關知識01

學習代碼時遇到的問題,GPT給的答案,如有錯誤請指出。 問題1 torch.empty nn.init.xavier 問題2 nn.Parameter 是什么? 問題3 self.add_module 問題4 torch.matmul torch.mm 文章目錄問題1 torch.empty nn.init.xavier問題2 nn.Parameter 是什…

Hutool DsFactory多數據源切換

一、簡單上手&#xff1a;從配置到使用全流程 DsFactory 的核心優勢是零侵入配置&#xff0c;支持多種配置方式&#xff0c;不管是 properties 文件還是代碼里直接定義&#xff0c;都能快速初始化數據源。先引依賴&#xff08;Maven&#xff09;&#xff1a; <dependency>…

Mysql中事務隔離級別有哪些?

Mysql中事務隔離級別有哪些&#xff1f; 讀未提交&#xff1a; 一個事務可以看到另一個事務尚未提交的數據。可能導致臟讀。 讀已提交&#xff1a; 一個事務只能看到其他事務提交后的數據。避免了臟讀&#xff0c;仍可能引發不可重復讀。 可重復讀&#xff1a; 可以確保一個事務…

el-carousel在新增或者刪除el-carousel-item時默認跳到第一頁的原因和解決

現象 使用走馬燈效果時 當el-carousel-item增加或者減少時&#xff0c;頁會跳到第一頁 體驗很不友好。 原因 當新增或這刪除el-carousel-item時&#xff0c;會觸發setActiveIndex&#xff08;props.initialindex&#xff09;, setActiveIndex的行為是小于0或者大于最大頁會有一…

人工智能學習:機器學習相關面試題(二)

7、有監督學習和無監督學習的區別 有監督學習&#xff1a; 對具有概念標記&#xff08;分類&#xff09;的訓練樣本進行 學習&#xff0c;以盡可能對訓練樣本集外的數據進行 標記&#xff08;分類&#xff09;預測。 這里 &#xff0c;所有的標記&#xff08;分類&#xff09…

python如何下載svg圖片

# 生成博客文章框架代碼 import datetimeblog_content f"""# Python如何下載SVG圖片## 引言 SVG&#xff08;可縮放矢量圖形&#xff09;作為一種基于XML的矢量圖形格式&#xff0c;在Web開發中廣泛應用。本文將介紹如何使用Python從網絡下載SVG圖片&#xff0…

Linux(一) | 初識Linux與目錄管理基礎命令掌握

個人主頁-愛因斯晨 文章專欄-Linux 最近學習人工智能時遇到一個好用的網站分享給大家&#xff1a; 人工智能學習 文章目錄個人主頁-愛因斯晨文章專欄-Linux一、前言1.為什么學習Linux2.操作系統概述&#xff1a;3.常見的操作系統&#xff1a;二、初識Linux1.誕生2.什么是Linux…

android-studio 安裝

下載地址 國內&#xff1a;https://developer.android.google.cn/studio?hlzh-cn 全國&#xff1a;https://developer.android.com/studio 1.設置 ANDROID_HOME 環境變量 ANDROID_HOME D:\zhy\android-studio\sdk 2. 更新 PATH 環境變量 %ANDROID_HOME%\platform-tools %AN…

【重學MySQL】九十三、MySQL字符集與比較規則完全解析

【重學MySQL】九十三、MySQL字符集與比較規則完全解析一、字符集概述1.1 支持的字符集1.2 UTF8與UTF8MB4的區別二、比較規則&#xff08;Collation&#xff09;2.1 比較規則分類2.2 常見比較規則差異三、配置層級與繼承關系3.1 配置層級3.2 繼承關系四、最佳實踐與問題解決4.1 …

基于Kafka的延遲隊列

實現原理 通過topic區分不同的延遲時長&#xff0c;每個topic對于一個延遲&#xff0c;比如 topic100 僅存儲延遲 100ms 的消息&#xff0c;topic1000 僅存儲延遲 1s 的消息&#xff0c;依次類推。生產消息時&#xff0c;消息需按延遲時長投遞到對應的topic。消費消息時&#x…

LabVIEW轉速儀校準系統

LabVIEW 與機器視覺的智能校準系統以工控機為核心&#xff0c;整合標準源、智能相機等硬件&#xff0c;通過軟件實現校準流程自動化&#xff0c;支持 500-6000r/min 轉速范圍校準&#xff0c;覆蓋 5 類轉速測量儀&#xff0c;校準時間縮短約 70%&#xff0c;滿足計量院高效、精…

Synchronized 概述

1. 初識 synchronized 是 Java 中的關鍵字&#xff0c;是一種 同步鎖 &#xff0c;可重入鎖&#xff0c;悲觀鎖。它修飾的對象有以下幾種&#xff1a; 具體表現為以下3種形式。 對于普通同步方法&#xff0c;鎖是當前實例對象。 對于靜態同步方法&#xff0c;鎖是當前類的 Clas…

通過Auth.log來查看VPS服務器是否被掃描和暴力破解及解決辦法

說明&#xff1a;很多人vps可能出現過被掃的情況&#xff0c;有的還被爆破了&#xff0c;這里提供下查看方法 查看用密碼登陸成功的IP地址及次數grep "Accepted password for root" /var/log/auth.log | awk {print $11} | sort | uniq -c | sort -nr | more查看用密…

碰一碰發視頻手機版源碼開發:支持OEM

**從事開發 20 年&#xff0c;見過不少技術風口起起落落&#xff0c;最近 “碰一碰發視頻” 又成了熱門話題。不少同行或剛入行的年輕人來問我&#xff0c;手機版源碼開發該從哪下手&#xff0c;怕踩坑、怕走彎路。今天就以一個老程序員的視角&#xff0c;把碰一碰發視頻手機版…