minikube有助于快速部署一套k8s学习环境,绕开复杂的安装过程.
1.下载和安装
此处直接参考minikube官网的教程,选择Linux(x86-64,stable,bin)
安装之前先确定本机已安装Docker以及date确定时间与外部同步.
#下载
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
#安装
sudo install minikube-linux-amd64 /usr/local/bin/minikube
2.启动
这个启动就需要特别注意了,默认root用户启动会报错,但是针对个人学习使用我们无视使用强制启动即可
还有一个是针对国内的情况启动时需要指定为国内的源,否则会出现无法联通外网的情况
#启动
minikube start --force --driver=docker --image-mirror-country='cn'
这里我们看到使用的是aliyun的镜像
3.安装kubectl
如果不安装kubectl,也可以使用minikube kubectl -- get pod -A这样的使用集群,我们可以在外部安装kubectl以直接对集群进行操作,更加便利
#添加下载源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
#安装dashboard
yum install -y kubectl-1.26.3
4.安装dashboard
#部署dashboard
minikube dashboard
#映射端口
kubectl proxy --port=8001 --address='192.168.216.228' --accept-hosts='^.*' &
测试dashboard访问
5.测试应用部署
#创建nginx
kubectl create deployment nginx --image=nginx
#nodeport映射端口
kubectl expose deployment nginx --port=80 --type=NodePort
#获取访问地址
minikube service nginx
#访问
curl curl http://192.168.49.2:31081
浏览器访问:
http://192.168.216.228:8001/api/v1/namespaces/default/services/nginx:80/proxy/
至此我们的kubemini就完成基本配置了
minikube启动时还可以指定更多的参数,如指定cpu、内存、log_dir等可通过minikube config查看
以及可以使用minikube addons list查看可以安装的插件等等
6.安装过程中的插曲
大坑1:容器内部无法连通外网
安装之前检查检查一下docker版本,本人之前一直使用20.10.6这个版本,minikube启动后容器内部和宿主机可以互通,但是docker pull时缺提示网络不通,这个问题令人百思不得其解,route查看路由也是正常的,就是无法ping通外网,网上搜索没有查询到有遇到类似问题,机缘巧合之下对docker进行升级,升级过后执行minikube dashboard,发现可以正常安装dashboard,也能够ping通外网.在这个坑里面折腾了一天,可算是爬出来了.
坑2:网络问题
在指定启动镜像的时候可能会出现以下404提示,出现这个界面时再次执行start启动命令即可.