简单三分钟,本地搭建k8s
使用 minikube 在本地搭建 k8s 已經比以前要簡單很多了。本文,我們通過簡短的三分鐘來重現一下在本地搭建 k8s 實驗環境的步驟。
下載 Minikube
首先,你可能會考慮從官網下載 minikube 然后進行安裝,但是這樣實際上可以預知的是,在后續的使用中你可能會到由于網絡的特殊性,無法正常地啟動。
因此,需要使用一些特殊的辦法來解決這個問題。
這里,我們直接使用由阿里云團隊針對中國大陸網絡環境進行優化的版本。
Mac OSX
curl?-Lo?minikube?https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.20.0/minikube-darwin-amd64?&&?chmod?+x?minikube?&&?sudo?mv?minikube?/usr/local/bin/Linux
curl?-Lo?minikube?https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.20.0/minikube-linux-amd64?&&?chmod?+x?minikube?&&?sudo?mv?minikube?/usr/local/bin/Windows
https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.20.0/minikube-windows-amd64.exe
下載 minikube-windows-amd64.exe 文件,并重命名為 minikube.exe
下面我們都將圍繞 windows 版本進行說明和演示。
雖然官方版本已經支持中國區的鏡像加速,但是截至筆者自己發文的時候,還是存在各種問題。本著人的生命是有限的基本原則,我們可以先跳過這些惱人的問題。
安裝 Minikube
windows 版本只要下載到特定文件夾,然后將這個文件夾,加入到 PATH 當中即可。這樣以后無論在那個路徑下都可以正常運行 minikube 命令。
啟動 Hyper-v
雖然最新的 minikube 對于 Docker 和 Hyper-v 都是首選驅動,但是 Docker 無法使用 ingress 插件,因此考慮使用 Hyper-v。
使用管理員權限運行以下腳本來啟用 Hyper-v:
Enable-WindowsOptionalFeature?-Online?-FeatureName?Microsoft-Hyper-V?-All啟用后需要重新啟動操作系統才能生效。
配置 Minikube
使用管理員權限打開一個控制臺,并運行以下命令,來設置驅動、CPU 和內存:
minikube?config?set?driver?hyperv minikube?config?set?cpus?8 minikube?config?set?memory?12288CPU 和內存可以按照你的實際情況進行設置。其中內存的單位為 MB,12288 即表示 12G。
在 Hyper-v 中,這實際上就是虛擬機的 CPU 和內存。
啟動 k8s
使用管理員權限打開一個控制臺,并運行以下命令,來啟動一個 k8s 節點:
minikube?start運行這段命令后,經過一段時間的等待,你應該會得到如下所示的輸出內容,這就表示你已經正確啟動了一個 k8s 節點:
PS?C:/Users/Administrator>?minikube?start ??????Microsoft?Windows?10?Enterprise?10.0.19042?Build?19042?上的?minikube?v1.20.0 ???根據用戶配置使用?hyperv?驅動程序 ??????Starting?control?plane?node?minikube?in?cluster?minikube ??????Creating?hyperv?VM?(CPUs=8,?Memory=12288MB,?Disk=20000MB)?... ??????正在?Docker?20.10.6?中準備?Kubernetes?v1.20.2…??Generating?certificates?and?keys?...??Booting?up?control?plane?...??Configuring?RBAC?rules?... ??????Verifying?Kubernetes?components...??Using?image?registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5?(global?image?repository) ??????Enabled?addons:?storage-provisioner,?default-storageclass ??????Done!?kubectl?is?now?configured?to?use?"minikube"?cluster?and?"default"?namespace?by?default啟用 dashboard 看看集群
運行以下命令:
minikube?dashboard稍等片刻,瀏覽器便會打開 dashboard,你就可以看到集群的基本情況。
dashboard使用 lens 查看集群
除了使用原生的 dashboard,你也可以使用 lens 來查看這個集群的情況。
通過 https://k8slens.dev/ 下載和安裝最新的 lens 版本。
然后打開之后,便可以通過 lens 來查看集群的基本情況。
lens1lens2lens3安裝 helm
為了驗證這個集群的基礎功能,我們嘗試使用 helm 來安裝一個簡單的應用
首先,需要安裝 helm。helm 和 minikube 一樣,是一個單文件的命令行程序??梢灾苯訌?Github 上下載。
或者也可以通過以下地址加速下載:
https://www.newbe.pro/Mirrors/Mirrors-Helm/
下載,設置好 PATH 之后,我們就可以在控制臺中調用 helm:
PS?C:/Users/Administrator>?helm?version version.BuildInfo{Version:"v3.6.3",?GitCommit:"d506314abfb5d21419df8c7e7e68012379db2354",?GitTreeState:"clean",?GoVersion:"go1.16.5"}添加 bitnami 為 helm 包源
helm 實際上是一個包安裝器,這個包被稱為 charts,每個 chart 實質上就是一組 k8s 資源的定義。
因此,和軟件安裝一樣,想要安裝一個軟件,首先需要選擇一個軟件包源來下載這個軟件包。
bitnami 是 VMware 提供的一個包源,其中包含了一些已經被用于產線的常用中間件包,比如 mysql,elasticsearch,mongodb,wordpress 等等。
通過以下命令,便可以添加這個包源。
helm?repo?add?bitnami?https://charts.bitnami.com/bitnami添加好之后,可以使用以下命令來查看已經添加的所有包源:
PS?C:/Users/Administrator>?helm?repo?list NAME????URL bitnami?https://charts.bitnami.com/bitnami dapr????https://dapr.github.io/helm-charts/使用 helm 安裝一個 nginx
這里我們以安裝一個簡單的 nginx 為例,演示一下如何安裝 helm chart 包。
通過運行以下命令,便可以從 bitnami 上安裝一個 nginx 到集群中:
helm?install?my-release?bitnami/nginx同時,如果你前面安裝了 lens, 那么也可以通過左側的 APP/Charts 來安裝:
nginx安裝好之后,便可以使用 k8s 的 port-forward 功能來查看安裝結果。當然,在 lens 上,只需要一次鼠標點擊可以:
nginx-port-forwardview nginx移除安裝的 helm chart
通過 lens app/release 菜單,你可以非常簡單的移除剛剛安裝的 chart。
remove release停止和移除 minikube 節點
如果你想停止當前 minikube 節點以節約資源,可以運行以下命令:
minikube?stop如果你想移除安裝的 minikube 節點(hyper-v 虛擬機),可以運行以下命令:
minikube?delete?--all本篇小結
通過簡單的 minikube 、 helm 和 lens, 你便可以擁有一個非常簡單的 k8s 測試環境。
一切就是這樣的輕松愉快。
相關鏈接
af 開頭的鏈接為 af code,你可以通過 https://af.newbe.pro/ 來了解如何使用此鏈接進行快速收藏。
阿里云版本 minikub
https://github.com/AliyunContainerService/minikube
af://1eyJ1IjoiaHR0cHM6Ly9naXRodWIuY29tL0FsaXl1bkNvbnRhaW5lclNlcnZpY2UvbWluaWt1YmUiLCJ0IjoiQWxpeXVuQ29udGFpbmVyU2VydmljZS9taW5pa3ViZSIsInRzIjpbIms4cyIsIm1pbmlrdWJlIiwiXHU5NjNGXHU5MUNDXHU0RTkxIl19
Github minikub
https://github.com/kubernetes/minikube
af://1eyJ1IjoiaHR0cHM6Ly9naXRodWIuY29tL2t1YmVybmV0ZXMvbWluaWt1YmUiLCJ0Ijoia3ViZXJuZXRlcy9taW5pa3ViZTogUnVuIEt1YmVybmV0ZXMgbG9jYWxseSIsInRzIjpbImdpdGh1YiIsIm1pbmlrdWJlIl19
Github minikub
https://github.com/kubernetes/minikube
af://1eyJ1IjoiaHR0cHM6Ly9naXRodWIuY29tL2t1YmVybmV0ZXMvbWluaWt1YmUiLCJ0Ijoia3ViZXJuZXRlcy9taW5pa3ViZTogUnVuIEt1YmVybmV0ZXMgbG9jYWxseSIsInRzIjpbImdpdGh1YiIsIm1pbmlrdWJlIl19
Github helm
https://github.com/helm/helm
af://1eyJ1IjoiaHR0cHM6Ly9naXRodWIuY29tL2hlbG0vaGVsbSIsInQiOiJoZWxtL2hlbG06IFRoZSBLdWJlcm5ldGVzIFBhY2thZ2UgTWFuYWdlciIsInRzIjpbImdpdGh1YiIsImhlbG0iXX0=
Github helm 加速下載
https://www.newbe.pro/Mirrors/Mirrors-Helm/
af://1eyJ1IjoiaHR0cHM6Ly93d3cubmV3YmUucHJvL01pcnJvcnMvTWlycm9ycy1IZWxtLyIsInQiOiJIZWxtIFx1NTZGRFx1NTE4NVx1NTJBMFx1OTAxRlx1NEUwQlx1OEY3RCB8IG5ld2JlIiwidHMiOlsiaGVsbSIsIm1pcnJvciJdfQ==
Github bitnami charts
https://github.com/bitnami/charts
af://1eyJ1IjoiaHR0cHM6Ly9naXRodWIuY29tL2JpdG5hbWkvY2hhcnRzIiwidCI6ImJpdG5hbWkvY2hhcnRzOiBIZWxtIENoYXJ0cyIsInRzIjpbImJpdG5hbWkiLCJjaGFydHMiLCJoZWxtIl19
總結
以上是生活随笔為你收集整理的简单三分钟,本地搭建k8s的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL从原理到实践,一篇从头到尾讲清
- 下一篇: Blazor 组件库开发指南