kubectl-aliasesでkubectlコマンドのエイリアスを一括設定

スポンサーリンク

はじめに

kubectlコマンドのエイリアスが大量に設定されているkubectl-aliasesの設定とその使い方を紹介したいと思います。

kubectl-aliases

kubectl-aliasesでは、kubectlコマンドのエイリアスが大量に定義されています。

GitHub - ahmetb/kubectl-aliases: Programmatically generated handy kubectl aliases.
Programmatically generated handy kubectl aliases. Contribute to ahmetb/kubectl-aliases development by creating an account on GitHub.

自分で全て記述するには大変なエイリアスを1000個以上定義してくれています。

例えば下記のようなエイリアスがあります。

alias kgpo='kubectl get pods'
alias kdpo='kubectl describe pods'
alias klo='kubectl logs -f'
alias ka='kubectl apply --recursive -f'

設定

Bash/Zshでの利用方法について紹介します。

まずは、.kubectl_aliasesをリポジトリからダウンロードしてホームディレクトリに移動させます。

.bashrc.zshrcで下記を追加して、ホームディレクトリに置いたファイルを読み込むようにします。

[ -f ~/.kubectl_aliases ] && source ~/.kubectl_aliases

エイリアスを使って実行したコマンドを実行時に出力させる場合は下記も追記します。

function kubectl() { echo "+ kubectl [email protected]">&2; command kubectl [email protected]; }

下記のように実際のコマンドが表示されるようになります。

❯ kgpo
+ kubectl get pods
No resources found in default namespace.

使い方

基本的にk+command+resource+flagのまとまりでエイリアスが設定されています。

それぞれのエイリアスは下記の通りです。

  • k=kubectl
    • sys=--namespace kube-system
  • コマンド
    • g=get
    • d=describe
    • rm=delete
    • a=apply -f
    • ak=apply -k
    • k=kustomize
    • ex=exec -i -t
    • lo=logs -f
  • リソース
    • po=pod
    • dep=deployment
    • ing=ingress
    • svc=service
    • cm=configmap
    • sec=secret
    • ns=namespace
    • no=node
  • フラッグ
    • oyaml=-o yaml
    • ojson=-o json
    • owide=-o wide
    • all=--all, --all-namespace
    • sl=--show-labels
    • w=-w, --watch
    • n=-n, --namespace(コマンドの最後)
    • f=-f, --filename(コマンドの最後)
    • l=-l, --selector(コマンドの最後)

例えば、kgpoowidekubectl get pods -o=wideとなります。

❯ kgpoowide
+ kubectl get pods -o=wide
No resources found in default namespace.

参考

タイトルとURLをコピーしました