虛擬機部署單機版kubernetes,minikube,docker

来源:https://www.cnblogs.com/wangrq/archive/2020/05/04/Kubernetes_minikube_docker.html
-Advertisement-
Play Games

微服務,Kubernetes,用minikube單機部署,運維部署,方便的安裝中間件,本地測試開發,節省時間 ...


# 目前公司用的是阿裡雲的容器服務 所以本地搭建個單機版 方便測試使用
# VMware® Workstation 12 Pro 版本
# 虛擬機環境配置:配置 2核 4G 網路橋接
# 系統鏡像: CentOS-7-x86_64-Minimal-1810.iso 最好從阿裡雲鏡像系統下載可以省去yum倉庫的配置
# 網站地址: https://developer.aliyun.com/mirror/
# 下載 CentOS-7-x86_64-Everything-1908.iso 這個更省事 鏈接如下
https://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-Everything-1908.iso
# docker 文檔
https://docs.docker.com/engine/install/centos/
# 執行 su 切換到 root 用戶
# 關掉防火牆
# systemctl stop firewalld
# systemctl disable firewalld
# 清理老版本
# sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

# cd /etc/yum.repos.d
# xftp 上傳附件 *.repo 文件到 /etc/yum.repos.d
# yum update
# 阿裡雲鏡像加速地址,自行阿裡雲申請
# vi /etc/docker/daemon.json

{
"registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
}

# 安裝 docker
# sudo yum install docker-ce docker-ce-cli containerd.io
#會從阿裡雲下載鏡像

# 啟動docker 服務
# systemctl start docker
# systemctl enable docker
# 查看版本
# docker version
Client: Docker Engine - Community
Version: 19.03.8
Server: Docker Engine - Community
Engine:
Version: 19.03.8

 

# 安裝 minikube , kubectl 自行下載 或 直接使用附件
# 文檔 https://kubernetes.io/zh/docs/tasks/tools/install-minikube/
# cd /home/admin/
# 自己下載
# curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
# https://kubernetes.io/zh/docs/tasks/tools/install-kubectl/
# curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl && chmod +x kubectl

# 使用附件 minikube和kubectl軟體 上傳到 /home/admin
# 執行
# sudo mkdir -p /usr/local/bin/
# sudo install minikube /usr/local/bin/
# sudo install kubectl /usr/local/bin/
# 查看版本
minikube version
minikube version: v1.9.0


# 確保 root用戶
# su root
# 執行單機版 driver=none 配置 image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers 否則鏡像下載極慢
# minikube start --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --driver=none
# 問題 缺少conntrack : X Sorry, Kubernetes v1.18.0 requires conntrack to be installed in root's path
# yum install conntrack
# 再次運行
# minikube start --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --driver=none
# 首次較慢等待下載完成 缺保配置有 4g記憶體
# 啟動成功 顯示如下
# Done! kubectl is now configured to use "minikube"

 

 

# 查看
# kubectl get pod --all-namespaces

 

 


# 輸入如下來解決網路問題的報錯
# echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables

#伺服器上執行,啟動管理界面,伺服器本地可以瀏覽器查看面板 Minimal版本os沒有桌面
minikube dashboard

#伺服器上執行代理8001 到面板服務
kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'
# 並開放埠8001或關閉防火牆 ping ipxxxxx 8001 通不通
# 客戶端 瀏覽器訪問
# http://ipxxxxx:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/overview?namespace=default
# 查看版本
# kubectl version

#處理 ingress
#先下載鏡像 下載有點慢
docker pull quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1
minikube addons enable ingress

# 上傳附件中 mq的Dockerfile /root
# docker build -t rabbitmq:2020 .
# 查看鏡像 rabbitmq:2020
# docker images
# 上傳附件中 mq的rabbitmq-deployment.yaml /root
# 部署 rabbitmq
# kubectl apply -f rabbitmq-deployment.yaml
# 查看
kubectl get pod
#port-forward 埠轉發的前置依賴軟體安裝
# sudo yum install -y socat

#查看伺服器端配置
# kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority: /root/.minikube/ca.crt
server: https://192.168.1.166:8443
name: minikube
contexts:
- context:
cluster: minikube
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /root/.minikube/profiles/minikube/client.crt
client-key: /root/.minikube/profiles/minikube/client.key

#把伺服器上 .minikube 目錄下的文件拷貝下來
在本機的 C:\Users\xxxName\.kube\ 文件目錄添加證書文件 編輯cnfig添加cluster 配置和證書及用戶密碼
/root/.minikube/ca.crt C:\Users\xxxName\.kube\minica.crt
/root/.minikube/profiles/minikube/client.crt C:\Users\xxxName\.kube\miniclient.crt
/root/.minikube/profiles/minikube/client.key C:\Users\xxxName\.kube\miniclient.key

# 編輯宿主機本地config添加cluster 配置和證書及用戶密碼
apiVersion: v1
clusters:
- cluster:
certificate-authority: minica.crt
server: https://192.168.1.166:8443
name: minikube
contexts:
- context:
cluster: minikube
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: miniclient.crt
client-key: miniclient.key

# 本機執行
# kubectl get pod
# 客戶端埠轉發訪問服務 管理mq
kubectl port-forward rabbitmq-0 15672:15672
本地瀏覽器訪問
http://localhost:15672/
guest/guest 登錄查看

自己部署相關服務,本地調試還是很不錯的,之前都是用虛擬機安裝常用中間件現在方便多了
自我學習記錄,如有不足請大家指教.

共用附件:

鏈接:https://pan.baidu.com/s/1j7W22uFXgS_QNuDW3UlNnw
提取碼:10fr


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本篇博客接著講解機器視覺的有關技術和知識。包括寬度測量,缺陷檢測,醫學處理。 一:寬度測量 在傳統的自動化生產中,對於尺寸的測量,典型的方法就是千分尺、游標卡尺、塞尺等。而這些測量手段測量精度低、速度慢,無法滿足大規模的自動化生產需求。基於機器視覺的尺寸測量屬於非接觸式的測量,具有檢測精度高、速度快 ...
  • 25. K 個一組翻轉鏈表 題目來源: "https://leetcode cn.com/problems/reverse nodes in k group" 題目 給你一個鏈表,每 k 個節點一組進行翻轉,請你返回翻轉後的鏈表。 k 是一個正整數,它的值小於或等於鏈表的長度。 如果節點總數不是 k ...
  • 1、命令行的開始 首先介紹幾個常用到的命令 dotnet --info :查看電腦上環境。 dotnet new --list:查看腳手架模板列表 dotnet new console -n newHelloworld:創建一個名為newHelloworld的控制台程式 dotnet build:切 ...
  • 上一章分析了WPF元素的內部工作元素——允許每個元素插入到WPF佈局系統的MeasureOverride()和ArrangeOverride()方法中。本章將進一步深入分析和研究元素如何渲染自身。 大多數WPF元素通過組合方式創建可視化外觀。換句話說,典型的元素通過其他更基礎的元素進行構建。例如,使 ...
  • 這個例子來自書上。 記錄過程。 主要是數學上極坐標,WPF中的測量過程 簡單來說在一個具有固定軸的坐標系內,一個由原點射出的向量並與固定軸有一定角度且在向量上確定長度的這麼個東西。 可以參考: 知乎https://www.zhihu.com/question/318613418/answer/640 ...
  • 一、首先去https://www.docker.com/products/docker-desktop下載Windows版本的Docker Desktop並安裝(需要win10專業版以上操作系統,並啟用CPU虛擬化和安裝Hvper-V)。 二、新建一個.NetCore3.1的API項目,在創建的時候 ...
  • 1.目錄操作 基礎目錄操作 linux 沒有類似windows一樣的盤符之分,所有的目錄都是以“根‘ / ’”開始,linux 是多用戶登陸, 在 /home/ 的目錄下,存放著已添加用戶的用戶目錄。每個用戶一個文件夾,文件夾名為用戶名 // 下文中 $ 表示終端的提示符,不包含在命令當中 $ pw ...
  • Network namespace 在邏輯上是網路堆棧的一個副本,它有自己的路由、防火牆規則和網路設備。預設情況下,子進程繼承其父進程的 network namespace。也就是說,如果不顯式創建新的 network namespace,所有進程都從 init 進程繼承相同的預設 network ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...