MacOS睡眠和唤醒历史 Aug 13, 2023

查看用户唤醒历史

pmset -g log|grep -v "DarkWake"|grep -E  "Wake from"

查看所有睡眠和唤醒历史

内容会有点多,而且包含DarkWake

pmset -g log|grep -E  "Entering Sleep state|Wake from"

什么是DarkWake

在 macOS 中,“DarkWake” 和 “Wake” 代表了两种不同类型的唤醒状态:

...
谷歌日本搜索结果显示日文的解决方案 Aug 12, 2023

说到日本的服务器,最早用过一段时间的沪日iplc,现在在用DMIT的PVM.TYO.Pro.Shinagawa,他们在延迟速率方面的表现都很好。有一点比较难受的是日本的google搜索结果总是有日文内容,这里说下解决方案。

谷歌提供了“搜索设置”的功能,允许用户调整“搜索结果语言过滤器”,这个设置将会设置到cookie中,具体来说是NID这个cookie,过期时间是6个月。如果在6个月中有登出再登陆,这个cookie也会丢失,需要重新设置。

...
K8S持久化卷、动态置备、StorageClass Jul 31, 2023

在之前对K8S的使用中,已经用到了Volumes来给pod挂载文件,具体来说用到了HostPath、emptyDir、ConfigMap这几种类型的Volumes。最近在部署grafana时,遇到PersistentVolumeClaim的API类型,研究了一下,发现涉及的东西挺多的,有

...
使用node-exporter + prometheus + grafana 监控k8s集群 Jul 30, 2023

最近在K8S集群中部署了node-exporter + prometheus + grafana,具体过程可以参考我的Github项目kubernetes-prometheus-grafana。这个博客用来记录下过程中的一些知识点,主要有这些:

主题 详述
K8S的RBAC 全称是基于角色的访问控制,K8S权限机制的基础
在Pod中访问ApiServer Prometheus是运行在k8s集群中的一个pod,访问k8s的apiserver时需要一些鉴权机制
Prometheus Service Discovery Prometheus是pull模型,需要自动地发现k8s集群中有哪些endpoing、node、service等,并watch其变更
Prometheus relabel_configs 在prometheus的抓取job中过滤、转换target的label
...
使用K8S DaemonSet部署rust_http_proxy Jul 23, 2023

整体说明

  1. tls的证书没有使用Secret,感觉没啥必要。
  2. 使用HostPort来暴露端口,并将coredns的deployment移动到外网的vps上,已避免ClusterFirst的dnsPolicy下的国内dns污染问题
  3. 使用hostNetwork使用主机网络栈,意义在于暴露端口+使用host的DNS(无污染问题)
  4. 使用envFrom comfigMap加载环境变量,这要求configMap中所有字段都是String类型,443、true、false要用双引号包裹。
  5. 使用hostPath挂载nginx的目录,展示web网页。

Dockerfile

FROM docker.io/redhat/ubi9-micro:9.2-9
# 设置时区为上海,ubi9-micro内置了tzdata 
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
COPY target/x86_64-unknown-linux-musl/release/rust_http_proxy /
CMD ["/rust_http_proxy"]

用的RHEL家的ubi9-micro基础镜像,它和alpine差不多大小,用的glibc,没有musl-libc的一些兼容性问题,并且设置时区更加简单,而且我对RHEL家的东西很有好感,所以就用了。一些相关的介绍:

...
在K8S集群中创建clash代理服务 Jul 23, 2023

学习下ConfigMap、Deployment、Service的用法。

...
K3S多云环境下的离线部署 Jul 23, 2023

这几天把 k8s 折腾了个遍,个人觉得 k3s 更适合我,主要有五个优势

  1. 类似 springboot 的“约定优于配置”,就是默认给你一个开箱即用的东西,如果需要,再进行修改。而不是 k8s 那样样样要你配置
  2. 内置LoadBalancer 实现,而不是像 k8s 那样没有 LoadBalancer 实现,导致裸机安装情况下得用 NodePort、HostPort、HostNetwork 来暴露服务,或者安装 Metallb。
  • 使用 Node 的 ip 作为 LoadBalancer 的 ip。——需要保证多个 LoaderBalancer Service 的端口不冲突
  • 具体实现见 klipper-lb,比较简单。是通过 NAT 将流量转发到 Service 的 Cluster IP 上,然后 kube-proxy 再将流量转发到 Pod 上(这一步包含负载均衡和故障迁移能力)
  1. 可以轻松的支持多云环境,对我这种有多个云厂商 vps 的玩家很友好
  2. 资源消耗较少。虽然节点增加后,控制面的内存压力也不小
  3. 文档docs.k3s.io很清晰。PS:不要看中文版的文档,也不要看 rancher 中国的文档,垃圾
...
Clash Tun模式和透明代理 Jul 23, 2023

大概前几年就玩过软路由,当时用openwrt作为主路由使用,一是折腾起来太麻烦,二是对家庭网络侵入性太大,三是当时用的机器风扇声音太大。用上M2的Macbook PRO、Mac MINI后,我才发现,原来低功耗的无风扇的被动散热的体验是真的安静。所以,这次软路由的搭建核心诉求是三个:1. 旁路由而不是主路由;2. 用Clash而不是openwrt;3. 用被动散热的机器,主打一个安静。最终的话,这次整了一台畅网N100先锋版,把附送给内存和硬盘散热的风扇拆了,走纯被动散热。最终成品如下,特点是小小的,稳稳的,烫烫的。

Alt text

下面的内容是介绍下如何使用Clash tun模式搭建旁路由。

...
使用Kubeadm安装K8S 1.27.3 Jul 19, 2023

尝试使用kubeadm安装k8s

...
K8s Kind使用 Jul 18, 2023

简单使用下kind

...