作者归档:songtianlun

BWH DC99 掉线事件记录

出去一天,回来发现各个群都在说瓦工 DC99 掉线事件,看了一下监控确实掉线了一段时间。好在现在已经恢复,树大招风,可以看出瓦工的用户规模还是很大的,希望后面不要再发生类似事件。

网络监控

BWH-DC99 网络监控最近30h截图

图中可以看出确实失联了 4h 左右,以下是看到的各种报道。

相关报道

BandwagonHostOfficial

Coresite LA2 datacenter has experienced a power outage. While we have redundant power in all our racks, two DC99 nodes (2705 and 2706) have not been wired correctly when initially installed; they were fed from a single AC feed. We are currently awaiting for the datacenter power to restore. At the same time, we are reaching our to our team in Los Angeles to correct the power wiring.


Coresite LA2数据中心经历了一次停电。尽管我们所有机柜都配备了冗余电源,但两个DC99节点(2705和2706)在最初安装时未正确布线,它们仅连接到单一的交流电源。我们目前正在等待数据中心恢复供电,同时也正在联系我们位于洛杉矶的团队以纠正电源布线问题。

References: https://t.me/BWHOfficial/44409

VPS信号旗播报

搬瓦工 DC99 断电致使 Minibox 服务中断4小时

搬瓦工 Minibox 所在的DC99机房今天下午17时许遭遇断电事故。持续了约4个小时。

该运营商在官方TG群组中表示,DC99故障是由于 Coresite LA2数据中心断电引起的,由于两个DC99节点(2705和2706)在最初安装时未正确布线,致使冗余电源未能发挥作用。本次故障没有在服状态站点中显示。

服务恢复后,部分用户表示他们的控制面板显示机器处于DC9机房而非此前的DC99机房。而DC9是一个完全的CN2GIA机房。搬瓦工未解释这一现象。

[消息等级 Level C2 · 简要]

References: https://t.me/vps_xhq/679

CubeCloud News

同机房的其他厂家对此次事故的反应:

我们洛杉矶可用区所在的CoreSite(LA2)数据中心经历了一次4小时42分钟的大规模电力故障,得益于所有设备均接入进行了双电冗余,由备用电源支持,本次电力故障未对服务产生任何影响,目前主备电力均已恢复供应。

References: https://t.me/CubeCloudNews/517

🥳靠谱VPS推荐(默认带aff) – VPS仓/古博

瓦工机房停电 主要影响了DC99 也就是Minibox套餐

他家官方状态页面竟然没报警

Coresite LA2 datacenter has experienced a power outage. While we have redundant power in all our racks, two DC99 nodes (2705 and 2706) have not been wired correctly when initially installed; they were fed from a single AC feed. We are currently awaiting for the datacenter power to restore. At the same time, we are reaching our to our team in Los Angeles to correct the power wiring.


Coresite LA2数据中心经历了一次停电。尽管我们所有机柜都配备了冗余电源,但两个DC99节点(2705和2706)在最初安装时未正确布线,它们仅连接到单一的交流电源。我们目前正在等待数据中心恢复供电,同时也正在联系我们位于洛杉矶的团队以纠正电源布线问题。

消息源: https://t.me/BandwagonHostGroup/2167432

References: https://t.me/vpscang/7571

常用在线网络测试工具的对比矩阵

常用网络测试工具的对比矩阵:

工具网站 PING TCPing MTR DNS HTTP(S) 端口扫描 路由追踪 IP 查询 多节点 SSL证书 IPv6 API 特色功能
ping.pe 全球节点,命令行风格
ping.chinaz.com 国内节点覆盖全,历史记录
itdog.cn 界面友好,检测报告详细
17ce.com 性能监控,故障分析
ipip.net IP地理位置,AS信息
tool.lu 工具集合,便捷使用
boce.com 网站监控,性能分析
ping.eu 欧洲节点为主
zhale.me 全球1000+网络拨测节点,模拟用户访问域名/IP,实用小工具,运维必备
ping.sx
tance.cc
cesu.net

功能说明:

  • PING: 基础连通性测试
  • MTR: 路由跟踪和丢包分析
  • DNS: DNS解析测试
  • HTTP(S): 网站可访问性测试
  • 端口扫描: 检测指定端口开放状态
  • 路由追踪: 显示数据包经过的路由
  • 多节点: 支持多地区测试点
  • SSL证书: SSL证书检测
  • IPv6: IPv6支持
  • API: 提供API接口

ChangeLog

RockLinux 安装 Docker

Docker Engine 可以在 Rocky Linux 服务器上运行原生 Docker 风格的容器工作负载。在运行完整的 Docker Desktop 环境时,有时会首选这种方式。

添加 Docker 仓库

使用 dnf 工具将 Docker 仓库添加到你的 Rocky Linux 服务器。输入:

sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

安装所需的软件包

通过运行以下命令安装最新版本的 Docker Engine、containerd 和 Docker Compose:

sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin

启动并启用 Docker (dockerd)

使用 systemctl 配置 Docker 在重启时自动启动,并同时立即启动它。输入:

sudo systemctl --now enable docker

可选:允许非 root 用户管理 docker

将非 root 用户添加到 docker 组,以允许用户无需 sudo 即可管理 docker

这是一个可选步骤,但如果你是系统的主要用户,或者想允许多个用户管理 docker 但不想授予他们 sudo 权限,这会很方便。

输入:

# 添加当前用户
sudo usermod -a -G docker $(whoami)

# 添加特定用户
sudo usermod -a -G docker custom-user

要使新组生效,你必须注销并重新登录。使用 id 命令验证组是否已添加。

注释

docker-ce               : 此软件包提供用于构建和运行 docker 容器的底层技术 (dockerd)
docker-ce-cli          : 提供命令行界面 (CLI) 客户端 docker 工具 (docker)
containerd.io          : 提供容器运行时 (runc)
docker-compose-plugin  : 提供 'docker compose' 子命令的插件

References

常用公共 DNS 服务器

汇总表格

名称 IPv4 IPv6
DNSPod 119.29.29.29 2402:4e00::
AliDNS 223.5.5.5 223.6.6.6 2400:3200::1 2400:3200:baba::1
BaiduDNS 180.76.76.76 2400:da00::6666
360DNS 101.226.4.6 218.30.118.6 123.125.81.6 140.207.198.6
114DNS 114.114.114.114 114.114.115.115
ChinaDNS 1.2.4.8 210.2.4.8 2001:dc7:1000::1
OneDNS 117.50.11.11 117.50.22.22
Hi!XNS DNS 40.73.101.101
TWNIC DNS 101.101.101.101 101.102.103.104 2001:de4::101 2001:de4::102

国内知名公共 DNS 服务器

腾讯 DNS (DNSPod)

由 DNSPod 提供的公共免费 DNS,后来 DNSPod 被腾讯(Tencent)收购,现在属于腾讯公司所有,稳定性和连通性也是不错的,经测试海外也可以使用。 DNSPod 除了 IPv4,现在同时支持 IPv6 DNS 和 DoT/DoH 服务。

类型 地址
IPv4 119.29.29.29
IPv6 2402:4e00::
DoH https://doh.pub/dns-query
DoH (国密 SM2) https://sm2.doh.pub/dns-query
DoT dot.pub

阿里 DNS (Alidns)

这组 DNS 是由阿里巴巴提供的,国内连通性还是不错的,海外部分地区连通性不是特别好,具体可以测试一下。 阿里 DNS 同时提供了 IPv4/IPv6 DNS 和 DoT/DoH 服务。

类型 地址
IPv4 223.5.5.5 223.6.6.6
IPv6 2400:3200::1 2400:3200:baba::1
DoH https://dns.alidns.com/dns-query
DoT dns.alidns.com

百度 DNS

中国最大的搜索引擎百度提供的公共 DNS,经测试海外连通性也是不错的,暂时百度只提供了一组 IPv4 和 IPv6 DNS 地址。

类型 地址
IPv4 180.76.76.76
IPv6 2400:da00::6666

360 安全 DNS

360 提供的 DNS 服务,只提供了 IPv4 和 DoT/DoH 服务。

针对中国电信/铁通/移动的 IPv4:

类型 地址
IPv4(电信/铁通/移动) 101.226.4.6 218.30.118.6
IPv4(联通) 123.125.81.6 140.207.198.6
DoH https://doh.360.cn
DoT dot.360.cn

国内运营商

类型 地址
安徽电信IPv4 61.132.163.68 202.102.213.68
北京电信IPv4 219.141.136.10 219.141.140.10
重庆电信IPv4 61.128.192.68 61.128.128.68
福建电信IPv4 218.85.152.99 218.85.157.99
甘肃电信IPv4 202.100.64.68 61.178.0.93
广东电信IPv4 202.96.128.86 202.96.128.166
202.96.134.133 202.96.128.68
广西电信IPv4 202.103.225.68 202.103.224.68
贵州电信IPv4 202.98.192.67 202.98.198.167
河南电信IPv4 222.88.88.88 222.85.85.85
黑龙江电信IPv4 219.147.198.230 219.147.198.242
湖北电信IPv4 202.103.24.68 202.103.0.68
湖南电信IPv4 222.246.129.80 59.51.78.211
江苏电信IPv4 218.2.2.2 218.4.4.4
61.147.37.1 218.2.135.1
江西电信IPv4 202.101.224.69 202.101.226.68
内蒙古电信IPv4 219.148.162.31 222.74.39.50
山东电信IPv4 219.146.1.66 219.147.1.66
陕西电信IPv4 218.30.19.40 61.134.1.4
上海电信IPv4 202.96.209.133 116.228.111.118
202.96.209.5 180.168.255.118
四川电信IPv4 61.139.2.69 218.6.200.139
天津电信IPv4 219.150.32.132 219.146.0.132
云南电信IPv4 222.172.200.68 61.166.150.123
浙江电信IPv4 202.101.172.35 61.153.177.196
61.153.81.75 60.191.244.5
北京联通IPv4 123.123.123.123 123.123.123.124
202.106.0.20 202.106.195.68
重庆联通IPv4 221.5.203.98 221.7.92.98
广东联通IPv4 210.21.196.6 221.5.88.88
河北联通IPv4 202.99.160.68 202.99.166.4
河南联通IPv4 202.102.224.68 202.102.227.68
黑龙江联通IPv4 202.97.224.69 202.97.224.68
吉林联通IPv4 202.98.0.68 202.98.5.68
江苏联通IPv4 221.6.4.66 221.6.4.67
内蒙古联通IPv4 202.99.224.68 202.99.224.8
山东联通IPv4 202.102.128.68 202.102.152.3
202.102.134.68 202.102.154.3
山西联通IPv4 202.99.192.66 202.99.192.68
陕西联通IPv4 221.11.1.67 221.11.1.68
上海联通IPv4 210.22.70.3 210.22.84.3
四川联通IPv4 119.6.6.6 124.161.87.155
天津联通IPv4 202.99.104.68 202.99.96.68
浙江联通IPv4 221.12.1.227 221.12.33.227
辽宁联通IPv4 202.96.69.38 202.96.64.68
江苏移动IPv4 221.131.143.69 112.4.0.55
安徽移动IPv4 211.138.180.2 211.138.180.3
山东移动IPv4 218.201.96.130 211.137.191.26
IPv6(电信) 240e:4c:4008::1 240e:4c:4808::1
IPv6(联通) 2408:8899::8 2408:8888::8
IPv6(移动) 2409:8088::a 2409:8088::b

114DNS

类型 地址
IPv4 114.114.114.114 114.114.115.115

CNNIC DNS

类型 地址
IPv4 1.2.4.8 210.2.4.8
IPv6 2001:dc7:1000::1

Yeti DNS

Yeti IPv6 Project 是由WIDE、TISF 和 BII 发起的一个只针对 IPv6 的互联网公益 DNS 项目,现阶段主要以 IPv6 服务为主。各公司、学校、组织都可以加入这个项目提供 DNS 服务。

类型 地址
IPv6(北京互联网研究所) 240c:f:1:22::6 240C::6666 240C::6644
南京 240e:eb:8001:e01::53
成都 240e:d9:c200:14c:7472::19e0
广州 2408:8756:f5f:4::6

OneDNS

北京微步在线科技有限公司提供的 DNS 服务,不太了解到底怎么样,大家可以试试看。

类型 地址
IPv4 117.50.11.11 117.50.22.22
纯净版 117.50.10.10/52.80.52.52

Hi!XNS DNS 服务器

嘉兴艾泰德信息技术有限公司提供的 DNS 服务,之前也没有了解过。

类型 地址
IPv4 40.73.101.101

TWNIC DNS Quad 101

类型 地址
IPv4 101.101.101.101 101.102.103.104
IPv6 2001:de4::101 2001:de4::102

国内教育网 DNS 服务器

大学的DNS

类型 地址
北京邮电大学 IPv6 2001:da8:202:10::36 2001:da8:202:10::37
上海交通大学 IPv6 DNS 服务器 2001:da8:8000:1:202:120:2:100 2001:da8:8000:1:202:120:2:101
北京科技大学 2001:da8:208:10::6
中国科技网 2001:cc0:2fff:2::6

Yeti DNS Project 注册的 IPv6 DNS 服务器

类型 地址
中科院网络信息中心 2001:cc0:2fff:1::6666
北京交通大学 2001:da8:205:2060::188
清华大学 2001:da8:ff:305:20c:29ff:fe1f:a92a

清华大学 TUNA 协会 DNS 服务器

据说已经停止对校外用户解析,未验证,可以自己试试看。

类型 地址
IPv4 101.6.6.6
IPv6 2001:da8::666

海外知名公共 DNS 服务器

Google Public DNS

Google 提供的公共免费 DNS,应该是最流行的 公共 DNS 了,不过国内可能无法正常使用,同时提供 IPv4/IPv6/DoT/DoH 服务。

类型 地址
IPv4 8.8.8.8 8.8.4.4
IPv6 2001:4860:4860::8888 2001:4860:4860::8844
DoH https://dns.google/dns-query
DoH(IPv6) https://dns64.dns.google/dns-query
DoT dns.google

Cloudflare DNS

Cloudflare DNS 是 Cloudflare 与 APNIC 联合推出的号称全球最快的 DNS 服务。APNIC 是一个管理亚太与大洋洲地区 IP 地址分配的非盈利性组织,1.1.1.1 归 APNIC 所有,现在交给 Cloudflare 来提供 DNS 服务,同时提供 IPv4/IPv6/DoT/DoH 服务。

类型 地址
IPv4 1.1.1.1 1.0.0.1
IPv6 2606:4700:4700::1111 2606:4700:4700::1001
DoH https://cloudflare-dns.com/dns-query
https://1.1.1.1/dns-query
https://1.0.0.1/dns-query
DoH(IPv6) https://dns64.dns.google/dns-query
DoT 1dot1dot1dot1.cloudflare-dns.com one.one.one.one

Quad9 DNS

IBM 发起的 Quad9 提供的公共免费 DNS 服务,同时包含 IPv4/IPv6/DoT/DoH.

类型 地址
IPv4 9.9.9.9 149.112.112.112
IPv6 2620:fe::fe 2620:fe::9
DoH https://dns.quad9.net/dns-query
DoT dns.quad9.net

DNS.SB

德国的一个公共 DNS 服务商 提供的 DNS 服务器,除了德国之外,还在荷兰/英国/爱沙尼亚/俄罗斯/美国/加拿大/日本/新加坡/印度/韩国/香港/澳大利亚等很多国家和地区有服务器,同时提供 IPv4/IPv6/DoT/DoH 服务。

类型 地址
IPv4 45.11.45.11
IPv6 2a09:: 2a11::
DoH https://doh.dns.sb/dns-query https://doh.sb/dns-query
DoT dot.sb

OpenDNS

OpenDNS 是由美国老牌通信设备商 Cisco 思科 提供的公共 DNS 服务,其中基础版和家庭版提供免费的 IPv4/IPv6/DoH 服务。

类型 地址
IPv4 208.67.222.222 208.67.220.220 208.67.222.220 208.67.220.222
IPv6 2620:119:35::35 2620:119:53::53
DoH https://doh.opendns.com/dns-query

OpenDNS FamilyShield

(OpenDNS 家庭盾版 DNS,应该是有安全+防成人内容的功能)

类型 地址
IPv4 208.67.222.123 208.67.220.123
IPv6 2620:119:35::123 2620:119:53::123
DoH https://doh.familyshield.opendns.com/dns-query

Yandex DNS

Yandex DNS 是俄国最大的搜索引擎 Yandex 提供的 DNS 服务,提供基础版/安全版/家庭版三个版本的 IPv4/IPv6 服务。

  • 基础版(快速可靠)

  • 安全版(病毒和钓鱼防御)

  • 家庭版(拦截成人内容)

类型 地址
基础版IPv4 77.88.8.8 77.88.8.1
基础版IPv6 2a02:6b8::feed:0ff 2a02:6b8:0:1::feed:0ff
安全版IPv4 77.88.8.88 77.88.8.2
安全版IPv6 2a02:6b8::feed:bad 2a02:6b8:0:1::feed:bad
家庭版IPv4 77.88.8.7 77.88.8.3
家庭版IPv6 2a02:6b8::feed:a11 2a02:6b8:0:1::feed:a11

COMODO SecureDNS

COMODO 是美国知名的 IT 安全服务商,这个 DNS 是由 COMODO 提供的安全 DNS.

类型 地址
IPv4 8.26.56.26 8.20.247.20

Neustar UltraDNS

Neustar UltraDNS 是美国信息服务公司 Neustar 提供的公共免费 DNS 服务.

  • 基础版(快速可靠)
  • 安全版(病毒和钓鱼防御)
  • 家庭版(拦截成人内容)
类型 地址
基础版IPv4 64.6.64.6 64.6.65.6
基础版IPv6 2620:74:1b::1:1 2620:74:1c::2:2
安全版IPv4 156.154.70.2 156.154.71.2
安全版IPv6 2610:a1:1018::2 2610:a1:1019::2
家庭版IPv4 156.154.70.3 156.154.71.3
家庭版IPv6 2610:a1:1018::3 2610:a1:1019::3

Level 3 Parent DNS

美国 Level 3 Parent 公司 提供的 DNS 服务器,如果 Windows 升级出现问题,可以使用这个 DNS 服务器。

类型 地址
IPv4 4.2.2.1 4.2.2.2 4.2.2.3 4.2.2.4 4.2.2.5 4.2.2.6

References

ArchLinux 图片压缩工具

在 Arch Linux 下有几个优秀的 PNG 图片压缩工具:

  1. OptiPNG
    
    # 安装
    sudo pacman -S optipng

使用示例

optipng -o5 image.png # o5 表示优化级别,范围是 0-7 c“`

  1. pngquant
    
    # 安装
    sudo pacman -S pngquant

使用示例

pngquant –quality=65-80 image.png # 设置质量范围在65-80之间


3. **Trimage**
- 这是一个带 GUI 界面的工具,可以同时压缩 PNG 和 JPEG
```bash
# 安装(从 AUR)
yay -S trimage
  1. oxipng
    
    # 安装(从 AUR)
    yay -S oxipng

使用示例

oxipng -o 4 image.png # o4 表示优化级别,范围是 0-6


个人推荐:
- 如果喜欢命令行,推荐使用 **optipng** 或 **pngquant**
  - optipng 无损压缩,但压缩率相对较低
  - pngquant 有损压缩,但压缩率高,且视觉效果通常很好
- 如果需要 GUI 界面,可以使用 **Trimage**

所有这些工具都可以通过 pacman 或 AUR 轻松安装。你也可以将它们结合使用,以获得最佳的压缩效果。

## OptiPNG

```bash
$ optipng -o5 10ti5a3.png 
** Processing: 10ti5a3.png
2345x1243 pixels, 4x8 bits/pixel, RGB+alpha
Reducing image to 3x8 bits/pixel, RGB
Input IDAT size = 2715319 bytes
Input file size = 2719369 bytes

Trying:
  zc = 9  zm = 9  zs = 0  f = 1         IDAT size = 2669468
  zc = 9  zm = 8  zs = 0  f = 1         IDAT size = 2664950
  zc = 9  zm = 9  zs = 1  f = 1         IDAT size = 2636506
  zc = 9  zm = 8  zs = 1  f = 1         IDAT size = 2634703
  zc = 9  zm = 9  zs = 0  f = 2         IDAT size = 2460587
  zc = 9  zm = 8  zs = 0  f = 2         IDAT size = 2454191
  zc = 9  zm = 9  zs = 0  f = 4         IDAT size = 2337037
  zc = 9  zm = 8  zs = 0  f = 4         IDAT size = 2332616
  zc = 9  zm = 9  zs = 1  f = 4         IDAT size = 2294549
  zc = 9  zm = 8  zs = 1  f = 4         IDAT size = 2289899
  zc = 9  zm = 9  zs = 3  f = 4         IDAT size = 2279697

Selecting parameters:
  zc = 9  zm = 9  zs = 3  f = 4         IDAT size = 2279697

Output IDAT size = 2279697 bytes (435622 bytes decrease)
Output file size = 2279775 bytes (439594 bytes = 16.17% decrease)

# optipng 会覆盖原始文件,这里仅展示大小对比
$ ls -lha 10ti5a3*
-rw-r--r-- 1 songtianlun songtianlun 2.2M 11月22日 09:46 10ti5a3-c.png
-rw-r--r-- 1 songtianlun songtianlun 2.6M 11月22日 09:46 10ti5a3.png

pngquant

$ pngquant --quality=65-80 10ti5a3.png
$ ls -lha 10ti5a3*
-rw-r--r-- 1 songtianlun songtianlun 2.2M 11月22日 09:46 10ti5a3-c.png
-rw-r--r-- 1 songtianlun songtianlun 987K 11月22日 09:50 10ti5a3-fs8.png
-rw-r--r-- 1 songtianlun songtianlun 2.6M 11月22日 09:46 10ti5a3.png

Trimage

Trimage 软件截图

效果类似 OptiPNG,灵活性不及,好在有 GUI,按需选择。

除此之外还有类似 tinypng 在线方案,也很好用。

#ArchLinux #GNU_Linux

K8s 第一个容器及服务 whoami

示例资源清单

示例部署资源清单:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: whoami-deploy
spec:
  replicas: 1
  selector:
    matchLabels:
      app: whoami
      release: canary
  template:
    metadata:
      labels:
        app: whoami
        release: canary
    spec:
      containers:
      - name: whoami
        image: traefik/whoami:v1.10
        ports:
        - name: http
          containerPort: 80

---
apiVersion: v1
kind: Service
metadata:
  name: whoami
spec:
  type: NodePort
  selector:
    app: whoami
    release: canary
  ports:
  - name: http
    port: 80
    targetPort: 80 # pod port
    nodePort: 30080

部署:

kubectl apply -f xxx.yaml

关键参数说明

我来为您解释这个 Kubernetes 配置文件中的关键参数:

Deployment 部分

apiVersion: apps/v1  # K8s API 版本
kind: Deployment     # 资源类型为 Deployment

metadata:

  • name: whoami-deploy – Deployment 的名称

spec:

  • replicas: 1 – 指定要运行的 Pod 副本数量
  • selector – 用于选择要管理哪些 Pod
    • matchLabels – Pod 必须包含这些标签才会被该 Deployment 管理
      • app: whoami
      • release: canary

template: – Pod 的模板定义

  • metadata/labels – 为创建的 Pod 添加标签
  • containers – 容器配置
    • image: traefik/whoami:v1.10 – 使用的容器镜像
    • containerPort: 80 – 容器内部暴露的端口

Service 部分

kind: Service       # 资源类型为 Service
type: NodePort      # Service 类型为 NodePort,允许从集群外访问

selector: – 选择要暴露哪些 Pod

  • 与 Deployment 中的标签对应:
    • app: whoami
    • release: canary

ports:

  • port: 80 – Service 的端口
  • targetPort: 80 – Pod 的目标端口
  • nodePort: 30080 – 节点上暴露的端口(可以通过 :30080 访问)

重要概念说明:

  1. 这是一个完整的应用部署配置,包含了 Deployment(管理 Pod)和 Service(暴露服务)两部分

  2. 标签(Labels)在这里起到了关键作用:

    • Deployment 使用标签选择器来管理 Pod
    • Service 使用相同的标签来确定要暴露哪些 Pod
  3. 端口映射关系:

    • 容器端口 80
    • Service 端口 80
    • 节点端口 30080(外部访问端口)
  4. NodePort 类型的 Service 允许从集群外部访问服务,端口范围通常在 30000-32767 之间

kuboard v3 快速部署

Kuboard 官网给的 k8s 单节点快速部署似乎不太好用,直接用 docker 的翻译了一份,用于快速部署。

---
apiVersion: v1
kind: Namespace
metadata:
  name: kuboard
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kuboard
  namespace: kuboard
spec:
  replicas: 1
  selector:
    matchLabels:
      app: kuboard
  template:
    metadata:
      labels:
        app: kuboard
    spec:
      containers:
      - name: kuboard
        image: eipwork/kuboard:v3
        ports:
        - containerPort: 80
          name: http
        - containerPort: 10081
          name: agent
        env:
        - name: KUBOARD_ENDPOINT
          value: "http://192.168.26.133:30080"  # 请替换为您的实际内网 IP
        - name: KUBOARD_AGENT_SERVER_TCP_PORT
          value: "10081"
        volumeMounts:
        - name: data
          mountPath: /data
      volumes:
      - name: data
        hostPath:
          path: /etc/kuboard/data
          type: DirectoryOrCreate
---
apiVersion: v1
kind: Service
metadata:
  name: kuboard-svc
  namespace: kuboard
spec:
  selector:
    app: kuboard
  ports:
  - name: http
    port: 80
    targetPort: 80
    nodePort: 30080
  - name: agent
    port: 10081
    targetPort: 10081
  type: NodePort

Kubard 官网:https://kuboard.cn/

#Kubernetes

Ubuntu 22.04设置DNS

DNS域名系统是网络基础架构的核心部分,提供了一种将域名转换为IP地址的方法。

您可以将DNS视为互联网的电话簿。注意这篇文章不是在Ubuntu 22.04配置自己的DNS服务器。而是给客户端配置DNS的IP地址。

连接到Internet的每个设备均由其IP地址作为唯一标识。当您在浏览器中键入要访问的网站时,其域名必须转换为相应的IP地址。

什么是 DNS与DNS工作方式

操作系统首先检查其hosts文w件中是否存在相应的域,如果域名中不存在hosts文件,它将查询配置的DNS域名服务器以解析指定的域名。

域名解析后,系统将缓存请求并保留域名和相应IP地址的记录。DNS域名服务器为其他设备执行DNS解释的服务器。

通常,DNS服务器地址由您的ISP分配。但是,这些DNS服务器可能运行缓慢或未定期更新,这可能会导致在查询域名时解析为错误的IP地址。

或者出现延迟,有时您可能根本无法解析所需的域名的IP地址。有很多免费的公共DNS服务器。

这些DNS域名服务器快速,并定期更新。这是一些最受欢迎的公共DNS服务器。Google(8.8.8.88.8.4.4),Cloudflare(1.1.1.11.0.0.1)。

OpenDNS(208.67.222.222208.67.220.220),Level3(209.244.0.3209.244.0.4)。

如果要为连接到本地网络的所有设备设置DNS域名服务器,那么最简单和建议的方法是在家庭路由器进行更改。

Ubuntu 22.04 查看 DNS

在Linux 查看正在使用DNS服务器IP地址方法有很多,可以使用dig命令或者查看systemd-resolve服务的状态。

systemd-resolve -status命令打印很多信息。但我们可以使用grep命令来过滤DNS Servers字符串。

对于dig命令,如果只需要查看当前使用DNS地址,请运行命令dig myfreax.com | grep SERVER

dig myfreax.com | grep SERVER 
sudo systemd-resolve --status | grep 'DNS Servers' -A2

dig myfreax.com | grep SERVER
;; SERVER: 8.8.8.8#53(8.8.8.8)

sudo systemd-resolve --status | grep 'DNS Servers' -A2
         DNS Servers: 1.1.1.1
                      1.0.0.1

sudo systemd-resolve –status | grep ‘DNS Servers’ -A2

Ubuntu 22.04 桌面设置DNS

在Ubuntu 22.04桌面环境设置DNS地址非常简单,不需要任何技术知识。首先打开设置窗口。

如果您连接到WiFi网络,请单击Wi-FI标签。否则,如果您有有线连接,请单击网络选项卡。

选择要为其设置DNS的连接,然后单击齿轮图标以打开网络管理器。选择IPv4设置选项卡。

禁用自动切换开关,然后输入DNS服务器的IP地址,以逗号分隔。我们将使用Google DNS服务器。

Ubunut 22.04 设置 DNS地址

点击应用按钮以保存更改。更改立即生效,除非您的系统或应用程序缓存了DNS记录。

如果要切换回原来的设置,请打开网络管理器,转到IPv4设置并启用自动切换开关。

Ubuntu 22.04 服务器设置DNS

过去,每当您想在Linux中配置DNS地址时,只需打开/etc/resolv.conf文件,编辑记录,保存文件就可以。

现在/etc/resolv.conf文件仍然存在,但它是由systemd-resolved服务控制的符号链接,不应手动对其进行编辑。

systemd-resolved是为本地服务和应用程序提供DNS名称解析的服务,可以使用Netplan进行配置,Netplan是Ubuntu 22.04的默认网络管理工具。

Netplan配置文件存储在/etc/netplan目录。您可能会在此目录中找到一个或两个YAML文件。

各个安装程序的文件名可能不同。通常,该文件名为01-netcfg.yaml50-cloud-init.yaml,但在您的系统中,可能会有所不同。

这些文件使您可以配置网络接口,我们通常称为网卡,包括IP地址,网关,DNS域名服务器等。

要设置DNS,请使用你喜欢的文本编辑器编辑文件,在本教程中我们将使用vim编辑文件

sudo vim /etc/netplan/01-network-manager-all.yaml

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens3:
      dhcp4: true
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

注意,你必须修改本教程中接口名称ens3为你的计算机接口名称。然后使用您的首选DNS更改nameservers的IP地址。

例如如果您想使用Cloudflare的DNS服务器,则可以将nameservers的addresses行更改为。

DNS服务器IP地址必须用逗号分隔,如果该nameservers字段不存在,请将nameservers添加到接口名称字段下。

      nameservers:
          addresses: [1.1.1.1, 1.0.0.1]

编辑Yaml文件时,请确保您遵循YAML代码缩进标准。如果配置中存在语法错误,Netplan将无法解析该文件。完成后,保存文件并退出vim

然后运行命令sudo netplan apply应用更改。Netplan将为systemd-resolved的服务生成配置文件/run/systemd/resolve/resolv.conf。

此外,还有一些应用程序依然使用/etc/resolv.conf的配置文件的DNS地址进行域名的解释,因此你还需要修改/etc/resolv.conf文件。

要修改此文件我们只需要将/run/systemd/resolve/resolv.conf软链接到/etc/resolv.con即可。

运行命令sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

sudo netplan apply
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Ubuntu 22.04 验证DNS设置

要验证是否正确设置DNS地址,请运行命令systemd-resolve --status | grep 'DNS Servers' -A2或者命令dig www.myfreax.com

systemd-resolve -status命令打印很多信息。我们使用grep命令来过滤DNS Servers字符串。

sudo systemd-resolve --status | grep 'DNS Servers' -A2
         DNS Servers: 1.1.1.1
                      1.0.0.1

这里需要注意的是,如果你的Ubuntu 22.04带有桌面环境,请一定使用桌面环境的网络设置来修改DNS的IP地址。

如果你想使用命令的方式修改DNS地址,可能会不如你所愿。当你在终端运行命令dig www.myfreax.com的时候。

你将会在dig命令的结果看到应答的服务器永远是;; SERVER: 127.0.0.1#53(127.0.0.1)或者是你的网关地址;; SERVER: 192.168.1.1#53(192.168.1.1)。

dig www.myfreax.com
; <<>> DiG 9.16.1-Ubuntu <<>> www.myfreax.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 451
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.myfreax.com.       IN  A

;; ANSWER SECTION:
www.myfreax.com.    300 IN  A   43.457.68.101

;; Query time: 119 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Dec 01 19:14:33 HKT 2022
;; MSG SIZE  rcvd: 60

结论

Netplan是Ubuntu 22.04的默认网络管理工具,替代之前的Ubuntu版本中用于配置网络的/etc/resolv.conf/etc/network/interfaces配置文件。

#GNU_Linux #Ubunt #Dig #DNS

References

Obsidian 多设备同步方案整理

同步方案大致有下面这几种:

  • obsidian-livesync(插件):自托管在线同步,支持实时同步,社区活跃,使用自建 CouchDB 数据库存放数据;
  • remotely-save(插件):支持S3 (Amazon S3/Cloudflare R2/Backblaze B2/…)、Dropbox、webdav (NextCloud/InfiniCLOUD/Synology/…)、OneDrive 等数据源。
  • obsidian git(插件):集成 git,主要是 git 做版本管理的,用起来不是很方便。
  • obsidian-sync(官方同步):官方方案,无需多言,每月4$。

对比表格

claude 对以上方案的对比如下表:

特性 官方同步 LiveSync Remotely Save Git
价格 $4/月 免费 免费 免费
配置难度 简单 较复杂 中等 复杂
实时同步 × ×
版本历史 ×
端到端加密 × ×
选择性同步 ×
移动端支持 完善 一般 一般 较差
稳定性
技术要求
自建服务器 × ×
冲突处理 自动 自动 手动 手动

注:

  • ✓ 表示支持
  • × 表示不支持
  • 评价标准为:高/中/低 或 完善/一般/较差

Claude 3.5 Sonnet 回答,大部分正确,供参考。

obsidian-livesync 方案

我目前在使用 obsidian-livesync ,因为可以自托管,无需支付 S3 的按量费用,用起来速度也很不错,约 4k 条笔记约1min上下。配置一次后生成 url,在其他设备只需 安装 obsidian、安装 obsidian-livesync 插件、再填写 url 即可,很方便。

实时同步体验也很好。

建议按照官方文档一步一步进行即可。

以下贴出我部署用到的 compose.yaml 供参考,注意替换其中的密码

version: '3.8'

services:
  couchdb:
    image: couchdb:3.4.2
    container_name: couchdb-for-ols
    environment:
      - COUCHDB_USER=admin
      - COUCHDB_PASSWORD=xxxxxxxxx
        #- hostname=ocdb.xxxx.com
    restart: unless-stopped
    volumes:
      - ./data/couchdb-data:/opt/couchdb/data
      - ./data/couchdb-etc:/opt/couchdb/etc/local.d
    ports:
      - "5984:5984"

执行后执行以下命令初始化数据库:

export hostname=localhost:5984
export username=admin     #Please change as you like.
export password=xxxxxxxxx #Please change as you like
curl -s https://raw.githubusercontent.com/vrtmrz/obsidian-livesync/main/utils/couchdb/couchdb-init.sh | bash

References