K3sEP13——遇到的Traedfik问题
引子 在进行 k3s 的适配过程中,Traefik 作为系统组件镜像之一,我们最终使用了大佬构建好的镜像作为私有镜像,并没有进行深究。 恰好在昨天的一个集群测试中网络出现了问题,随着这个问题,我觉得我非常有必要去掌握 Traefik 这个组件。 ...
引子 在进行 k3s 的适配过程中,Traefik 作为系统组件镜像之一,我们最终使用了大佬构建好的镜像作为私有镜像,并没有进行深究。 恰好在昨天的一个集群测试中网络出现了问题,随着这个问题,我觉得我非常有必要去掌握 Traefik 这个组件。 ...
引子 为了更好地管理集群,我们打算使用工具监控集群, k8s 首推的是 metric-server; 在其他书籍中我看到的使用 prometheus(普罗米修斯),所以我们对二者都进行一个测试. ...
引子 继上一篇文章中我们成功迁移了 k3s 到 riscv64 上之后,我们使用另外一个 riscv 开发板作为 agent 节点进行集群化测试. 环境初始化 仍然按照 EP09 中的步骤进行环境的初始化. 执行到安装时,请按照下面的步骤进行,因为 agent 与 server 的步骤略有不同. ...
引子 在前面的一系列文章中,我们知道了要想在 riscv 开发板上适配 k3s,我们要做以下两件事 系统级别的重要镜像进行适配并可以成功拉取到开发板 执行 make 或者 download,build,package-cli 脚本 对于第一件事,已经有人做过了,我们只需要使用他做好的镜像,并将其推送到我们的私有仓库. ...
前瞻 本文为了总结在拿到一个新的开发板后具体该如何操作,包括烧录镜像,配置 k3s 所需环境等操作. 烧录镜像 关于烧录操作,无需多言,请关注这篇文章.本文主要说一下镜像问题. 在选择 OS 镜像的时候,由于 riscv 的实验性,往往在阿里云、清华源等知名镜像源并没有提供,通常是中科院自己的镜像源,而有时有些镜像并没有进行稳定的维护; 甚至有的镜像质量并不好,例如 openEuler24 LTS 竟然不提供 wifi 模块.😇 ...
引子 从 EP 07 中,我们可以看到已经有了成功的 riscv 移植工作,见此仓库. 发现其构建 riscv 采用了以下命令 # Build rm -rf bin dist build ARCH=riscv64 SKIP_IMAGE=true SKIP_VALIDATE=true SKIP_AIRGAP=true make # Split cd dist/artifacts gzip < k3s-riscv64 | split -b 20M - k3s-riscv64.gz. 在此 pull request 中他也提到了这一路上的适配工作过程:开始他是使用qemu模拟,之后在硬件上测试并适配我们之前提到过的各种镜像. ...
引子 根据前面几篇 k3s 相关的文章,我们得到了一个结论——k3s 在上的适配首先要适配几个系统镜像. 之前在 issues 中看到一位大佬为 k3s-root 提供了 riscv 的支持. 跟随他的足迹,我找到了他已经做出了的适配工作. ...
引子 接着上一篇文章,我们继续解决开发板上的k3s集群遇到的问题,回顾一下之前遇到的问题,使用命令查看当前所有 Pods。 kubectl get pods -A -o wide NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES default redis-696579c6c8-v2wns 1/1 Running 4 (4m10s ago) 7d6h 10.42.0.17 openeuler-riscv64 <none> <none> kube-system helm-install-traefik-pv4hv 0/1 ImagePullBackOff 0 14d 10.42.0.20 openeuler-riscv64 <none> <none> kube-system local-path-provisioner-7b7dc8d6f5-48jjf 0/1 ImagePullBackOff 0 14d 10.42.0.19 openeuler-riscv64 <none> <none> kube-system helm-install-traefik-crd-ktfth 0/1 ImagePullBackOff 0 14d 10.42.0.21 openeuler-riscv64 <none> <none> kube-system metrics-server-668d979685-jthzj 0/1 ImagePullBackOff 0 14d 10.42.0.22 openeuler-riscv64 <none> <none> kube-system coredns-5f8bb7cf9f-5h5kj 0/1 Running 0 11s 10.42.0.36 openeuler-riscv64 <none> <none> 可以发现在 kube-system 命名空间下的这些 Pod 还是处于 ImagePullBackOff 阶段,只有我们上次解决的 CoreDNS 是 Running, 只是还存在网络问题没有解决,所以并没有 Ready. ...
引子 解决一些目前k3s在RiscV开发板上存在的问题。 kubectl&crictl kubectl和crictl都是k3sCommandAPI中的命令,但是二者的运行结果却有所差异,我们可以从其差异中找到二者在使用上的异同。 ...
引子 继上次我们验证K3s在虚拟机上的集群部署,我们这次直接在RiscV开发板上实验部署K3s。 值得注意的是,k3s官方支持的架构里面是没有RiscV的,所以有了我们即将开展的适配工作,同时k3s的底层源码大部分都是由Golang构成,而Golang是适配RiscV的,所以我们针对RiscV的K3s移植工作是有可行性的。 ...