基于 microk8s 的 Kubernetes 环境搭建

主要记录一个关于主机名的深坑

环境

  • PVE 三台 ubuntu 18.04.3 server 虚拟机
  • snap

参考

步骤

坑点

安装 microk8s 前,确保主机名称不包含下划线,否则 microk8s 无法正常运行,具体表现为:

  • 启动后执行 microk8s.status 检测 microk8s 没有运行,但是执行 microk8s.inspect 后显示所有服务都在运行
  • 执行 microk8s.kubectl get all –all-namespaces 后所有 pods 都在 Pending 阶段,全部没有成功启动
  • 使用 journalctl -u snap.microk8s.daemon-kubelet 查看日志,显示一坨 node [主机名] not found

安装microk8s

  • Ubuntu 18.04 server 安装的最后一步可以直接选择安装。
  • 如果没在安装系统时选择安装 ,可以执行指令
    sudo snap install microk8s

    来安装

    • 其他发行版需要先安装 snap
    • 注意:microk8s 会检测是否存在 /etc/docker 目录,如果安装了 docker 或者卸载 docker 后没有删除配置目录,执行 microk8s.inspect 后会发出警告
  • 安装完毕后,执行指令
    microk8s.enable dns dashboard

    启动 Web GUI

  • 关于 dashboard 的访问:有些 google 搜索结果比较陈旧,往日的问题有些现在已经被修复了,所以有些解决方法不再适用或者多此一举。
    访问 dashboard 不需要打开 microk8s 的 proxy,也不需要修改任何 dashboard 的 yaml 配置文件,执行
    microk8s.kubectl cluster-info

    在 api 地址中会输出监听的端口,访问

    https://[主机IP]:[端口]/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

    会提示输入用户名密码进行认证,执行指令

    microk8s.config

    来获取账号密码

    • 如果使用 microk8s proxy 可以通过 http 访问 dashboard,不需要输入用户名密码认证

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据