[前言]
[關於go get和go install的變動]
我目前Golang的版本如下:
我目前Golang的版本如下:
本篇內容將提供快速的指引,包含相關需安裝的套件,從無到有建立全新的 React 應用程式( single-page application, SPA)
Tracee 是一個用 於 Linux 的執行時安全和取證工具。它使用 Linux eBPF 技術在執行時跟蹤系統和應用程式,並分析收集的事件以檢測可疑的行為模式。本篇對於Tracee這open source project進行了編譯與初步測試,在此做個筆記以防忘記。後續將針對源碼進行分析。
Github 位置為: https://github.com/aquasecurity/tracee
網路上已經有不少的相關文件資源可以參考,在此不重覆贅述,如下所示:
我在O`REILLY出的一本書 "Go學習手冊"內有看到一個很有趣的段落: 指標傳遞性能 ( Pointer Performance )
我把這段的重點直接整理下來(因為很重要) 如下:
重溫DoS時期的遊戲: 殖民帝國 Colonization
這套遊戲盒裝內的說明書、磁碟片(3 1/2吋)等等的相關的東西都有很完整保存下來,不信的話請看下圖:
由於這遊戲是執行在DoS 作業系統上的,所以我們需要在Windows 10上安裝DOS模擬器,並用此模擬器玩遊戲,執行步驟如下:
透過變數宣告時,需要在型別前面加上 * 符號,代表是指標型態,用來告訴編譯器這變數是某種型別的指標變數。
給值時也要給值的位置,我們在值前面加上 & 符號(位址運算子)。請看下面例子:
使用命令 kubectl taint 可以給節點(Node)增加一個污點。
比如:
說明:
給節點 node1 增加一個污點,它的鍵名是 key1,鍵值是 value1,效果是 NoSchedule。這表示只有擁有和這個污點相匹配的容忍度的 Pod 才能夠被分配到 node1 這個節點。
若要移除上述命令所添加的污點,你可以執行:
最常用的例子就是把 Master Node 改成有 Worker的屬性
[更新]
在K8S v1.24之後默認kubeadm取消taint,之前版本使用node-role.kubernetes.io/master標籤,在Kubernetes 1.24版本中,label標籤已經修改為node-role.kubernetes.io/control-plane
查看node節點所有標籤
我們可以直接查看master節點污點情況
生成污點
取消污點
Reference:
kubectl 備忘單
https://kubernetes.io/zh/docs/reference/kubectl/cheatsheet/
How to use Informer to avoid frequently getting Pod and Service List via clientset.CoreV1()?
[情境]
之前開發Kubernetes相關的系統有遇過這種情況:
需要不斷的輪詢(Pooling) Kubernetes API 去獲得最新的 Pods 與 Services List,例如是每2秒。但輪詢是比較沒有效率的做法,因為很有極大的可能是,大部分的輪詢結果都是沒有變化的。
使用Informer來解決此問題。