目录
前言
准备工作
第一部分:安装Docker
步骤1:卸载旧版本(如果有)
步骤2:安装依赖包
步骤3:添加Docker官方GPG密钥
步骤4:设置Docker仓库
步骤5:安装Docker引擎
步骤6:验证Docker安装
步骤7:将当前用户加入docker组(避免每次使用sudo)
第二部分:安装Minikube
步骤1:安装kubectl
步骤2:安装Minikube
步骤3:启动Minikube
步骤4:验证Minikube安装
第三部分:基本使用和测试
1. 部署一个简单的应用
2. 暴露服务
3. 获取服务URL
4. 查看集群信息
常用命令备忘
常见问题解决
1. Minikube启动时卡住
2. 拉取镜像失败
3. Docker权限问题
结论
扩展阅读
前言
在现代软件开发中,容器化和Kubernetes已经成为不可或缺的技术。本文将详细介绍如何在Ubuntu系统中安装Docker和Minikube,为本地Kubernetes开发环境搭建坚实的基础。
准备工作
在开始之前,请确保:
-
你有一台运行Ubuntu 18.04或更高版本的机器(推荐20.04 LTS或22.04 LTS)
-
拥有管理员权限(sudo权限)
-
至少2GB的可用内存(4GB或更多会更好)
-
稳定的网络连接
第一部分:安装Docker
步骤1:卸载旧版本(如果有)
sudo apt-get remove docker docker-engine docker.io containerd runc
步骤2:安装依赖包
sudo apt-get update
sudo apt-get install \ca-certificates \curl \gnupg \lsb-release
步骤3:添加Docker官方GPG密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
步骤4:设置Docker仓库
bash
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
步骤5:安装Docker引擎
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
步骤6:验证Docker安装
sudo docker run hello-world
如果看到"Hello from Docker!"的消息,说明安装成功。
步骤7:将当前用户加入docker组(避免每次使用sudo)
sudo usermod -aG docker $USER
newgrp docker # 立即生效,无需重新登录
第二部分:安装Minikube
步骤1:安装kubectl
Minikube需要kubectl来与Kubernetes集群交互。
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
验证安装:
kubectl version --client
步骤2:安装Minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
步骤3:启动Minikube
minikube start --driver=docker
这个命令会:
-
使用Docker作为驱动创建一个本地Kubernetes集群
-
下载必要的镜像
-
配置kubectl与这个集群通信
步骤4:验证Minikube安装
minikube status
kubectl get nodes
你应该看到类似这样的输出:
NAME STATUS ROLES AGE VERSION minikube Ready control-plane,master 1m v1.22.3
第三部分:基本使用和测试
1. 部署一个简单的应用
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
2. 暴露服务
kubectl expose deployment hello-minikube --type=NodePort --port=8080
3. 获取服务URL
minikube service hello-minikube --url
访问返回的URL,你应该能看到Echoserver的响应。
4. 查看集群信息
kubectl get all
常用命令备忘
-
启动Minikube:
minikube start
-
停止Minikube:
minikube stop
-
删除Minikube集群:
minikube delete
-
进入Minikube虚拟机(如果使用虚拟机驱动):
minikube ssh
-
打开Kubernetes仪表板:
minikube dashboard
-
查看Minikube状态:
minikube status
-
查看Minikube日志:
minikube logs
常见问题解决
1. Minikube启动时卡住
尝试增加内存限制:
minikube start --memory=4096 --driver=docker
2. 拉取镜像失败
可以尝试设置国内镜像源:
minikube delete
minikube start --image-mirror-country='cn' --driver=docker
3. Docker权限问题
如果遇到权限问题,确保你的用户已加入docker组:
sudo usermod -aG docker $USER
newgrp docker
结论
通过以上步骤,你已经成功在Ubuntu系统上搭建了一个完整的本地Kubernetes开发环境。这个环境非常适合:
-
学习和测试Kubernetes概念
-
开发微服务应用
-
测试容器化部署
-
CI/CD流程的本地验证
Minikube提供了几乎所有的Kuberntes功能,而无需复杂的云环境配置。结合Docker,你可以轻松地在本地构建、测试和部署容器化应用。
扩展阅读
-
Docker官方文档
-
Minikube官方文档
-
Kubernetes官方文档
希望这篇指南对你有所帮助!Happy containerizing!