在 k8s 中开一个 shell

经常需要一个远程临时的 shell 做些什么事,比如实验一下某个需要运行一晚上的脚本,用完环境就扔了。在 AWS 或者 Azure 上开一个新的 VM 总是感觉不够快捷,也不想专门浪费一个 VM 的资源为这个目的留着。

还好我有个 Kubernetes 下创建 pod 的权限,这下就方便多了。

首先创建一个 shell.yaml 来描述一个可以运行 bash shell 的 pod(容器镜像用的是官方的 bash 镜像):

apiVersion: v1
kind: Pod
metadata:
  name: shell
  labels:
    purpose: shell
spec:
  containers:
  - name: shell
    image: bash
    command: ["tail"]
    args: ["-f", "/dev/null"]
  restartPolicy: OnFailure

然后执行下面的命令来创建这个 pod:

$ kubectl apply -f shell.yaml
pod/shell created

成功之后,就可以通过下面的命令获得一个远程的 shell 环境了:

$ kubectl exec -it shell -- bash --login
shell:/#

这个新创建的环境是基于 alpine linux 的,自然什么工具都没有自带。需要什么工具,只要用 apk add 命令安装就好了。我因为工作需要一般都会安装下面这些工具:

apk add git
apk add nodejs-current
apk add npm
apk add python3

如果想从或者向这个 pod/shell 复制文件的话,用下面的命令就好了:

kubectl cp ... ...

Microsoft Tag

公司以前曾经发布过一个 Live 服务,就是可以把文字嵌入到 QR Code 里面,以方便带相机的手机可以立刻获取包含在这段文字里的信息。后来就不知道为什么没有了。两年半以后,才发现原来是有另外一种编码方式来代替,就是 Microsoft Tagimage

看来是时候把上面这个 Tag 打印到自己的 T-Shirt 上,然后满大街的闲逛了。

手机又复活了

image 总算没有枉费孜孜不倦地跟 WM 组的人纠缠的这几天,我的 HTC WIZARD 于今天下午吃晚饭的时候在关键的 CID Unlock 上有了让人意想不到的突破。当然,不敢再乱尝试新的 ROM 了,于是再次刷了一遍之前那个 build,终于恢复了老样子。而且 WM 组的人都非常热情,最后还送了一个同样的机子给我。

要记下来几个有用的连接:

  1. Wizard Service Tool – 用来 Unlock CID 的必备工具,还可以修改 IMEI
  2. 所有的 CID Block 集合
  3. LokiWiz – 解 SIM Lock 用的
  4. ftp://xda:xda@xda-developers.com/ – 不用说了
  5. http://wiki.xda-developers.com/index.php?pagename=Wizard_ROM_Layout – 拯救手机的关键就是要了解数据结构

不要小看 HTC Wizard 8125 的潜力,虽然只有不到 200mHz 的主频,可是已经满足我的最基本需要了,包括查公司邮件、Skype、WLM、SSH、看电视直播……谁叫咱穷呢,买不起 Touch 啊。