2022川藏318骑行记录

入坑318

上学的时候总听别人说去西藏洗涤心灵,不知不觉种草了318川藏骑行。每年都说想去,但是港澳证件在西藏不好用,加之年假不多,一直没有成行。终于到了2022年,港澳台居住证也发行几年了,看到已经有香港同胞发帖说能自驾游西藏,对证件有了些信心。由于去年封控很多地方去不成,带了10天年假到今年,算上今年年假和五一假期,拼凑一个月时间,足够我爬完这段路了。出发!

出发准备

夏天日照时间长,而6月7月则是西藏的雨季,去骑行的学生也多,因此把计划定在5月。而疫情防控增加了不少变量,只好临时提前到4.23出发,准备时间略为仓促。

租车和住宿

川藏线比较成熟,常见的租车服务商有“飞登”,“57318”和“心旅”。我提前在飞登预约了一辆山地车,除了租车,还可以提前把自己的车快递到飞登的店里,到了组装。这些租车服务商跟318沿途的住宿点有合作,按着它们给的攻略走,路上就有住宿的地方,大概是50元一个床位,反正条件很一般。
之前青海湖骑行的经验告诉我,住宿条件的下限可以有多低,所以这一趟我要尽量找好的地方住。一般大一点的县城都有连锁酒店,连锁质量比较稳妥,小地方就只能住攻略上的地方了,有得住比没得住好。

物品

长途,爬坡,物品非必要不携带。
出发的时候,我带了这些:
电脑
Type-C 电脑充电器
冲锋衣
速干衣
骑行手套
照明灯
应急保暖毯
证件
剃须刀
雨衣
护膝
修车工具包
打气筒

中途到雅安县的时候,感觉负重还是太多了,又把一些短袖衣服和杂物寄了回家,只保留非常必要的。
继续阅读“2022川藏318骑行记录”

实践记录:港澳居民居住证在西藏四川入住酒店?

现在在内地工作生活的港澳居民可以申请有18位公民身份号码的港澳居民居住证,按照相关规定,可以享受在内地住宿旅馆的便利。实际上,这个“便利”每个地方有不同的操作。

在沿海省份,实测港澳居民居住证基本可以顺利入住“内宾”酒店。在青海省住了几家内宾酒店,通常前台看到证件的第一反应是说不能接待,但是让前台咨询负责人或者属地警务站之后,基本都可以办理入住,可以在机器上刷脸。

这次骑行川藏线,了解到西藏可能比较敏感,但是网上搜不到信息,所以直接出发测试,基本上只有林芝和拉萨要求必须住有涉外资质的酒店,其他地方有些波折但总体顺利。在这里记录一下供参考。

继续阅读“实践记录:港澳居民居住证在西藏四川入住酒店?”

操作记录: 怎样带流浪猫做绝育

问题与难点

我妈习惯了投喂小区的流浪猫,有几只猫已经成为我们家常客了,后来也约等于在我家院子里定居了。

从新闻报道等可以了解到,投喂流浪猫其实会间接破坏生态。猫会杀死很多小动物(鸟类等),而且猫的生育能力强,投喂流浪猫,它就有更多的食物源去生小猫,直到所在区域的食物源不足以支持更多的猫生活。

理论上,不投喂流浪猫是正确的做法。但是猫咪这么可爱,它们喵喵叫要吃的能不给吗? 毕竟绝对理性的话,让人类从地球上消失才是解决生态问题的根本方法。

因此,给猫做绝育应该是比较可行的方法了。

网上也找到了一些操作指南:
https://www.neighborhoodcats.org/how-to-tnr/getting-started/the-7-steps-of-tnr
继续阅读“操作记录: 怎样带流浪猫做绝育”

Elasticsearch 删除 RED state index

问题

Openshift v4 中的 logging 出现了某些问题,导致 Elasticsearch 处于 red state, 日志无法写入。

解决方法

1. 进入到 ES Pod 中,查看健康状态,发现是 red 的,有一些 unassigned shard.

$ oc exec -it elasticsearch-cdm-xxxx-1-yyyy-zzzz -n openshift-logging bash
bash-4.2$ health
Tue Nov 10 06:19:00 UTC 2020
epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
xxxxx 06:19:00  elasticsearch red             3         3    578 289    0    0      202             0                  -                 74.1%

2. 查看有哪些 unassigned shards, 以及 unassigned 的原因。集群刚刚恢复的时候,shard 的状态会是 CLUSTER_RECOVERED,但不应该持续很久。这里的状态一直停留在 CLUSTER_RECOVERED,应该是什么地方出现了问题。

bash-4.2$ $curl_get "$ES_BASE/_cat/shards?h=index,shard,prirep,state,unassigned.reason" | grep UNASSIGNED
.xxxxxxxxxx.2020.10.14                                                          1 p UNASSIGNED CLUSTER_RECOVERED
.xxxxxxxxxx.2020.10.14                                                          1 r UNASSIGNED CLUSTER_RECOVERED
.xxxxxxxxxx.2020.10.14                                                          2 p UNASSIGNED CLUSTER_RECOVERED

3. 查看 Unassigned 的原因。数据没了。

bash-4.2$ $curl_get "$ES_BASE/_cluster/allocation/explain?pretty"
  "can_allocate" : "no_valid_shard_copy",
  "allocate_explanation" : "cannot allocate because a previous copy of the primary shard existed but can no longer be found on the nodes in the cluster",

4. 一个简单粗暴的移除 red state 的方法是把 red state 的 index 删除掉,这样 Elasticsearch 可以继续接受到日志,不至于影响新进来的日志。

$ curl -XDELETE 'localhost:9200/index_name/'

据了解,更靠谱的方法应该是,relocate 这个 shard, 这样不至于丢失整个 index 的数据。然而我没有尝试。

继续阅读“Elasticsearch 删除 RED state index”

2020青海湖骑行计划: 银川, 西宁, 青海湖

之前跟同学说今天要来一次长途骑行,一直没有决定下来去哪里。8月的某一天,同学说之前有人国庆去过青海湖骑行,实际不会太冷。于是就定下来国庆去青海湖了。

计划 9.26 出发,请几天假错开国庆高峰。国庆前后的机票不便宜,在携程上搜到 北京大兴-银川-西宁 的中转票,全程含税590元,银川机场提供中转住宿和机场大巴票,能多玩一个地方还能省点机票钱,就它了。

按照网上的经验,结合我骑得慢的实际情况,制定了以下计划:

青海湖骑行计划

9/26 北京->银川, 银川停留1天。
9/27 银川->西宁, 西宁停留1晚,
9/28 上午,取车。下午骑行45km至【湖东种羊场】,在【湖东种羊场】住宿1晚。
9/29 骑行70km至【江西沟】,住宿1晚。
9/30 骑行48km至【黑马河】,住宿2晚。(10/1白天坐车去茶卡盐湖,下午回到黑马河住宿)
10/2 骑行115km至【刚察】,住宿1晚。
10/3 骑行84km回到【西海镇】,住宿1晚。
10/4 回到西宁,停留1晚。
10/5 各回各家

顺时针骑行,爬坡较为轻松,而且靠湖边更近。先易后难,适应高原。原计划是这样的。


继续阅读“2020青海湖骑行计划: 银川, 西宁, 青海湖”

"kubectl apply -f" fail with "The xxxx is invalid: metadata.resourceVersion: Invalid value: 0x0: must be specified for an update"

Issue

When running "kubectl apply" against a Resource in Kubernetes, it fails with below error.

The <resource> is invalid: metadata.resourceVersion: Invalid value: 0x0: must be specified for an update

继续阅读“"kubectl apply -f" fail with "The xxxx is invalid: metadata.resourceVersion: Invalid value: 0x0: must be specified for an update"”