MicroK8s 安装使用
2022-10-25
接上文 杀鸡就要用牛刀——K3s初探。可能用 snap 安装软件会更加安心一些吧,所以从 SUSE 家的 K3s 换成了 Canonical 家的 MicroK8s
(K3s 的一键卸载脚本真好用,一键把所有数据全删了,幸亏有之前备份,呜呜呜)
安装
snap install microk8s --classic
启用一些基本功能
microk8s 初始安装时非常干净,所以为了能够正常提供 Web 服务,我们需要开启一些 Addons
microk8s enable dns
microk8s enable hostpath-storage # 存储文件到本地硬盘
microk8s enable metallb # load balance
microk8s enable ingress # Nginx 反代
microk8s enable cert-manager # Let's Encrypted 自动证书获取
一些与标准 K8s 区别的地方
kubectl
等命令需要加上 microk8s
. 前缀,即 microk8s.kubectl
一般 kubernetes.io/ingress.class
是 nginx
,而 MicroK8s 是 public
配置 MicroK8s 访问 Github Package 私有镜像
关于新站的 DevOps 配置,参见 新评论系统
由于代码暂时没有公开,所以服务器上需要配置一下访问密钥才能拉取 Github Package 上的私有镜像:
vi /var/snap/microk8s/current/args/containerd-template.toml
# 在末尾添加
# [plugins."io.containerd.grpc.v1.cri".registry.configs."ghcr.io".auth]
# username = "hilookas"
# password = "<github personal access key here>"
snap restart microk8s # 重启后 MicroK8s 才会将 containerd-template.toml 中内容编译到 containerd.toml 生效
访问 Dashboard
输入命令还是挺麻烦的,偷个懒,用 Web 控制台,一行命令:
microk8s.dashboard-proxy
会在服务器本地 127.0.0.1:10443 上开放一个 Dashboard,并且在命令行里输出了一行 token。
推荐搭配 vscode remote 一起使用,可以直接通过点击打开 Dashboard(自带端口转发),并且还内建集成了 keepalive 功能。