官网地址:https://kubernetes.io/zh-cn/docs/tutorials/kubernetes-basics/

官网提供在线交互式教程,我还是想自己弄一下minikube,所以有了这个不堪回首的记录

准备实验环境

  • 4核4G
  • CentOS Linux release 7.9.2009 (Core)
  • 根目录:150G

我习惯新建的虚拟机安装后做一个快照备份,

  • 我搭起来的环境如果失败,我可以快速恢复过去
  • 在日程工作中,如果遇到需要验证某些服务,需要部署某些系统,都是从初始状态进行一个恢复后部署,部署好之后再做一次基于这个服务的快照,等下次需要部署另一个服务,我还是在这台虚拟机上恢复到初始状态进行部署,后续需要哪种服务,我就快照恢复到哪一个服务

就像这样:

image-20230208151340586

安装docker

卸载旧版本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

image-20230208151630944

删除旧的docker的数据目录

#卸载docker的时候,默认是不会去删除容器、镜像等资源的,默认存储位置是在/var/lib/docker/
rm -rf /var/lib/docker/

设置存储库

yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    
#上述docker-ce.repo文件也可以替换成国内的存储库文件,这样下载会很稳定、很快
#阿里云国内存储库https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#上面这个我属实有点慢

image-20230208151848802

安装docker相关程序

#安装Docker Engine、containerd 和 Docker Compose,默认是最新版本
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

image-20230208152105507

启动和配置docker

systemctl start docker
systemctl enable docker
systemctl status docker

image-20230208152134851

安装minikube

minikube是本地的Kubernetes,专注于使Kubernetes的学习和开发变得更简单。

minikube 是一种轻量级的 Kubernetes 实现,可在本地计算机上创建 VM 并部署仅包含一个节点的简单集群

官网地址:https://minikube.sigs.k8s.io/docs/start/

来自官方的前置条件

  • 至少2个CPU
  • 至少2个G的可用内存
  • 至少20GB的可用磁盘空间
  • 有外网权限
  • 容器运行时(docker、container等)

安装minikube

安装最新的稳定版

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
install minikube-linux-amd64 /usr/local/bin/minikube
minikube version

image-20230208152603554

启动一个k8s集群

#通过minikube启动一个集群
minikube start --kubernetes-version=v1.23.3 --image-mirror-country='cn' --force

- 拉取镜像需要时间

image-20230208153009203

这NM也忒慢了吧

image-20230208153244547

#尝试修改一下启动命令 ctrl+c取消
#先删除下载慢的集群
minikube delete --all
rm -rf ~/.minikube
#再重新执行
minikube start --kubernetes-version=v1.23.3 --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' --force
##好像还是一样慢,那就等吧

image-20230208154920429

#最后还是不行,算了还是科学一下吧
minikube start --kubernetes-version=v1.23.3 --force
#这下快多了

image-20230208155935773

#虽然拉取的速度快一点了,但是最后还是会卡住不动,不知道为啥

image-20230208161547589

##我再尝试下拉取默认比较新的一个k8s版本试试
minikube delete --all
rm -rf ~/.minikube
minikube start --force

##最后还是不行

image-20230208161853307

img

我再试一下安装一个旧版本试试

##先删除旧版本执行文件
rm -rf /usr/local/bin/minikube
##再下载1.26.1的版本试试,用阿里云的地址
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.26.1/minikube-linux-amd64

##
install minikube /usr/local/bin/minikube
chmod +x /usr/local/bin/minikube

##在尝试下拉取
minikube start --kubernetes-version=v1.23.3 --image-mirror-country='cn' --force

image-20230208165208396

开始了,感觉有戏

image-20230208165313280

image-20230208170355840

img

再次尝试启动一个k8s集群

我在自己的本地虚拟机实在搞不定这个minikube拉取镜像的问题了,我直接在我的云主机上面操作了

我的云主机版本信息

  • 4核4G
  • CentOS Linux release 7.6.1810 (Core)
  • 腾讯云轻量级服务器
  • root权限操作
  1. 安装好docker和最新版本的minikube,docker 配置了阿里云镜像加速

image-20230208180327291

  1. 直接启动k8s集群
#通过minikube启动一个集群
minikube start --kubernetes-version=v1.23.3 --image-mirror-country='cn' --force

咦,有搞头,这速度

image-20230208180707224

终于好了

image-20230208180934039

再设置一个命令别名

#这样就可用直接kubectl直接操作了
alias kubectl='minikube kubectl --'
kubectl get pods -A

##简直完美
##将别名永久生效,需要执行:echo "alias kubectl='minikube kubectl --' " >>~/.bashrc

image-20230208181800519

明天继续跟着官网走,体验一下k8s的基础使用

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐