kubelet操作

kubelet可操作对象以及缩写

资源对象类型 缩写
clusters
componentstatuses cs
configmaps cm
daemonsets ds
deployment deploy
endpoints ep
events ev
horizontalpodautoscalers hpa
ingresses ing
Jobs
limitranges limits
nodes no
namespaces ns
networkpolicies
statefulsets
persistentvolumeclaims pvc
persistenvolumes pv
pods po
podsercuritypolicies psp
podtemplates
replicasets rs
replicationcontrollers rc
resourcequotas quota
cronjob
secrets
serviceaccounts
services svc
storageclasses sc
thirdpartyresources

获取Pod 的UID

kubectl get pods -n -o jsonpath=’{.metadata.uid}’

kubectl安装krew

curl -fsSLO “https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.tar.gz"
tar zxvf krew.tar.gz
./krew-linux_amd64 install krew
export PATH=”${KREW_ROOT:-$HOME/.krew}/bin:$PATH”
测试是否安装成功
kubectl krew -h

kubectl 插件

open-svc

open-svc 则简化了kubectl port-forward命令,相应服务会在直接在浏览器中弹出
安装
kubectl krew install open-svc
kubectl open-svc –help
使用
kubectl open-svc traefik -n kube-system

ksniff

在 k8s 中进行抓包时 可以使用ksniff,该插件使用 tcpdump 和 Wireshark 在 k8s 中进行抓包
安装
kubectl krew install sniff
kubectl sniff –help
使用
kubectl sniff POD_NAME -n default
如果提示tar未安装导致无法启动可以使用 -p 参数启动
kubectl sniff grafana-6d68f9494c-c8dvb -n default –context lizhi@186-cluster -p

ktclt

方便集群在本地调试应用,参考[https://alibaba.github.io/kt-connect/#/zh-cn/quickstart]
注意需要使用root权限运行,并且已经安装好kubectl并且能够联通集群

本地访问集群应用(socks5模式)
sudo ktctl -n test-project -i 10.221.1.41/library/kt-connect-shadow:stable connect –method=socks5 –dump2hosts
集群访问本地应用
sudo ktctl -n uaccount exchange uaccount-nginx –expose 80(替换原应用)
sudo ktctl -n uaccount mesh uaccount-nginx –expose 80(与原应用并存,流量分发)