1. 程式人生 > 實用技巧 >阿里雲 ECS 安裝 minikube

阿里雲 ECS 安裝 minikube

最近一直在看k8s, 買了個ecs打算安裝個k8s玩玩。眾所周知,k8s分為 master 節點和node節點。如果完整安裝需要好幾臺伺服器,但是k8s官方有提供個人學習,使用的minikube安裝,今天我們也是用此工具來快速搭建我們的k8s環境。

點選可跳轉官服文件檢視 minikube 安裝:https://kubernetes.io/zh/docs/tasks/tools/install-minikube/

1、安裝docker

minikube 安裝是需要開啟虛擬化支援的,如果不開啟,也可以用docker來支援。下面引用一段官方介紹:

Minikube 還支援使用一個--vm-driver=none

選項,讓 Kubernetes 元件執行在主機上,而不是在 VM 中。 使用這種驅動方式需要Docker和 Linux 環境,但不需要 hypervisor。

安裝docker之前我們先更新下 yum

 yum update & yum clean all & yum list 

  

將docker的yum安裝源資訊儲存到本地

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo

  直接安裝

yum install docker-ce docker-ce-cli containerd.io

  這裡如果你是centos8 可能會報錯:

Error:
Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed

此時需要安裝新版containerd.io

dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

或者
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm  
yum install containerd.io-1.2.6-3.3.el7.x86_64.rpm #安裝containerd.io

  再次安裝docker 。。。

啟動docker

systemctl start docker

設定docker開機啟動

systemctl enable docker

  

2.接下來安裝kubectl

具體安裝文件也可以參考官方文件:https://kubernetes.io/zh/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux

下載
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" 標記 kubectl 檔案為可執行: chmod +x ./kubectl 將檔案放到 PATH 路徑下: sudo mv ./kubectl /usr/local/bin/kubectl 測試你所安裝的版本是最新的: kubectl version --client

  

3. 接下來終於可以安裝minikube了

不過 minikube 不能以root方式啟動,我們先建立個賬號並且切過去

sudo groupadd docker
sudo usermod -aG docker $USER
sudo su - docker

  

下載安裝minikube ,這裡用的阿里雲版本的minikube,具體連結可以點選:https://github.com/AliyunContainerService/minikube/wiki

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/

 是的,就是這麼簡單 一步到位,接下來我們在宿主機以docker的方式啟動

minikube start --driver=docker

  開啟k8s的 dashboard

minikube dashboard

  這裡開啟了,但是是內網k8s的虛擬ip,如果我們是在ecs裡面安裝,是無法外網訪問的。我們可以用kubectl 做個代理 代理到外網ip上。 

設定ip代理,記得要開啟阿里雲安全組,這樣就能在外部訪問了
nohup  kubectl proxy --port=33567 --address='192.168.0.191' --accept-hosts='^.*' &
這行命令表示 該命令後臺常駐執行。
並且暴漏外面埠 33567,代理地址到192.168.0.191 允許所有人訪問。
然後我阿里雲內網ip 192.168.0.191 自動轉發到我阿里雲外網ip,我就可以通過外網開啟 dashboard了