tcpdump小記

以前蠻排斥用 tcpdump 的,因為終端機模式下不容易去看,所以我都是寫到檔案以後,再傳出來用 wireshark 去看。

寫到檔案去,就是用 -w 參數指定要寫入的檔案。下面這行就是監聽 eth0 上的 port 80 封包,然後寫到 /tmp/capture.pcap 檔案。

tcpdump -i eth0 -w /tmp/capture.pcap port 80

昨天查文件學到另外一招,可以在終端機模式下看的方式,用 -X 參數印出 16 進位內容,用 -v 表示要看詳細的內容,越多 v 就越詳細。

tcpdump -i eth0 -vvX

參考資料

microk8s+okd web console

看到這篇:Running the OpenShift console in plain Kubernetes

剛好手頭上有 microk8s ,就裝來試試看。

環境

使用 Ubuntu 22.04

步驟

先安裝 nodejs 16,注意,17 以後的版本因為用了 OpenSSL3 ,所以編譯過程會有錯誤。

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs

取得 web console 原始碼

git clone https://github.com/openshift/console.git

進入 console 資料夾,進行編譯

./build.sh

再來是啟動

先檢查 default 這個 service account 有沒有 token,這個 service account 是在 kube-system 這個 namespace 裡。

kubectl get serviceaccount default --namespace=kube-system -o jsonpath='{.secrets[0].name}'

如果沒有,就建立 token

kubectl create token default -n kube-system

複製輸出結果,然後建立 secret

kubectl create secret generic default-token-0621 --from-literal=token=<前面的輸出結果>

好了以後,編輯 service account

kubectl edit secret default-token-0621 -n kube-system

在 yaml 裡加入 secrets

apiVersion: v1
kind: ServiceAccount
metadata:
  name: default
  namespace: kube-system
secrets:
- name: default-token-0621

給權限

kubectl create clusterrolebinding default-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default

最後要啟動了,因為我是用 microk8s ,先取得 kubeconfig

microk8s config > ~/.kube/config
export KUBECONFIG=~/.kube/config
source ./contrib/environment.sh
./bin/bridge

預設會啟動在 :9000