阿里雲 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了