Please enable Javascript to view the contents

开发 Tips(17)

 ·  ☕ 1 分钟

主要记录最近遇到的一些开发问题,解决方法。

1. 重启 Kubernetes 中的 Job 任务

1
kubectl -n {NAMESPACE} get job {JOB_NAME} -o json | jq 'del(.spec.selector)' | jq 'del(.spec.template.metadata.labels)' | kubectl replace --force -f -

如果提示没有找到 jq 命令,需要先按照 jq ,yum install -y jq

2. DNS 的 SPF 记录

在发送邮件时,由于发件人可以任意指定,收件人无法验证发件人是否真实。SPF 就是为了解决伪造发件人问题。

例如,收件方收到来自主机 IP 10.10.10.10 的邮件,声称发件人为 [email protected]。为了验证发件人信息,收件方会去查询 SPF 记录,是否允许 IP 10.10.10.10 的主机发送邮件。如果不允许,则退信或当作垃圾邮件。

相关原理和配置可以参考文档,SPF 记录:原理、语法及配置方法简介

3. 在 Docker 中运行 Java 项目问题

JVM 不知道运行在容器中,误将物理资源当做容器的可用资源,Java 10 才解决这个问题,

其他版本处理办法:

  • java5/6/7/8u131-,添加启动参数
-Xmx`cat /sys/fs/cgroup/memory/memory.limit_in_bytes`
  • java8u131+和java9+,添加启动参数
1
-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap

参考链接:容器(docker)中运行java需关注的几个小问题

4. kubebuilder 安装脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
export version=2.3.0
export os=$(go env GOOS)
export arch=$(go env GOARCH)

curl -L -O "https://github.com/kubernetes-sigs/kubebuilder/releases/download/v${version}/kubebuilder_${version}_${os}_${arch}.tar.gz"

tar -zxvf kubebuilder_${version}_${os}_${arch}.tar.gz
mv kubebuilder_${version}_${os}_${arch} /usr/local/kubebuilder

export PATH=$PATH:/usr/local/kubebuilder/bin

微信公众号
作者
微信公众号