自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

K8S實踐:非常實用Kubectl的別名工具推薦,助您高效工作

云計算 云原生
這些 kubectl 別名提供了一種簡化 Kubernetes命令的便捷方法。通過使用這些別名,我們可以在使用 kubectl 命令時節(jié)省大量時間。無論你是檢索特定信息、對 Pod 進行故障排除還是管理資源,這些別名都可以滿足需求。

大家好,我是蝸牛,今天介紹一款Kubernetes的別名工具,可以讓你高效管理k8s 集群,下面是相關介紹

介紹

我們在管理 Kubernetes集群和執(zhí)行指定任務是比較復雜和費時的。但是如果使用正確的kubectl別名集,可以大幅簡化Kubernetes管理并提高我們的工作效率。在本文中,我們將分享一些有用的 kubectl 別名,它們可以幫助我們更快、更輕松地執(zhí)行常見任務。從查詢資源信息到對 Pod 進行故障排除和管理節(jié)點,這些別名將成為 Kubernetes 工具包中的寶貴工具。因此,讓我們深入研究并發(fā)現(xiàn)簡化 Kubernetes 管理所需的 kubectl 別名!

前置依賴

在開始使用這些實用的 kubectl 別名之前,需要確保我們的電腦滿足以下前置條件:

  • 安裝Kubectl
  • 安裝Krew plugins manager,它是命令行工具的插件管理器,目前 Krew 上分布著230 個kubectl 插件
  • 安裝Kubectl-neat Krew plugin插件,這個插件的作用是,消除 Kubernetes 清單中的混亂,使其更具可讀性,比如下圖,用紅色標記的行被認為是多余的,將被此插件從輸出中刪除

圖片圖片

  • 在用戶目錄,創(chuàng)建 mkdir ~/.kube 文件夾

別名設置

把以下別名命令添加到環(huán)境變量中,并執(zhí)行source 命令進行生效

# autocomplete kubectl & helm
source <(kubectl completion zsh)
source <(helm completion zsh)

alias k=kubectl

# when using below aliases, print kubectl command and then execute it
function kctl() { echo "+ kubectl $@" && command kubectl $@ }

# add aliases collection like 'kgpo' for 'kubectl get pods` from https://github.com/ahmetb/kubectl-aliases
[ ! -f ~/.kube/aliases.sh ] && curl -fsSL "https://raw.githubusercontent.com/ahmetb/kubectl-aliases/master/.kubectl_aliases" > ~/.kube/aliases.sh && sed -i -e 's/kubectl/kctl/g' ~/.kube/aliases.sh
source ~/.kube/aliases.sh

# set default namespace
alias kn='kctl config set-context --current --namespace'
# get events sorted by last timestamp
alias kgel='kctl get events --sort-by=.lastTimestamp'
# get events sorted by creation timestamp
alias kgec='kctl get events --sort-by=.metadata.creationTimestamp'
# get pod's descending events
function kger() { kctl get events --sort-by=.lastTimestamp --field-selector involvedObject.name="$@" }
# get 'real' all
alias kgworld='kctl get $(kubectl api-resources --verbs=list --namespaced -o name | paste -sd ",")'
# display all nodes resources request and limits
alias kgnr="k get nodes --no-headers | awk '{print \$1}' | xargs -I {} sh -c 'echo {} ; kubectl describe node {} | grep Allocated -A 5 | grep -ve Event -ve Allocated -ve percent -ve -- ; echo '"
# start a debug pod (including lots of troubleshooting tools)
alias kdebug="kctl -n default run debug-pod --rm -it --tty --image leodotcloud/swiss-army-knife:v0.12 --image-pull-policy=IfNotPresent -- bash"
# get pod's containers list
function kgpc() { kctl get pod -o jsnotallow="{.spec.containers[*].name}" "$@" && echo "" }
# ping a service, ex: 'kping whoami:8080'
alias kping='kctl run httping -it --image bretfisher/httping --image-pull-policy=IfNotPresent --rm=true --'
# get existing pod's yaml without forbidden fields, ex: 'kyaml pod whoami'
function kyaml() { kubectl get "$@" -o yaml | kubectl-neat }
# display and delete failed pods in current namespace
alias krmfailed='kctl delete pods --field-selector=status.phase=Failed'

添加完以后執(zhí)行kgpo命令進行驗證,如下圖,通過此命令可以查詢到pod列表,是不是很方便

圖片圖片

示例說明

下面讓我們研究下這些別名的一些用例和解釋。

1. 更快地執(zhí)行基本命令

kubectl -aliases Github 存儲庫包含一個生成數(shù)百個基本別名的腳本,這些別名包含在上面的列表中。

下面是一些關鍵命令概覽

alias k='kubectl'
alias kg='kubectl get'
alias kgpo='kubectl get pod'

alias ksysgpo='kubectl --namespace=kube-system get pod'

alias krm='kubectl delete'
alias krmf='kubectl delete -f'
alias krming='kubectl delete ingress'
alias krmingl='kubectl delete ingress -l'
alias krmingall='kubectl delete ingress --all-namespaces'

alias kgsvcoyaml='kubectl get service -o=yaml'
alias kgsvcwn='kubectl get service --watch --namespace'
alias kgsvcslwn='kubectl get service --show-labels --watch --namespace'

alias kgwf='kubectl get --watch -f'
...

為了表示每個命令的作用,每次執(zhí)行簡寫命令時,都會顯示完整的命令

ksysgpo

圖片圖片

2. 獲取排序和過濾的事件

對 Kubernetes 集群中的事件進行排序是比較麻煩。通用別名來按上次查看日期和創(chuàng)建時間戳對事件進行排序就非常方便

kgel -A
kgec -A

圖片圖片

另外,您可以使用別名過濾特定資源的事件kger

圖片圖片

3. 查詢節(jié)點資源請求和限制

要查看集群中節(jié)點的資源請求和限制,可以使用別名kgnr。此別名提供了每個節(jié)點的 CPU 和內(nèi)存分配信息

kgnr

圖片圖片

4.啟動調試pod

由于pod的容器鏡像只安裝了必要的軟件,所以當出現(xiàn)故障時,必須在線安裝相關工具進行問故障排除,而pod 重啟又得重新安裝,而這里提供了kdebug命令,可以快速啟動一個Swiss Army Knife Pod,這個pod預裝所有基本工具的來解決問題。

圖片圖片

下面是一些內(nèi)置的工具列表arping, arptables, bridge-utils, ca-certificates, conntrack, curl, docker, dnsutils, ethtool, iperf, iperf3, iproute2, ipsec-tools, ipset, iptables, iputils-ping, jq, kmod, kubectl, ldap-utils, less, libpcap-dev, man, manpages-posix, mtr, net-tools, netcat, netcat-openbsd, openssl, openssh-client, psmisc, socat, tcpdump, telnet, tmux, traceroute, tcptraceroute, tree, ngrep, vim, wget, yq

5. 獲取pod的容器列表

要檢索 pod 內(nèi)的容器列表,可以使用別名kgpc。當需要訪問Pod 中的特定容器時,非常有用

圖片圖片

6. Service可用性檢測

測試 Kubernetes Service的可用性是比較麻煩的。而kping別名使用HTTP Ping Docker 映像來 ping 服務并檢查其可用性,就方便很多:

kgsvc

圖片圖片

執(zhí)行kping dp-manager-backend:80進行測試

圖片圖片

7. 獲取pod的yaml 內(nèi)容

在使用kubectl get pod -o=yaml查看pod資源的 YAML 時,某些字段是不必要的,并且可能會在重新部署 YAML 時導致問題。別名kyaml通過提供排除不必要字段的可運行清單來解決此問題,注意此插件依賴前置條件的kubectl-neat插件

執(zhí)行kyaml pod pod 名稱查詢,結果如下圖,是不是很清爽。

圖片圖片

8. 刪除失?。ê万屩穑┑?Pod

失敗的 Pod 可能會使集群混亂并影響性能。該krmfailed別名允許您輕松刪除當前命名空間中失敗的 Pod。

總結

這些 kubectl 別名提供了一種簡化 Kubernetes命令的便捷方法。通過使用這些別名,我們可以在使用 kubectl 命令時節(jié)省大量時間。無論你是檢索特定信息、對 Pod 進行故障排除還是管理資源,這些別名都可以滿足需求。

責任編輯:武曉燕 來源: 架構成長指南
相關推薦

2011-08-01 10:36:35

CSS

2021-12-21 08:31:07

k8s診斷工具kubectl-deb

2022-04-29 10:40:38

技術服務端K8s

2022-04-22 13:32:01

K8s容器引擎架構

2022-04-02 09:57:51

技術京東實踐

2022-04-05 09:24:57

K8s安全網(wǎng)絡安全時間響應

2023-11-06 07:16:22

WasmK8s模塊

2023-09-07 08:58:36

K8s多集群

2024-11-15 12:04:33

K8S容器化應用

2021-09-24 14:20:25

開發(fā)技能工具

2021-11-07 07:41:21

K8S命令行管理工具容器

2023-12-25 07:35:40

數(shù)據(jù)集成FlinkK8s

2024-02-20 07:32:18

Rsync遠程同步工具傳輸數(shù)據(jù)

2022-09-19 13:42:11

K8Skt-connect開源

2021-02-03 14:04:52

k8spermissionm管理工具

2023-09-06 08:12:04

k8s云原生

2023-11-02 08:01:22

2020-11-11 11:05:41

Linux工具命令

2022-09-13 09:04:20

云計算移動辦公大數(shù)據(jù)
點贊
收藏

51CTO技術棧公眾號