目錄
前言
準備工作
第一部分:安裝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!