安裝minikube 1.x 與Helm 3.x
環境 (各元件版本)
- OS:CentOS 7
- Docker-ce:20.10.11
- Kubectl:v1.23.0 (Client)、v1.22.3 (Server)
- minikube:v1.24.0
- Helm:v3.7.2
前置準備
安裝docker-ce
步驟1:先清除舊的版本,若新安裝的OS,可以不用執行。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
步驟2:安裝yum-utils與yum-config-manager。
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
步驟3:安裝Docker-ce。
$ sudo yum install docker-ce docker-ce-cli containerd.io
步驟4:啟動Docker-ce。
$ sudo systemctl enable --now docker
安裝Kubectl
步驟1:新增kubernetes的repo。
$ cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
步驟2:安裝Kubectl。
$ sudo yum install -y kubectl
安裝Helm
步驟1:下載Helm的安裝腳本。(可以去官方的Github找到對應環境與版本的下載網址)
$ wget https://get.helm.sh/helm-v3.7.2-linux-amd64.tar.gz
步驟2:解壓縮Helm的執行檔。
$ tar zxvf helm-v3.7.2-linux-amd64.tar.gz
步驟3:將執行檔複製到/usr/local/bin/目錄下即完成安裝。
$ mv linux-amd64/helm /usr/local/bin/helm
安裝minikube
步驟1:下載RPM並安裝。
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm
$ sudo rpm -Uvh minikube-latest.x86_64.rpm
步驟2:使用非root帳號登入作業系統,並執行以下指令將該帳號加入docker群組,以取得操作docker的權限。
$ sudo usermod -aG docker $USER
** $USER請代換成一般的使用者帳號。
步驟3:啟動minikube。
$ minikube start
**注意:請以步驟2的帳號登入來啟動minikube
步驟4:啟動Dashboard。
$ minikube dashboard
步驟5:使用kubectl調整Proxy設定,讓Dashboard可以連得到。
$ kubectl proxy --address="0.0.0.0" --port="8002" --disable-filter=true
- –address:指定接聽所有IP
- –port:指定接聽的port
步驟6:連到Dashboard。
檢查各元件的版本
Docker-ce
$ docker version
Client: Docker Engine - Community
Version: 20.10.11
API version: 1.41
Go version: go1.16.9
...
...
Kubectl
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.0", GitCommit:"ab69524f795c42094a6630298ff53f3c3ebab7f4", GitTreeState:"clean", BuildDate:"2021-12-07T18:16:20Z", GoVersion:"go1.17.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.3", GitCommit:"c92036820499fedefec0f847e2054d824aea6cd1", GitTreeState:"clean", BuildDate:"2021-10-27T18:35:25Z", GoVersion:"go1.16.9", Compiler:"gc", Platform:"linux/amd64"}
Helm
$ helm version
version.BuildInfo{Version:"v3.7.2", GitCommit:"663a896f4a815053445eec4153677ddc24a0a361", GitTreeState:"clean", GoVersion:"go1.16.10"}
minikube
$ minikube version
minikube version: v1.24.0
commit: 76b94fb3c4e8ac5062daf70d60cf03ddcc0a741b
~ END ~