#!/bin/bash
官网安装手册
https://minikube.sigs.k8s.io/docs/start/?arch=%2Flinux%2Fx86-64%2Fstable%2Fbinary+download
# **前置条件**:Ubuntu 22.04.5 系统
#uname -a
#Linux pengge 6.8.0-50-generic #51~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 21 12:03:03 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
# 1. 关闭 swap
echo "关闭 swap..."
sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab
# 2. 禁用防火墙(如果有必要)
echo "禁用防火墙..."
sudo ufw disable
# 3. 配置阿里云镜像源
echo "配置阿里云镜像源..."
cat <<EOL | sudo tee /etc/apt/sources.list
# 阿里云 Ubuntu 主镜像
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
# 阿里云安全更新镜像
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
# 阿里云更新镜像
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
# 阿里云提案镜像
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# 阿里云后备镜像
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
EOL
# 更新 apt 包索引
echo "更新 apt 包索引..."
sudo apt-get update
# 4. 安装依赖和 Docker 所需工具
echo "安装 Docker 和必要的依赖..."
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
# 5. 安装 cri-dockerd
echo "安装 cri-dockerd..."
# 下载 cri-dockerd 安装包
curl -LO https://github.com/kubernetes-sigs/cri-dockerd/releases/download/v0.3.16/cri-dockerd_0.3.16.3-0.debian-bookworm_amd64.deb
# 安装 cri-dockerd
sudo dpkg -i cri-dockerd_0.3.16.3-0.debian-bookworm_amd64.deb
# 启动 cri-dockerd 服务
sudo systemctl daemon-reload
sudo systemctl enable cri-dockerd
sudo systemctl start cri-dockerd
sudo systemctl status cri-dockerd
# 6. 安装 CNI 插件
echo "安装 CNI 插件..."
# 下载 CNI 插件包
curl -LO https://github.com/containernetworking/plugins/releases/download/v0.9.1/cni-plugins-linux-amd64-v0.9.1.tgz
# 解压并安装 CNI 插件
sudo mkdir -p /opt/cni/bin
sudo tar -zxvf cni-plugins-linux-amd64-v0.9.1.tgz -C /opt/cni/bin
# 7. 安装 Minikube
echo "安装 Minikube..."
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
# 8. 安装 Docker(如果没有安装过)
echo "安装 Docker..."
curl -fsSL https://get.docker.com | sudo sh
sudo systemctl enable docker
sudo systemctl start docker
# 9. 验证 Docker 是否能正常拉取镜像
echo "验证 Docker 拉取镜像..."
docker pull busybox
# 10. 配置 Docker 使用阿里云镜像加速器(可选)
echo "配置 Docker 镜像加速器..."
sudo mkdir -p /etc/systemd/system/docker.service.d
echo '[Service]
Environment="HTTP_PROXY=http://192.168.2.128:7890"
Environment="HTTPS_PROXY=http://192.168.2.128:7890"
Environment="NO_PROXY=localhost,127.0.0.1,10.0.0.0/8"' | sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf
sudo systemctl daemon-reload
sudo systemctl restart docker
# 11. 启动 Minikube(使用 Docker 驱动)
echo "启动 Minikube..."
minikube start --driver=docker --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers"
# 12. 配置 kubectl 环境
echo "配置 kubectl 环境..."
sudo mv ~/.kube ~/.minikube /home/$USER/
sudo chown -R $USER:$USER /home/$USER/.kube /home/$USER/.minikube
# 13. 下载 kubectl 并移动到系统路径
echo "安装 kubectl..."
curl -LO "https://dl.k8s.io/release/v1.31.0/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
# 14. 测试 Minikube 和 kubectl 是否正常工作
echo "验证 Minikube 和 kubectl 状态..."
minikube kubectl -- get pods -A
minikube kubectl -- get nodes
minikube kubectl -- get events -A
alias kubectl="minikube kubectl --"
kubectl get all -A
kubectl get node
# 输出 Minikube 和 kubectl 版本信息
echo "Minikube 版本:$(minikube version)"
echo "kubectl 版本:$(kubectl version --client)"
# 15. 完成安装过程
echo "所有步骤已完成。"
echo "请检查系统并验证是否一切正常。"
一分钟搞定!最简单的 Minikube 安装教程,Ubuntu 22.04.5 快速启动 Kubernetes v1.31 单节点集群
最新推荐文章于 2025-04-22 10:03:55 发布