使用cert-manager为Traefik IngressRoute自动签发Let’s Encrypt证书

cert-manager是一款云原生证书管理系统,能够根据Kubernetes原生Ingress对象的注释(annotation)自动为其签发合适的证书。Traefik的一些功能难以配合原生Ingress对象,而需要使用其定制的IngressRoute才能方便地使用,但我们仍然能够利用cert-manager为其自动签发证书。

本文将在自带Traefik Ingress控制器的k3s环境中,介绍如何利用cert-manager为Traefik IngressRoute对象签发Let’s Encrypt证书。

继续阅读“使用cert-manager为Traefik IngressRoute自动签发Let’s Encrypt证书”

QNAP单向同步RTRR与rsync对比

QNAP品牌NAS(Network attached storage,网络附加存储)上提供的HBS 3工具可用于在NAS之间之间同步文件。若在两台QNAP NAS之间同步文件,常用的有RTRR和rsync两种方式。其中RTRR是QNAP的专有协议,rsync则是Linux系统上一款快速、功能全面的文件复制工具。那这两种方式有什么具体区别,应当选择哪种方式来进行同步工作呢?本文将实测两种同步方式的设置选项和运行机制区别。

继续阅读“QNAP单向同步RTRR与rsync对比”

C++浮点数转换为整数的溢出问题

C++语言提供了将浮点数转换为整数的功能。但是,如果要转换的浮点数超出了整数的表示范围,会得到怎样的结果呢?这种情况在标准中是未定义行为(隐式转换 – cppreference.com)。例如,在x64架构上运行以下测试代码:

std::cout
    << static_cast<int32_t>(std::pow(2, 31))
    << std::endl;
继续阅读“C++浮点数转换为整数的溢出问题”

Windows系统Python多版本共存和便捷切换

在Windows系统上,无论是使用官方安装包还是Microsoft Store应用商店安装Python,在命令行中使用python命令都只会打开其中某一个特定版本的Python。若是同时安装了多个版本的Python并且想要启动其中的一个,则通常有些困难。若要调用某个特定版本Python的PIP包管理器来安装依赖包,则情况更为复杂。实际上,官方安装包版本和Microsoft Store应用商店版本均提供了用于区分不同Python版本的便捷方式。

继续阅读“Windows系统Python多版本共存和便捷切换”

使用APT安装Intel oneAPI的固定版本

Intel oneAPI是Intel公司的高性能异构计算工具集,包含有Intel C++编译器、Intel Fortran编译器、Intel MKL数学库等组件。要在基于APT包管理器的操作系统(如Ubuntu)上安装Intel oneAPI,可以使用Intel提供的APT源进行安装。然而,使用官方文档中列出的操作步骤安装后,安装的软件会被APT自动更新并导致潜在的兼容性问题。使用带版本号的包名可以解决这一问题。

继续阅读“使用APT安装Intel oneAPI的固定版本”