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 EOFchmod +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: nodatastore master nodes: 127.0.0.1:19001datastore standby nodes: none addons:enabled:dashboard # (core)dns # (core)hostpath-storage # (core)ingress # (core)storage # (core)
现在您已经在 Ubuntu 24.04 上成功安装并配置了 MicroK8s,可以开始使用 Kubernetes 了!
