使用Minikube安裝Kubernetes

使用Minikube安裝Kubernetes

更新於 發佈於 閱讀時間約 7 分鐘

作業系統: ubuntu-20.04.1-desktop-amd64

1. 安装kubectl => kubectl是用於對Kubernetes cluster運行命令的CLI

$ sudo apt-get update && sudo apt-get install -y apt-transport-https
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
$ echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
$ sudo apt-get update
$ sudo apt-get install -y kubectl

若是乾淨的機器,過程中可能會跳出沒有安裝curl的訊息,照著提示安裝即可。

raw-image

安裝完成後,會出現類似這樣的訊息:

raw-image

2. 安装minikube => Minikube是一個快速搭建單節點Kubenetes cluster的tool,不建議用在production環境,可以裝來玩玩。

(1) 安裝VirtualBox => minikube 要能執行,需要有 VirtualBox

$ sudo apt install virtualbox virtualbox-ext-pack


(2) 下載最新版Minikube binary file

$ wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

(3) 將檔案複製到/usr/local/bin/minikube path

$ sudo cp minikube-linux-amd64 /usr/local/bin/minikube

(4)

$ sudo chmod 755 /usr/local/bin/minikube

(5) 檢查版本

$ minikube version
raw-image

3. 啟動minikube

$ minikube start

minikube 啟動時,會啟動一個 VisualBox,並預設分配 2GB 的 RAM。

若啟動時想要指定resource也可以:

$ minikube start --cpus=4 --memory=4096


我下完指令出現這個,因為我是用VirtualBox裡面裝ubuntu,並不是實體機,因此要用docker來啟動。

raw-image

首先要先裝docker:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io


啟動minikube時指定driver docker:

$ minikube start --driver=docker


可能會遇到這個,根據建議下指令即可。

raw-image

完成後如下:

raw-image



4. 使用瀏覽器開啟k8s dashboard

取得dashboard url指令:

$ minikube dashboard --url
raw-image

將url用瀏覽器打開即可:

raw-image


#Note

檢查cluster狀態:

$ kubectl cluster-info
raw-image


檢查運行節點:

$ kubectl get nodes
raw-image


使用ssh訪問minikube vm:

$ minikube ssh


停止正在執行的kubernetes cluster:

$ minikube stop


刪除kubernetes cluster:

$ minikube delete


下一篇: 將Docker image部屬到Minikube

本筆記參考:
1. https://medium.com/starbugs/kubernetes-%E6%95%99%E5%AD%B8-%E4%B8%80-%E6%A6%82%E5%BF%B5%E8%88%87%E6%9E%B6%E6%A7%8B-954caa9b1558

2. https://blog.kennycoder.io/2020/03/15/Kubernetes-minikube-%E8%BC%95%E9%AC%86%E5%BB%BA%E7%AB%8B%E6%9C%AC%E5%9C%B0%E7%AB%AF%E7%9A%84K8S%E9%9B%86%E7%BE%A4%E5%B7%A5%E5%85%B7-%E5%AE%89%E8%A3%9D%E6%95%99%E5%AD%B8/

3. https://www.huweihuang.com/kubernetes-notes/setup/install-k8s-by-minikube.html

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

5. https://ywnz.com/linuxyffq/4344.html

6. https://stevenitlife.blogspot.com/2019/03/minikube.html


avatar-img
Vic Lin的沙龍
21會員
161內容數
留言
avatar-img
留言分享你的想法!
Vic Lin的沙龍 的其他內容
透過CI/CD工具,如最常見的Jenkins,可以讓工程師專注在開發上,只要將code push到git後,就會有一整套完整的整合、測試、部屬流程,可以大大節省很多時間呢。
Java abstract class和interface的使用時機
透過CI/CD工具,如最常見的Jenkins,可以讓工程師專注在開發上,只要將code push到git後,就會有一整套完整的整合、測試、部屬流程,可以大大節省很多時間呢。
Java abstract class和interface的使用時機