Kubernetes 安装 minikube
安装 minikube
在 Ubuntu 上安装 minikube
minikube 是一个工具,它可以在本地快速运行一个单节点的 Kubernetes 集群。它主要用于:本地学习 Kubernetes、测试和开发 Kubernetes 应用程序、快速尝试 Kubernetes 的功能。
系统配置最低要求如下
-
CPU:2 核或以上
-
内存:2GB(2048MB)或以上
-
磁盘:约 20GB 空间
1. 安装依赖包
sudo apt update
sudo apt install -y curl wget apt-transport-https ca-certificates conntrack
2. 安装 Docker,请查看:Ubuntu安装Docker
3. 安装 kubectl,请查看:安装kubectl
4. 安装 minikube
官方 minikube 二进制下载地址:https://minikube.sigs.k8s.io/docs/start
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
可以在 win 上下载完成后,把文件上传到ubuntu系统上,也可以使用curl直接在ubuntu系统上下载
5. 拉取 kicbase
用 docker 拉取 kicbase,最新版本号在 https://github.com/kubernetes/minikube/releases 查看
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.46
把拉下来的 kicbase 镜像,重新打一个tag版本,等价于告诉 Docker:“我本地已经有这个镜像了,不用去 gcr.io 下载了”,不然会在 minikube start --driver=docker 命令时去外网下载。
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.46 gcr.io/k8s-minikube/kicbase:v0.0.46
6. 启动 minikube
方式一:使用非 root 用户运行,执行以下启动 minikube 命令(非 root 用户的创建教程请继续向下查看本文)。
minikube start --driver=docker
方式二:如果使用 root 用户运行,命令如下:
sudo minikube start --driver=docker --image-mirror-country=cn --force
安装完成。
6. 验证是否安装成功
minikube status
kubectl get nodes
部署第一个 k8s 应用之 Nginx
1. 确保你的机器上已经安装了 Docker、kubectl、minikube
2. 配置 minikube 中的 docker 的镜像加速器(注意是minikube内的docker)
进入 minikube 的 linux 中
minikube ssh
编辑 /etc/docker/daemon.json(vim 工具不存在就安装)
sudo vim /etc/docker/daemon.json
原有的内容:
{"exec-opts":["native.cgroupdriver=systemd"],"log-driver":"json-file","log-opts":{"max-size":"100m"},"storage-driver":"overlay2"}
配置加速器后的内容:
{"exec-opts":["native.cgroupdriver=systemd"],"log-driver":"json-file","log-opts":{"max-size":"100m"},"storage-driver":"overlay2","registry-mirrors":["https://docker.hpcloud.cloud","https://docker.m.daocloud.io","https://docker.unsee.tech","https://docker.1panel.live","http://mirrors.ustc.edu.cn","https://docker.chenby.cn","http://mirror.azure.cn","https://dockerpull.org","https://dockerhub.icu","https://hub.rat.dev"]}
重启 docker(还在 minikube 内)
sudo systemctl daemon-reload
sudo systemctl restart docker
退出 minikube
exit
查看 minikube 的 docker 使用的 Registry Mirrors,是不是刚配置的
minikube ssh -- docker info
查看 minikube 状态,确保显示如下
minikube status
这样就配置好了,不要重新 sudo minikube start --force,不然配置的镜像加速器会还原成默认的,如果成默认的,就重新配置一遍。
3. 创建一个 Nginx Deployment(什么是 Deployment,请查看:Kubernetes概念介绍)
创建 deployment 命令:
kubectl create deployment mynginx --image=nginx
命令解释:
- kubectl:Kubernetes 的命令行工具,用于和集群交互。
- create:动作:创建资源。
- deployment:创建的资源类型是 deployment 控制器类型
- mynginx:自定义的 Deployment 名字
- --image=nginx:1.28.0:指定 Deployment 中使用的容器镜像为 nginx(默认从 Docker Hub 拉取)。1.28.0 是指定nginx的版本号,如果不写版本号,默认使用的是
latest
标签
删除 deployment 命令:
kubectl delete deployment mynginx
4. 查看 Deployment 和 Pod 状态
kubectl get deployment
kubectl get pods
启动失败,图片如下:
启动成功,图片如下:
查看详细的错误信息,使用如下命令:
# kubectl describe pod <pod名称>
kubectl describe pod mynginx-67bdffb495-v74km
可以看到具体的错误信息如下,说是连接了 registry-1.docker.io/v2/ 地址,这时执行第2步操作,配置国内镜像加速器即可。
5. 对外暴露服务
未完待续
minikube 常用命令
集群管理
使用 docker 启动集群:minikube start --driver=docker
启动或重启 minikube :minikube start
停止 minikube(不会删除):minikube stop
删除 minikube(卸载删除干净 minikube 相关的资源):minikube delete
查看当前 Minikube 状态:minikube status
配置设置(首次运行建议设置)
设置默认 driver 为 Docker:minikube config set driver docker
设置默认内存大小为 4096MB:minikube config set memory 4096
设置默认 CPU 数量为 2:minikube config set cpus 2
镜像操作
查看本地镜像列表(v1.31+):minikube image list
加载本地镜像到 Minikube:minikube image load <image>
在 Minikube 中构建镜像:minikube image build . --tag=myapp:1.0
访问服务
在浏览器中访问 service(NodePort):minikube service <service名>
列出所有 service 及地址:minikube service list
开启 LoadBalancer 支持:minikube tunnel
查看日志与信息
查看集群组件日志:minikube logs
SSH 进入 Minikube 虚拟机:minikube ssh
启动图形管理界面(Dashboard):minikube dashboard
版本与更新
查看 minikube 版本:minikube version
检查是否有新版本:minikube update-check
测试容器运行
运行临时测试容器:minikube kubectl -- run test --image=busybox --rm -it --restart=Never -- sh
Ubuntu 创建用户
查看当前登录用户的命令:
whoami
1. 创建新用户(如 devuser)
sudo adduser devuser
系统会提示你设置密码并填写一些个人信息(可以直接回车跳过)
2. 将用户添加到 sudo 组(让用户拥有管理员权限)
sudo usermod -aG sudo devuser
移除用户的 sudo 权限
sudo deluser devuser sudo
查看用户在哪些组
groups devuser
3. 将用户添加到 docker 组(允许使用 Docker 命令)
sudo usermod -aG docker devuser
4. 切换到新用户
su - devuser