timemachineeditor

事情是在去年發生的,那時是在家辦公,卻發現 MBP 慢的要命,網速也變慢,後來查了一下,才發現是 MBP 一直在那邊做時光機備份。

這下就麻煩了,改為手動,又怕忘記,用自動又變慢,這可讓我好生困擾。請 Google 大神幫忙以後,找到有人推薦 timemachineeditor 這個工具。timemachineeditor 這個工具可以設定在不使用電腦的時間去做備份,這樣就解決我的問題了。

我是用 homebrew 安裝的

brew install --cask timemachineeditor

設定畫面很簡單,一看就會用了,這裡就不多說。

電影流水帳(2022/12/01~2022/12/31)

Halle Berry & Pedro Pascal

這次拖了很久,主要是時間不夠,假日的時間有蠻多都拿來做公司的事情,已經有點失去平衡。

Enola Holmes 2

Enola 在上集之後,開了店,接收委託,但生意很差,就在決定要收攤不做的時候,有一位在火柴工廠工作的女孩 Bessie 前來委託,說他的女伴 Sarah 不見了,想請 Enola 尋找 Sarah。

Enola 就開始進行調查,調查到後來,這件調查居然跟哥哥 Sherlock 的調查也有關係,就攪到一起了。

整件事情大略是這樣子的,火柴工廠使用便宜但有毒的原料來製造火柴,藉此獲得暴利,同時也遮掩有女工因慢性中毒而死去的事情。Sarah 跟她的男友 William 得知了火柴工廠的祕密,想要揭發這個祕密。William 是這家工廠老闆的兒子,陷入一個糾結、複雜的狀況。後來 Sarah 就只能躲起來,這也就是 Bessie 以為她消失的原因。Sherlock 調查到這工廠的金流跟 Moriarty 有關係,也循線調查到這邊。最後就是揭發、解決了整件事情

整體來說,延續了上集的節奏跟風格,表現持平。這集有交代 Enola 的心情轉折,創業不順利,不敢面對自己喜歡 Tewkesbury 的事情,後半段也被捕,然後被媽媽以其媽媽的好友救出,真的是很多事情。看到這邊,我想應該還會有第三集吧,當作是一個結束。

我吃了那男孩一整年的早餐

之前是在某篇文章看到這故事,後來才知道有翻拍成電影,故事蠻有趣的。

有個男孩跟一個女孩告白失敗,後來就一直請女孩吃早餐。女孩不領情,本來想把早餐丟掉,她的好友覺得浪費,再加上當時缺餐費,就自告奮勇吃掉。這一吃,就吃了一整年,後來事情講開,兩人就認識了。之後才知道男孩其實早就知道早餐是被另外一個人吃掉,所以故意一直送早餐,想透過這機會能認識。

總之,緣份就是這樣,很莫名其妙的發生。

Moonfall

幾天前在 HBO 看了 Moonfall,這是一部特效片,感情鋪陳不夠,有些場景想帶這部份就顯得很薄弱。不過我覺得故事設定蠻有趣的,說月球是個巨型空心的結構,因為有狀況,導致裡面的核心無法提供動力讓月球維持在軌道上,就慢慢愈來愈靠近地球。那月球怎麼會是空心的?原因是遠古的外星人打造用來延續生命的。遠古的外星人在文明發展到極致以後,研發了機器人,但這些機器人卻變了,導致整個文明毀滅。為了宇宙的生命延續,文明的殘存者挖空了小行星,把電腦植入,讓這些小行星到其他星系去試著延續其他的高智慧生命,月球就是其中一個小行星。這些機器人在摧毀整個文明以後,緊追在後,在銀河系找到月球。

故事基本就是圍繞著月球這件事情,有一方的主張要把月球給炸了,另外一方則是覺得應該要掌握這一點點的可能性,去探究月球。反正後來就是上了月球,發現地球內部真的是個空心結構,也了解了來龍去脈,於是協助外星人的電腦,打趴了這些試圖摧毀月球的機器人,最後地球得救,月球也留下,世界和平。

kubeaudit

網址:https://github.com/Shopify/kubeaudit

可以用來稽核 kubernetes 叢集的工具,檢查的項目有

  • 確保容器以非 root 身份執行
  • 確保容器的根目錄是唯讀
  • 移除有危險的 capability
  • 不執行 privileged
  • 陸續增加中

安裝

直接從 github release 下載二進位檔案,然後放到 /usr/local/bin 就可以了。

使用

有三種模式

  • Manifest mode
  • Local mode
  • Cluster mode

Manifest mode

Manifest mode 就是掃檔案,意思是如果你有寫好的 yaml 檔案,kubeaudit 可以直接掃 yaml 檔案

kubeaudit all -f "/path/to/manifest.yml"

掃完會輸出掃描結果。

需要修正的話,可以用 autofix 來自動修正。

kubeaudit autofix -f "/path/to/manifest.yml"

怕改爛的話,可以輸出到另外一個檔案

kubeaudit autofix -f "/path/to/manifest.yml" -o "/path/to/fixed"

Cluster mode

Cluster mode 就是掃描當前的 Kubernetes 叢集,不要加上 -f 參數就可以

kubeaudit all

Local mode

Local mode 是在你管理多座 kubernetes 叢集時,可以指定 kubeconfig 跟 context,例如

kubeaudit all --kubeconfig "/path/to/config" --context my_cluster

設定

大部份掃描工具都會提供設定,讓開發者可以決定要掃描哪些項目,kubeaudit 也有,格式是 yaml 。

enabledAuditors:
  # Auditors are enabled by default if they are not explicitly set to "false"
  apparmor: false
  asat: false
  capabilities: true
  deprecatedapis: true
  hostns: true
  image: true
  limits: true
  mounts: true
  netpols: true
  nonroot: true
  privesc: true
  privileged: true
  rootfs: true
  seccomp: true
auditors:
  capabilities:
    # add capabilities needed to the add list, so kubeaudit won't report errors
    allowAddList: ['AUDIT_WRITE', 'CHOWN']
  deprecatedapis:
    # If no versions are specified and the'deprecatedapis' auditor is enabled, WARN
    # results will be genereted for the resources defined with a deprecated API.
    currentVersion: '1.22'
    targetedVersion: '1.25'
  image:
    # If no image is specified and the 'image' auditor is enabled, WARN results
    # will be generated for containers which use an image without a tag
    image: 'myimage:mytag'
  limits:
    # If no limits are specified and the 'limits' auditor is enabled, WARN results
    # will be generated for containers which have no cpu or memory limits specified
    cpu: '750m'
    memory: '500m'
  • enabledAuditors 是要啟用的稽核項目
  • auditors 下方則是每個稽核項目的設定

總結

透過使用 kubeaudit 這個工具,可以稽核 kubernetes 叢集,避免放上有危險的設定,是很實用的工具。

microk8s使用自建的mirror registry

文件在這邊:How to work with a private registry

設定方法很簡單,設定檔案位置在 /var/snap/microk8s/current/args/certs.d/ ,每個 registry server 都有一個對應的目錄,裏面會有 hosts.toml 。例如 docker.io ,目錄就是

/var/snap/microk8s/current/args/certs.d/docker.io ,hosts.toml 的內容是
server = "https://docker.io"

[host."https://registry-1.docker.io"]
  capabilities = ["pull", "resolve"]

要改為 mirror registry,就變為

server = "https://docker.io"

[host."http://your_registry_server/v2"]
  capabilities = ["pull", "resolve"]
  override_path = true

關鍵在於 [host.””] 裡的 server 位置還有 override_path = true

修改完成以後,重新啟動 microk8s 即可。

sudo snap restart microk8s

基本設定方法就是這樣。之前在看的時候因為眼花,一直想說為什麼會有 “‘ | sudo tee -a /var/snap/microk8s/current/args/certs.d/k8s.gcr.io/hosts.toml” 這一段,後來仔細看,才知道文件裡貼的是一個指令。

以後改為這樣,就可以不用去外部拉取,加快拉取 image 速度了。