Maven 自定义仓库
当自己开发一个工具包,然后另一个项目要引用时,因此需要将 jar 包放到可访问的公网上:
-
Maven 官方 repo,如使用 Sonatype OSSRH,但其注册复杂,此次不进行介绍;
-
第三方公共仓库,如 JitPack, Github/Gitee等,后面进行介绍。
当自己开发一个工具包,然后另一个项目要引用时,因此需要将 jar 包放到可访问的公网上:
Maven 官方 repo,如使用 Sonatype OSSRH,但其注册复杂,此次不进行介绍;
第三方公共仓库,如 JitPack, Github/Gitee等,后面进行介绍。
MPI Operator 在执行 MPI 作业时,通过 SSH 的方式,因此需要在不同的 MPI Workers Pod间配置免密。
本文通过源码分析,探究如何在 K8s Pod 间配置免密。
在 k8s 中挂载 configmap 时,默认情况下,会以符号链接的形式存在。
在某些场景下,如 Pod 挂载 .ssh
进行免密时,由于.ssh
的特殊权限,因此不能以符号链接的形式存在,否则不能 ssh 免密。
此时,可以使用 subpath
进行挂载。
当系统与 Yarn 集成时,一般会通过 YarnClient / AdminProtocol 以及 Restful 接口等方式跟 Yarn 通信。
那么,当系统在进行单元测试时,就需要对 Yarn 进行 Mock,来验证系统的正确性。
Yarn 提供了 MiniYarnCluster 来建立内存级的集群进行测试,但其也有一些局限性。
当磁盘满负荷时,希望能够降低读写的速率,避免 HDFS 进程卡住,整个HDFS 不可用,导致 Client Socket 异常,作业失败。
当前(2023.12.18,HDFS 3.4 版本):
dfs.client.congestion.backoff.mean.time
、dfs.client.congestion.backoff.max.time
控制写入拥塞时 Client 的等待时间,用dfs.pipeline.congestion.ratio
来控制 DataNode 被判断阻塞时的跟CPU核数的比率。在 K8s 中,官方说明 ConfigMap 整体作为卷被 Pod 挂载时,会自动更新。从 ConfigMap 更新到新键映射到 Pod 的总延迟可能与 kubelet 同步周期(默认为1分钟)+ kubelet 中 ConfigMap 缓存的 TTL(默认为1分钟)一样长。
官方说明可以通过更新 Pod 的一个注解来触发立即刷新。
Helm 3的应用在升级时,会根据三路合并策略去决定如何对 Resource 进行升级。
假设某个 Helm Applicaion 定义了 ConfigMap,在安装的时候会在 K8s 创建对应资源,但是后续运维人员会根据生产环境情况去动态修改该 ConfigMap 中的内容,并且希望在 Application 升级的时候,对该 ConfigMap 不进行升级(即不能修改生产环境的配置内容),该如何配置 Helm Application 的 Charts 内容呢?
Go 中的 Atomic Values 等价于 C++ 的顺序一致性 atomics,等价于 Java 中的
volatile
变量;
在看 Go 中 sync.once
包中的源码实现时,疑问为什么要用atomic
的 load 和 store,而不能直接读取和赋值。