使用 Minikube 安裝 Kubernetes


概述:

  單機低配置主機也可以玩轉kubernetes集群。該文章是將介紹使用Minikube安裝Kubernetes集群(一般用於本地/開發環境)。

  這篇文章是根據kubernetes官網和其他資料總結而來,如環境相似(或更高),一般均可以安裝成功。

配置環境:

  硬件:CPU 至少2個核心,至少2.5G(2560M)內存

  軟件:virtualbox虛擬機,操作系統 CentOS Linux release 7.7.1908 (Core)

注意:

  CPU 必須2個或2個以上,否則安裝失敗。內存必須2.5G或大於2.5G,否則磁盤IO總是100%。

說明:

  如無特殊說明,本文中的所有命令全部使用root用戶執行。

一、准備工作

1.1 關閉防火牆、關閉SELinux、禁用swap、設置kubernetes源

請參考 Kubernetes(K8s) 安裝(使用kubeadm安裝Kubernetes集群)

1.2 下載kubectl文件和Minikube文件

kuberctl文件:下載

Minikube文件:下載  (下載之后,需要重命名為 minikube。官網

(說明:這里需要將下載的文件放入到虛擬機。當然也可以使用curl命令直接下載)

結果如下圖:

二、安裝docker

請參考 史上最詳細的Docker安裝手冊

三、安裝kubectl和minikube

3.1 將kubectl和minikube文件改為可執行文件

執行以下命令:

chmod +x kubectl && chmod +x minikube

結果如下圖(kubectl和minikube文件變為綠色):

3.2 將kubectl和minikube復制到 /usr/local/bin/ 目錄

# cp kubectl /usr/local/bin/ && cp minikube /usr/local/bin/
# ls /usr/local/bin/

結果如下圖:

 3.3 檢驗是否安裝成功

kubectl --help

安裝成功,顯示結果如下圖:

minikube version

安裝成功,顯示結果如下圖:

四、啟動minikube

4.1 安裝conntrack

yum install -y conntrack

4.2 下載kubernetes鏡像

由於minikube啟動過程中會從k8s.gcr.io下載鏡像,但是國內無法下載,所以從阿里雲下載(並修改tag和k8s.gcr.io一致)。

--------------------------------- 2021-06-29 修改 Start -------------------------------------------

說明:

  這里使用的kubernetes 的版本是1.18.0,根據需要改為其他版本即可。

  如果使用的是最新版,可以直接跳過執行下一步驟(即 minikube start 命令)。如果下一步驟也報錯(即 minikube start 命令),可提取相應的版本號(使用 minikube logs命令查看 )來替換下面的版本號。

---------------------------------- 2021-06-29 End -------------------------------------------

## 1. 使用docker執行以下命令,下載鏡像(從阿里雲下載):
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.0 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.0 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.0 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.0 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v1.8.1

## 2. 更改鏡像標簽(必須修改):
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.0 k8s.gcr.io/kube-apiserver:v1.18.0 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.0 k8s.gcr.io/kube-controller-manager:v1.18.0 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.0 k8s.gcr.io/kube-scheduler:v1.18.0 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.0 k8s.gcr.io/kube-proxy:v1.18.0 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3 k8s.gcr.io/etcd:3.4.3-0 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 k8s.gcr.io/coredns:1.6.7 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v1.8.1 gcr.io/k8s-minikube/storage-provisioner:v1.8.1

說明

  如使用的最新版本的docker,可以直接跳過該步驟

4.3 啟動minikube

------------------- 2021-10-27 -----------------------
## 安裝 kubernetes 1.22.0 版本期間,使用最新版本的docker(20.10.10),發現需要安裝插件 socat、tc、libseccomp-devel (會提示 kubelet 沒有運行,導致安裝失敗)
## 如缺少插件可能無法運行容器,報錯:runc: symbol lookup error: runc: undefined symbol: seccomp_api_get
yum install -y socat tc libseccomp-devel

## 使用下面的命令進行啟動minikube (image-repository參數:指定鏡像倉庫 2021-02-02更新,更多參數:minikube start --help) minikube start
--driver=none --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'

執行成功,結果如下圖:

 執行以下命令:

## 如之前已經安裝過,請先刪除對應的文件
mv /root/.kube /root/.minikube $HOME # 如果使用的root用戶,這一步可以省略 chown -R $USER $HOME/.kube $HOME/.minikube

注意:

## 1:如安裝過程中遇到問題,可以執行以下命令來查看日志
minikube logs
## 2:執行以下命令刪除已經安裝的minikube(然后重新執行start命令)
minikube delete --all
## 3:如安裝失敗,可多次進行嘗試(start 和 delete)

------------------- 2021-07-22 -----------------------
## 4: 如安裝的過程中提示缺少某一個鏡像,可以在使用docker search命令在docker hub上查找(或者在docker hub官網上搜索),下面以coredns為例
## 本機執行以下命令
docker search coredns
## 通常我也會去docker hub上找一下,看看哪個是官方提供的

------------------- 2021-10-27 -----------------------

## 5. 如果minikube沒有開機啟動,則可以直接執行以下命令,啟動之前安裝的kubernetes集群
minikube start

五、校驗是否安裝成功

查看minikube安裝是否成功,執行以下命令:

minikube status

安裝成功,顯示如下圖:

kubectl cluster-info

 說明:

  可以根據自己的需要是否安裝dashboard

# 安裝dashboard
minikube dashboard

 

參考資料:

https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux


https://kubernetes.io/zh/docs/tasks/tools/install-minikube/


https://yq.aliyun.com/articles/691500

 

https://minikube.sigs.k8s.io/docs/drivers/docker/ 

--------------------------------------------------------------------------------------------------------

PS:如有問題,請在下方留言,我看到后會及時回復。

--------------------------------------------------------------------------------------------------------

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM