Kubernetes安裝篇(上):基於Minikube方式部署本地環境

這是我參與更文挑戰的第 4 天,活動詳情查看: 更文挑戰node

一切先從安裝開始!linux

學習一門新的技術,通常先從安裝開始,實實在在的安裝完,使用它,逐步深刻了解。docker

爲了方便你們開發、學習和體驗 KubernetesKubernetes 社區提供了能夠在本地部署的minikube,經過 minikube 方式能夠在本地運行 Kubernetesshell

Kubernetes 的部署方式還有不少,本文是基於本地開發環境的部署方式,學習它足夠了。想要部署一套符合生產環境的集羣不是一件容易的事,隨後其餘篇章將會涉及。)api

一、Minikube

Minikube 是一個能夠在本地輕鬆運行 Kubernetes 的工具。Minikube 會在您的電腦中的虛擬機上運行一個單節點的Kubernetes 集羣,以便用戶對Kubernetes進行使用或者在之上進行Kubernetes的平常開發。瀏覽器

minikube.jpg

特徵:markdown

minikube運行Kubernetes的最新穩定版本,並支持標準的Kubernetes功能,例如:網絡

  • 負載均衡: 使用minikube tunnel
  • 多集羣: 使用minikube start -p <name>
  • NodePorts: 使用minikube service
  • 持久卷
  • Ingress
  • Dashboard: 儀表盤,使用minikube dashboard啓動。

二、安裝

能夠在本地虛擬機環境下安裝。負載均衡

因爲網絡訪問緣由,不少朋友沒法直接使用minikube進行安裝。在最新的Minikube中,已經提供了配置化的方式,能夠幫助你們利用阿里雲的鏡像地址來獲取所需Docker鏡像和配置。curl

2.1 安裝kubectl

kubectl是一個用於管理Kubernetes的命令行工具,能夠檢查集羣資源、建立、刪除和更新組件,查看你的新集羣,並啓動實例應用程序。

(1) 使用國內阿里雲源安裝

[xcbeyond@localhost ~]$ curl -LO http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/`curl -s http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/kubectl
複製代碼

(2) 查看版本

安裝完,執行命令kubectl version查看版本,確認是否安裝成功。

[xcbeyond@localhost ~]$ kubectl version

Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:41:02Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}

Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.0", GitCommit:"e19964183377d0ec2052d1f1fa930c4d7575bd50", GitTreeState:"clean", BuildDate:"2020-08-26T14:23:04Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}
複製代碼

2.2 安裝minikube

minikube是一個本地Kubernetes集羣的實現,minikube的主要目標是,成爲本地開發Kubernetes和支持Kubernetes所有特性的最佳工具。用於在你電腦中的虛擬機上運行一個單節點的Kubernetes集羣。

(1) 使用國內阿里雲源安裝

[xcbeyond@localhost ~]$ curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.13.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
複製代碼

(2) 安裝啓動

能夠運行命令minikube start來啓動本地Kubernetes集羣。

爲了訪問海外的資源,阿里雲提供了一系列基礎設施,請按照以下參數進行配置。其中常見參數:

  • --driver=***: 從1.5.0版本開始,Minikube缺省使用本地最好的驅動來建立Kubernetes本地環境,測試過的版本docker,kvm

  • --image-mirror-country cn: 將缺省利用registry.cn-hangzhou.aliyuncs.com/google_containers做爲安裝Kubernetes的容器鏡像倉庫 (阿里雲版本可選)

  • --iso-url=***: 利用阿里雲的鏡像地址下載相應的.iso 文件(阿里雲版本可選)

  • --registry-mirror=***: 爲了拉取Docker Hub鏡像,須要爲 Docker daemon 配置鏡像加速,參考阿里雲鏡像服務

  • --cpus=2:爲minikube虛擬機分配CPU核數

  • --memory=2048mb:爲minikube虛擬機分配內存數

  • --kubernetes-version=***:minikube虛擬機將使用的kubernetes版本

啓動minikube:

首次啓動須要下載鏡像,須要耐心等待...

若是中途失敗,可再次執行命令。

[xcbeyond@localhost ~]$ minikube start --driver=docker
* Centos 7.8.2003 上的 minikube v1.13.0
* 根據現有的配置文件使用 docker 驅動程序
* Starting control plane node minikube in cluster minikube
* Pulling base image ...
* Creating docker container (CPUs=2, Memory=2200MB) ...
* 正在 Docker 19.03.8 中準備 Kubernetes v1.19.0…
    > kubectl.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
    > kubelet.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
    > kubeadm.sha256: 65 B / 65 B [--------------------------] 100.00% ? p/s 0s
    > kubectl: 41.01 MiB / 41.01 MiB [-----------] 100.00% 496.18 KiB p/s 1m24s
    > kubeadm: 37.30 MiB / 37.30 MiB [---------------] 100.00% 3.15 MiB p/s 12s
    > kubelet: 104.88 MiB / 104.88 MiB [-------------] 100.00% 3.34 MiB p/s 32s
* Verifying Kubernetes components...
* Enabled addons: default-storageclass, storage-provisioner
* Done! kubectl is now configured to use "minikube" by default
複製代碼

(3) 打開Kubernetes控制檯

在本地(虛擬機桌面內)執行命令minikube dashboard,將會自動在瀏覽器中打開Kubernetes控制檯。

(若是經過shell遠程登陸執行,必會出如今瀏覽器中打開失敗的錯誤提示,可忽略。)

[xcbeyond@localhost ~]$ minikube dashboard

🤔  正在驗證 dashboard 運行狀況 ...

🚀  Launching proxy ...

🤔  正在驗證 proxy 運行情況 ...

🎉  Opening http://127.0.0.1:38620/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...

This tool has been deprecated, use 'gio open' instead.

See 'gio help open' for more info.
複製代碼

如何可以外部訪問呢?只須要添加一層代理便可。

使用proxy代理到虛擬機的指定端口,執行如下命令:

kubectl proxy --port=<指定訪問端口> --address=<實際IP> --accept-hosts='^.*' &
複製代碼

好比:

xcbeyond@localhost ~]$ kubectl proxy --port=8001 --address='192.168.11.129' --accept-hosts='^.*' &

[1] 83066

[xcbeyond@localhost ~]$ Starting to serve on 192.168.11.129:8001
複製代碼

瀏覽器訪問地址:http://192.168.11.129:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/overview?namespace=default

Kubernetes Dashboard.png

好了,開始探索Kubernetes的世界吧!

參考文章:

  1. developer.aliyun.com/article/221…

  2. kubernetes.io/zh/docs/tas…

相關文章
相關標籤/搜索