官网文档; https://minikube.sigs.k8s.io/docs/start/
硬件要求:
- 2 个或更多 CPU
- 2GB 可用内存
- 20GB 可用磁盘空间
- 容器或虚拟机管理器,例如:Docker、QEMU、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox或VMware Fusion/Workstation
操作系统: Centos 7.9
使用到的安装包可以从我的网盘下载:链接:https://pan.baidu.com/s/1pOcV53mAguEHInTHTrZXWg
提取码:bhgu
-
安装docker
网上有很多教程可以自行百度,或者直接使用下面的官网安装脚本
ccurl -fsSL https://get.docker.com -o get-docker.sh sudo sh ./get-docker.sh
c# 修改国内镜像仓库 mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://5ym5vu9h.mirror.aliyuncs.com"] } EOF systemctl daemon-reload systemctl enable docker --now
-
安装minikube
安装方式有很多种,这里我使用适合我发现版本的rpm进行安装
下载安装包
在服务器里面无法使用 wget 安装,可以在浏览器里面下载完上传到服务器进行安装。
https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm
安装
crpm -ivh minikube-latest.x86_64.rpm
-
安装k8s集群
默认是安装最新的稳定版本,也可以指定版本,如果使用root进行安装,必须使用 --forece,因为默认是以非root身份运行
c# 安装一个1.28版本的k8s [root@localhost ~]# minikube start --kubernetes-version=v1.28.0 --force * Centos 7.9.2009 上的 minikube v1.33.0 ! 当提供 --force 参数时,minikube 将跳过各种验证,这可能会导致意外行为 * 自动选择 docker 驱动。其他选项:none, ssh * The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force. * 如果您在VM中运行 minikube,请考虑使用 --driver=none: * https://minikube.sigs.k8s.io/docs/reference/drivers/none/ X 请求的内存分配(1819MB)小于推荐的最小值 1900MB。部署可能失败。 X 请求的内存分配 1819MiB 不足以留出系统开销的空间(总系统内存:1819MiB)。可能会遇到稳定性问题。 * 建议:Start minikube with less memory allocated: 'minikube start --memory=1819mb' * 使用具有 root 权限的 Docker 驱动程序 * Starting "minikube" primary control-plane node in "minikube" cluster * Pulling base image v0.0.43 ... * 正在下载 Kubernetes v1.28.0 的预加载文件... > index.docker.io/kicbase/sta...: 480.29 MiB / 480.29 MiB 100.00% 2.34 Mi > preloaded-images-k8s-v18-v1...: 230.30 MiB / 402.56 MiB 57.21% 1.01 MiB! minikube was unable to download gcr.io/k8s-minikube/kicbase:v0.0.43, but successfully downloaded docker.io/kicbase/stable:v0.0.43 as a fallback image > preloaded-images-k8s-v18-v1...: 402.56 MiB / 402.56 MiB 100.00% 1.03 Mi * Creating docker container (CPUs=2, Memory=1819MB) ... * 正在 Docker 26.0.1 中准备 Kubernetes v1.28.0... - 正在生成证书和密钥... - 正在启动控制平面... - 配置 RBAC 规则 ... * 配置 bridge CNI (Container Networking Interface) ... * 正在验证 Kubernetes 组件... - 正在使用镜像 gcr.io/k8s-minikube/storage-provisioner:v5 * 启用插件: default-storageclass, storage-provisioner * kubectl 未找到。如果你需要使用它,请尝试:'minikube kubectl -- get pods -A' * 完成!kubectl 现在已配置,默认使用"minikube"集群和"default"命名空间
日志:preloaded-images-k8s-v18-v1...: 230.30 MiB / 402.56 MiB 57.21% 1.01 MiB! minikube was unable to download gcr.io/k8s-minikube/kicbase:v0.0.43, but successfully downloaded docker.io/kicbase/stable:v0.0.43 as a fallback image
可以看出,minikube尝试拉取
gcr.io/k8s-minikube/kicbase:v0.0.43
,镜像但是没拉下来,就去拉取docker.io/kicbase/stable:v0.0.43
镜像了当然你也可以指定国内源,进行下载镜像:
minikube start --kubernetes-version=v1.28.0 --image-mirror-country='cn' --force
c# 查看镜像 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE kicbase/stable v0.0.43 619d67e74933 9 days ago 1.26GB
-
安装kubectl
由于我安装的是k8s 1.28的版本,所以kubectl也最好安装一样的版本
kubectl二进制下载地址: https://dl.k8s.io/release/v1.28.2/bin/linux/amd64/kubectl
c# 安装 kubectl install -m 0755 kubectl /usr/local/bin/kubectl
c[root@localhost ~]# kubectl get pod -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-6554b8b87f-96bq9 1/1 Running 0 143m kube-system etcd-minikube 1/1 Running 0 144m kube-system kube-apiserver-minikube 1/1 Running 0 144m kube-system kube-controller-manager-minikube 1/1 Running 0 144m kube-system kube-proxy-6g94c 1/1 Running 0 143m kube-system kube-scheduler-minikube 1/1 Running 0 144m kube-system storage-provisioner 1/1 Running 1 (143m ago) 143m
-
删除minikube
cminikube stop minikube delete docker stop $(docker ps -aq) rm -r ~/.kube ~/.minikube sudo rm /usr/local/bin/localkube /usr/local/bin/minikube systemctl stop '*kubelet*.mount' sudo rm -rf /etc/kubernetes/ docker system prune -af --volumes(清理docker没有使用的数据,包括镜像数据,已经停止的容器)