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