谷歌日本搜索结果显示日文的解决方案 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

... ➦
Java内存监控 Jul 18, 2023

给一个Java内存监控的代码,具体监控:

  • Netty直接内存使用
  • 堆内存使用量
  • 非堆内存使用量
  • bufferPool内存使用量,主要有nio direct buffer和Mapped buffer
... ➦