开发 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 记录 在发送邮件时,由于发件人可以任意指定,收件人无法验证发件人是否真实。SP

KubeSpray 安装 Kubernetes 报错 ip in ansible_all_ipv4_addresses
· ☕ 2 分钟
使用 KubeSpray 安装 Kubernetes 时,报错 1 2 3 4 5 6 fatal: [node0]: FAILED! => { "assertion": "ip in ansible_all_ipv4_addresses", "changed": false, "evaluated_to": false, "failed": true } 查看 inventory.ini 配置 1 2 3 4 5 6 7 cat inventory.ini # ## Configure 'ip' variable to bind kubernetes services on a # ## different ip than the default iface # ## We should set etcd_member_name for etcd cluster. The node that is not a etcd member do not need to set the value, or can set the empty string value. [all] node0 ansible_host=139.168.12.4 ip=139.168.12.4 ... 查找报错信息来源 kubespray/extra_playbooks/roles/network_plugin/calico/tasks/pre.yml 1 2 3 4 5 6 7 8 9 ---

基于 Kubernetes 和 Jenkins 搭建自动化测试系统
· ☕ 4 分钟
1. 测试分层 测试的目的是为了验证预期的功能,发现潜在的缺陷。测试增强了交付合格产品的信心,也给敏捷迭代带来了可能。可以说,测试决定了产品的开发进度。 网络模型有七层的 OSI 、四层的 TCP,而开发模式有 MTV、MVC、MVP、MVVM 等。高内聚、低耦

在 Kubernetes 上动态创建 Jenkins Slave
· ☕ 5 分钟
1. Jenkins 的工作模式 Jenkins 是一个单 Master,多 Slave 架构。Master 负责分配任务、管理服务。 Slave 负责执行具体任务。 即使部署了多个 Master,这些 Master 之间依然相互独立,无法协同调度。在高可用的 Jenkins 方案中,需要借助外部的任务分发框架,协调多 Master 之间的调度,比

使用 Jenkins 进行服务拨测
· ☕ 3 分钟
1. 为什么要拨测 对于系统中的一些关键服务,我们通常会配置监控服务。当故障发生时,能够尽快被检测到,发送通知给关注人。当故障发生后,能够有效地追溯故障过程。 拨测是监控系统中的一个重要环节,能够检测服务的网络质量,并提供实时告警。 在公有云上,云厂