Ubuntu24.04在本地搭建 Kubernetes 开发环境:Docker、Minikube 和 kubectl 安装与配置指南

如何在本地环境中通过 Docker、Minikube 和 kubectl 构建一个 Kubernetes 集群。Kubernetes 是目前主流的容器编排平台,而 Minikube 提供了一个轻量级的本地集群环境,方便开发者和学习者进行实验和测试。

1. 安装 Docker

首先,您需要在系统中安装 Docker。运行以下命令以下载并安装 Docker:

# 安装 Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

安装完成后,将普通用户添加到 docker 用户组中,以便无需使用 sudo 来运行 Docker 命令:

# 配置普通用户加入到 docker 用户组
sudo usermod -aG docker $USER

执行以上命令后,您需要退出并重新登录才能使更改生效。

2. 安装 Minikube

Minikube 是用于在本地启动 Kubernetes 集群的工具。运行以下命令以安装 Minikube:

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

minikube version

3. 安装 kubectl

  1. 更新系统软件包列表,并安装必要的依赖:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
  1. 添加 Kubernetes 的 APT 仓库 GPG 密钥:
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg
  1. 配置 Kubernetes APT 仓库源:
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list
  1. 更新软件包列表并安装 kubectl
sudo apt-get update
sudo apt-get install -y kubectl

4. 启动 Minikube

安装完成后,启动 Minikube 集群:

minikube start --driver=docker

5. 验证安装

使用以下命令检查 Minikube 和 kubectl 的状态:

minikube status
kubectl get nodes

如果输出显示集群状态正常,Minikube 已成功启动。

6. 常用 kubectl 命令

  • 查看所有命名空间中的所有 Pod:
kubectl get pods --all-namespaces
  • 查看默认命名空间中的所有 Pod:
kubectl get pods
  • 查看服务:
kubectl get services
  • 查看集群节点:
kubectl get nodes
  • 查看所有 Deployments:
kubectl get deployments
  • 查看资源使用情况(如节点的 CPU、内存等):
kubectl top nodes
  • 删除一个 Pod:
kubectl delete pod <pod-name>
  • 启动一个新的 Pod(如运行一个 nginx 容器):
kubectl run nginx --image=nginx

7. 访问 Kubernetes Dashboard(可选)

如果您想进行可视化管理,可以访问 Kubernetes Dashboard:

minikube dashboard

8. 测试 Nginx 部署

  1. 创建一个 Nginx 部署:
kubectl create deployment nginx --image=nginx
  1. 将 Nginx 部署暴露到集群外部:
kubectl expose pod nginx --type=NodePort --name=nginx-service --port=80
  1. 查看服务的端口分配:
kubectl get services
  1. 获取 Minikube 的 IP 地址:
minikube ip
  1. 使用浏览器测试 Nginx 服务:
curl http://<IP>:<端口>

9. 临时暴露端口供其他人访问,使用 kubectl port-forward 访问 Nginx

  1. 确保 Nginx Pod 正在运行:
kubectl create deployment nginx --image=nginx
  1. 查找 Nginx Pod 的名称:
kubectl get pods -l app=nginx
  1. 使用 kubectl port-forward 进行端口转发:
kubectl port-forward --address 0.0.0.0 <pod-name> <host-port>:<container-port>

例如,将本地的 8080 端口转发到 Nginx 容器的 80 端口:

kubectl port-forward --address 0.0.0.0 nginx-5869d7778c-qdfr2 8080:80
  1. 保持终端窗口打开。
  2. 从外部访问 Nginx:
http://<IP>:8080

10. 注意事项

  • kubectl port-forward 端口转发是临时的,关闭终端窗口时会断开连接。
  • 使用 --address 0.0.0.0 将服务暴露到所有网络接口,确保在公共网络中谨慎使用。
  • Pod 故障时,需要重新执行端口转发命令。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注