Hyper-V + Centos stream 9 搭建K8s集群(二)

一、安裝自動補全

? ? ? ? 主節點安裝就可以

yum install -y bash-completion
echo 'source <(kubectl completion bash)' >>~/.bashrc
kubectl completion bash >/etc/bash_completion.d/kubectl

二、安裝Calico網絡插件(主節點)

? ? ? ? 下載文件

wget https://calico-v3-25.netlify.app/archive/v3.25/manifests/calico.yaml

? ? ? ? 修改配置文件

sed -i 's#docker.io#m.daocloud.io/docker.io#g' calico.yaml

? ? ? ? 如果你沒有進行某些自定義安裝,可以直接應用

kubectl apply -f calico.yaml

? ? ? ? 然后耐心等待(有可能因為網絡問題拉鏡像失敗),可以不斷查看空間kube-system下的所有Pod(最終正常應該都是running)

kubectl get pods -n kube-system

????????查看Calico插件在各節點的部署情況(正常應該都是running)

kubectl get po -A -o wide | grep calic

? ? ? ? 查看集群狀態

kubectl get nodes -A

? ? ? ? 正常應該都是Ready的狀態了。?

三、安裝Kubernetes Dashboard

1、安裝

????????Helm 更適合生產環境,kubectl apply 更適合學習和簡單部署。

(1)方式1-基于helm安裝

????????我是用這種方式遇到問題,懶得研究,就卸載了直接使用kubectl安裝了。

# 下載helm
wget https://get.helm.sh/helm-v3.16.1-linux-amd64.tar.gz# 解壓
tar zxf helm-v3.16.1-linux-amd64.tar.gz# 移動到/usr/local
mv linux-amd64/helm /usr/local/bin/helm && rm -rf linux-amd64# 加一個chart 倉庫,這里用的阿里云
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts# 查看列表
helm search repo aliyun 

????????Helm 倉庫的核心作用?是?集中化管理 Charts,存儲預定義的 Kubernetes 應用模板(如 MySQL、Nginx、Redis 的部署配置)。類似 apt/yum 的軟件源,但針對的是 Kubernetes 應用。

????????通過 helm install 快速部署應用,無需手動編寫復雜的 YAML 文件。

? ? ? ? 比如

helm install my-mysql aliyun/mysql

? ? ? ? 添加倉庫

helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/

????????使用kubernetes儀表板圖表部署名為“kubernetes儀表板”的Helm Release

helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard

? ? ?設置訪問端口

kubectl edit svc kubernetes-dashboard-kong-proxy -n kubernetes-dashboard

????????修改service的type類型為NodePort,使其可以外部訪問,修改之后查看結果

kubectl -n kubernetes-dashboard get svc

(2)方式2-直接使用?kubectl安裝

????????下載配置文件

https://github.com/kubernetes/dashboard/blob/v2.0.0-beta4/aio/deploy/recommended.yaml

? ? ? ?下載完修改這個文件,找到鏡像文件修改為國內的源

image: registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard:v2.7.0
image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-scraper:v1.0.8

? ? ? ? 然后進行應用

kubectl apply -f recommended.yaml

????????有幾種方式可以訪問,這里選擇NodePort

kubectl patch svc kubernetes-dashboard -n kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}'

? ? ? ? 查看服務狀態

kubectl -n kubernetes-dashboard get svc kubernetes-dashboard
kubectl get svc -n kubernetes-dashboard

2、創建訪問賬號

????????編輯文件添加內容

vim /etc/kubernetes/dashadm.yaml

? ? ? ? 添加下面的內容

#創建服務帳戶
apiVersion: v1
kind: ServiceAccount
metadata:name: admin-usernamespace: kubernetes-dashboard
---
#創建群集角色綁定
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: admin-user
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:
- kind: ServiceAccountname: admin-usernamespace: kubernetes-dashboard

? ? ? ? 使其生效

kubectl apply -f /etc/kubernetes/dashadm.yaml

? ? ? ? 獲取訪問令牌的token的命令

kubectl -n kubernetes-dashboard create token admin-user

3、生成token進行登錄

?????????生成token

kubectl -n kubernetes-dashboard create token admin-user

? ? ? ? ?進行登錄

https://172.25.116.101:31874/

? ? ? ? 使用token登錄

4、遇到問題可以重新部署

? ? ? ? 如果是鏡像拉取的問題,可以使用這個命令查看

kubectl describe pod -n kubernetes-dashboard

????????首先清理現有的錯誤 Pod

kubectl delete deployment --all -n kubernetes-dashboard

? ? ? ? ?然后刪除

kubectl delete namespace kubernetes-dashboard

????????然后重新部署

kubectl create namespace kubernetes-dashboardkubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

四、部署測試

? ? ? ? 我們創建一個nginx.yaml,隨便放在哪里。

? ? ? ? 添加如下內容

apiVersion: v1
kind: Pod
metadata:name: nginxlabels:app.kubernetes.io/name: MyApp
spec:containers:- name: nginximage: ccr.ccs.tencentyun.com/library/nginx:latestports:- containerPort: 80name: http-web-svc
---
apiVersion: v1
kind: Service
metadata:name: my-service
spec:type: NodePortselector:app.kubernetes.io/name: MyAppports:# 默認情況下,為了方便起見,`targetPort` 被設置為與 `port` 字段相同的值。- port: 80targetPort: 80# 可選字段# 默認情況下,為了方便起見,Kubernetes 控制平面會從某個范圍內分配一個端口號#(默認:30000-32767)nodePort: 30007

? ? ? ? 然后應用

kubectl apply -f nginx.yaml

? ? ? ? 查看狀態

kubectl get pod,svc

? ? ? ? 訪問這個地址

http://172.25.116.101:30007/

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

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

相關文章

VBA代碼解決方案第二十七講:禁用EXCEL工作簿右上角的關閉按鈕

《VBA代碼解決方案》(版權10028096)這套教程是我最早推出的教程&#xff0c;目前已經是第三版修訂了。這套教程定位于入門后的提高&#xff0c;在學習這套教程過程中&#xff0c;側重點是要理解及掌握我的“積木編程”思想。要靈活運用教程中的實例像搭積木一樣把自己喜歡的代碼…

Spring AI 系列之三十一 - Spring AI Alibaba-基于Nacos的MCP

之前做個幾個大模型的應用&#xff0c;都是使用Python語言&#xff0c;后來有一個項目使用了Java&#xff0c;并使用了Spring AI框架。隨著Spring AI不斷地完善&#xff0c;最近它發布了1.0正式版&#xff0c;意味著它已經能很好的作為企業級生產環境的使用。對于Java開發者來說…

sqli-labs:Less-12關卡詳細解析

1. 思路&#x1f680; 本關的SQL語句為&#xff1a; $uname".$uname."; $passwd".$passwd."; $sql"SELECT username, password FROM users WHERE username($uname) and password($passwd) LIMIT 0,1";注入類型&#xff1a;字符串型&#xff0…

【SpringAI】8.通過json動態添加mcp服務

前言 官方示例的代碼中&#xff0c;mcp一般是配置到yml中或者json文件中&#xff0c;使用自動裝配的方式注入服務&#xff0c;這種方式不方便在程序啟動后添加新的服務&#xff0c;這里參考cherry studio的方式動態添加mcp服務 1.確定方案 mcp服務的維護放到mysql業務數據庫維…

【PDF + ZIP 合并器:把ZIP文件打包至PDF文件中】

B站鏈接 PDF ZIP 合并器&#xff1a;把ZIP文件打包至PDF文件中_嗶哩嗶哩_bilibiliz 加強作者的工具 https://wwgw.lanzn.com/i8h1C32k9bef 密碼:30cv 新增c框架&#xff0c;加快運行速度

阿里云部署微調chatglm3

git Ifs install Git lfs 主要用于管理大型文件。在傳統的Git倉庫中&#xff0c;所有文件內容都會被完整記錄在每一次提交中&#xff0c;這會導致倉庫體積增大&#xff0c;克隆、拉取和推送操作變慢&#xff0c;甚至可能超出存儲限額。Git LFS通過將大文件替換成文本指針&#…

Linux網絡編程 ---五種IO模型

五種IO模型一、IO慢的原因二、五種IO模型三、如何設置非阻塞式IO&#xff1f;一、IO慢的原因 二、五種IO模型 阻塞式IO 非阻塞式IO 信號驅動IO 多路轉接 異步IO 三、如何設置非阻塞式IO&#xff1f; &#xff08;一&#xff09;用法說明 &#xff08;二&#xff0…

Obsidian結合CI/CD實現自動發布

CI/CDQuickAddJS腳本bat腳本sh腳本實現自動發版Hugo文章 需求來源 每次手動執行Hugo的命令&#xff0c;手動把public文件夾上傳到自己的服務器可以完成發版需求。 但是&#xff0c;作為一個內容創作者&#xff0c;我更希望的關注于自己的內容&#xff0c;而不是關注整個發版…

[硬件電路-141]:模擬電路 - 源電路,信號源與電源,能自己產生確定性波形的電路。

源電路&#xff08;Source Circuit&#xff09;是電子系統中為其他電路或負載提供特定信號或能量的基礎電路模塊&#xff0c;其核心功能是生成、調節或轉換所需的物理量&#xff08;如電壓、電流、波形、頻率等&#xff09;。以下是源電路的詳細解析&#xff1a;一、源電路的核…

Unity_數據持久化_PlayerPrefs基礎

Unity數據持久化 一、數據持久化基礎概念 1.1 什么是數據持久化 定義&#xff1a; 數據持久化就是將內存中的數據模型轉換為存儲模型&#xff0c;以及將存儲模型轉換為內存中的數據模型的統稱。 通俗解釋&#xff1a; 將游戲數據存儲到硬盤&#xff0c;硬盤中數據讀取到游戲中&…

什么是列存儲(Columnar Storage)?深度解析其原理與應用場景

列存儲的基本概念&#xff1a;顛覆傳統的數據組織方式列存儲&#xff08;Column Storage&#xff09;是一種革命性的數據庫存儲技術&#xff0c;它通過按列而非按行組織數據&#xff0c;從根本上改變了數據的物理存儲結構。與傳統行存儲數據庫不同&#xff0c;列式數據庫將每一…

機器人抓取流程介紹與實現——機器人抓取系統基礎系列(七)

機器人抓取系統基礎系列文章目錄 1. UR機械臂的ROS驅動安裝官方教程詳解——機器人抓取系統基礎系列&#xff08;一&#xff09; 2. MoveIt控制機械臂的運動實現——機器人抓取系統基礎系列&#xff08;二&#xff09; 3. 機器人&#xff08;機械臂&#xff09;的相機選型與安裝…

【Qt】QObject::startTimer: Timers cannot be started from another thread

QTimer對象的 start 函數調用必須和創建QTimer對象是同一個線程。 #include "QtTimerTest.h" #include <QDebug>QtTimerTest::QtTimerTest(QWidget *parent): QMainWindow(parent),m_timer(nullptr),m_timerThread(nullptr), m_workingThread(nullptr) {ui.set…

社會治安滿意度調查:為城市安全治理提供精準參考(滿意度調查公司)

在社會治理不斷深化的背景下&#xff0c;公眾對社會治安的感知與評價已成為衡量城市治理水平的重要維度&#xff08;社會治安滿意度調查&#xff09;&#xff08;公眾滿意度調查&#xff09;&#xff08;滿意度調查&#xff09;。為全面掌握市民對治安狀況的真實反饋&#xff0…

Python篇--- Python 的加載、緩存、覆蓋機制

要理解 import 與 if __name__ "__main__": 的關系&#xff0c;以及 Python 的加載、緩存、覆蓋機制&#xff0c;我們可以從 “模塊的兩種身份” 和 “導入的全過程” 入手&#xff0c;用通俗的例子一步步拆解。一、核心&#xff1a;模塊的 “雙重身份” 與 __name_…

Java設計模式之行為型模式(訪問者模式)應用場景分析

訪問者模式&#xff08;Visitor Pattern&#xff09;作為Java設計模式中的“隱形冠軍”&#xff0c;常被開發者低估其價值。這一模式通過“雙分派”機制巧妙解耦數據結構與操作&#xff0c;為復雜系統的擴展提供了強大武器。在大廠項目中&#xff0c;訪問者模式往往出現在業務邏…

【IDEA】JavaWeb自定義servlet模板

方法一&#xff1a;&#xff08;推薦去使用方法二&#xff0c;還能創建其它代碼模板&#xff09;使用servlet模板創建Servlet類如果創建時找不到servlet模板&#xff1a;File -> Project Structure然后應用 -> OK&#xff0c;如果還是找不到Servlet模板&#xff0c;看看項…

Linux選擇

在內存中運行著的進程稱為&#xff08; 服務 &#xff09;。負責控制systemd系統和服務管理器的工具為&#xff08; systemctl &#xff09;命令。systemd管理系統服務的基本單位是&#xff08; unit &#xff09;。分配和管理資源的基本單位是&#xff08; 進程 &#xf…

【Redis學習路|第一篇】初步認識Redis

概要: 深入探討NoSQL數據庫的核心特性&#xff0c;對比傳統關系型數據庫的差異&#xff0c;重點介紹Redis作為內存數據庫的優勢與應用場景。 文章目錄認識 NoSQLNoSQL vs SQL 對比1?? 結構化 vs 非結構化2?? 關聯 vs 非關聯3?? 查詢方式對比4?? 事務特性5?? 存儲方式…

java局域網聊天室小項目架構思路

java局域網聊天室小項目架構思路 項目需求 創建一個局域網聊天系統&#xff0c;要求&#xff1a;用戶在登錄界面登錄后進入聊天窗口界面&#xff0c;能實現多用戶同時在線聊天&#xff0c;并且用戶之間可以進行私聊 項目用到的技術棧 java網絡編程java多線程java面向對象編…