Ubuntu安装单节点MicroK8s

在 Ubuntu 24.04 上安装 MicroK8s 非常简单。以下是完整的安装步骤:

1. 系统准备

更新系统

bash

复制代码
sudo apt update
sudo apt upgrade -y

检查系统版本

bash

复制代码
lsb_release -a

2. 安装 MicroK8s

使用 Snap 安装(推荐方法)

bash

复制代码
sudo snap install microk8s --classic --channel=1.30

或者安装最新稳定版

bash

复制代码
sudo snap install microk8s --classic

3. 配置用户权限

将用户添加到 microk8s 组

bash

复制代码
sudo usermod -a -G microk8s $USER
sudo chown -f -R $USER ~/.kube

重新登录或刷新组权限

bash

复制代码
# 方法1:重新登录系统
logout
# 然后重新登录

# 方法2:使用 newgrp(临时生效)
newgrp microk8s

4. 等待 MicroK8s 就绪

检查状态

bash

复制代码
microk8s status --wait-ready

如果等待时间较长,可以查看详细日志

bash

复制代码
microk8s inspect

5. 配置别名(可选但推荐)

设置 kubectl 和 ctr 别名

bash

复制代码
sudo snap alias microk8s.kubectl kubectl
sudo snap alias microk8s.ctr ctr

验证别名

bash

复制代码
kubectl get nodes
kubectl get pods -A

6. 启用常用插件

启用核心插件

bash

复制代码
microk8s enable dns storage ingress dashboard hostpath-storage

或者逐个启用

bash

复制代码
microk8s enable dns                  # 内部 DNS 服务
microk8s enable storage              # 存储类
microk8s enable ingress              # 入口控制器
microk8s enable dashboard            # Web 管理界面
microk8s enable hostpath-storage     # 主机路径存储
microk8s enable registry             # 本地镜像仓库
microk8s enable metallb              # 负载均衡器

7. 验证安装

创建验证脚本

bash

复制代码
cat > check-microk8s.sh << 'EOF'
#!/bin/bash
echo "=== MicroK8s 安装验证 ==="
echo "1. 集群状态:"
microk8s status --wait-ready
echo ""

echo "2. 节点状态:"
kubectl get nodes -o wide
echo ""

echo "3. 所有命名空间的 Pod:"
kubectl get pods -A
echo ""

echo "4. 已启用的插件:"
microk8s status
echo ""

echo "5. 存储类:"
kubectl get storageclass
echo ""

echo "6. 服务状态:"
kubectl get services -A
EOF

chmod +x check-microk8s.sh
./check-microk8s.sh

8. 访问 Dashboard

获取 Dashboard Token

bash

复制代码
# 获取访问令牌
kubectl -n kube-system get secret | grep default-token
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep default-token | awk '{print $1}') | grep token:

启动代理访问 Dashboard

bash

复制代码
# 在后台启动代理
kubectl proxy --address='0.0.0.0' --accept-hosts='.*' &

# 获取服务器 IP
SERVER_IP=$(hostname -I | awk '{print $1}')

echo "Dashboard 访问地址:"
echo "http://$SERVER_IP:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/"

9. 基本使用测试

部署测试应用

bash

复制代码
# 创建测试命名空间
kubectl create namespace test

# 部署 Nginx
kubectl create deployment nginx --image=nginx:latest -n test

# 暴露服务
kubectl expose deployment nginx --port=80 --type=NodePort -n test

# 查看服务
kubectl get all -n test

10. 故障排除

如果遇到问题

检查服务状态

bash

复制代码
sudo systemctl status snap.microk8s.daemon-service
查看日志

bash

复制代码
sudo journalctl -u snap.microk8s.daemon-service -f
重置 MicroK8s(如果需要重新开始)

bash

复制代码
microk8s reset
检查端口占用

bash

复制代码
sudo netstat -tlnp | grep -E ':(8001|16443|10250|10255)'

11. 优化配置(可选)

调整资源限制

bash

复制代码
# 编辑 MicroK8s 配置
sudo nano /var/snap/microk8s/current/args/kube-apiserver

启用更多插件

bash

复制代码
# 查看所有可用插件
microk8s status

# 启用其他有用插件
microk8s enable helm3
microk8s enable rbac
microk8s enable community

12. 卸载 MicroK8s

bash

复制代码
# 完全卸载
sudo snap remove microk8s --purge

# 清理配置和数据
sudo rm -rf /var/snap/microk8s
rm -rf ~/.kube

安装完成验证

安装完成后,您应该看到类似以下输出:

text

复制代码
microk8s is running
high-availability: no
  datastore master nodes: 127.0.0.1:19001
  datastore standby nodes: none
addons:
  enabled:
    dashboard            # (core)
    dns                  # (core)
    hostpath-storage     # (core)
    ingress              # (core)
    storage              # (core)

现在您已经在 Ubuntu 24.04 上成功安装并配置了 MicroK8s,可以开始使用 Kubernetes 了!

相关推荐
xhaxy4 小时前
docker
docker·容器·eureka
上火的金鱼妹6 小时前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
一技安身6 小时前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka
鸿观工坊10 小时前
Docker 多阶段构建实践指南
docker
大牧师12 小时前
MySQL 学习教程
数据库·sql·mysql·docker·node·全栈·后端数据
MC丶科13 小时前
软考架构师90天冲刺|DAY44·Redis高级应用
数据库·数据仓库·redis·缓存·oracle·容器·规格说明书
天外天-亮14 小时前
docker + window 安装
运维·docker·容器
进击的小菜鸡dd14 小时前
docker 容器的挂载映射关系查看
运维·docker·容器
SLD_Allen14 小时前
从 HPA 到 KEDA:Kubernetes 弹性伸缩的进阶实践
云原生·容器·kubernetes
程序员老赵15 小时前
Docker 部署 TeX Live:轻松搭建 LaTeX 论文排版编译平台
前端·docker·latex