手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 calicoctl の基本設定 – Calico を確認する管理 CLI を整える

Ubuntu 26.04 から Calico を利用している Kubernetes cluster を確認する場合、kubectl だけで足りる場面もありますが、Calico 固有のリソースや状態を確認したい時には calicoctl があると便利です。

この記事では、Ubuntu 26.04 に calicoctl を導入し、client version、CPU architecture、kubeconfig、基本的な確認コマンドを整理します。Calico CNI を設計・構築する記事ではなく、Calico を確認する管理 CLI を整える記事です。

calicoctl は Calico の状態確認と操作に使う CLI

calicoctl は Calico の NetworkPolicy、IPPool、BGP 設定、node 状態などを確認・操作するための CLI です。Kubernetes の基本的なリソース確認は kubectl で行い、Calico 固有の対象を見る時に calicoctl を使う、と分けると理解しやすくなります。

CLI主な役割
kubectlKubernetes API を直接操作し、Pod、Service、Node、ConfigMap などを見る
helmChart と values を使って Kubernetes アプリケーションを配備する
calicoctlCalico 固有のリソース、IPPool、BGP、NetworkPolicy などを確認・操作する
terraform基盤リソースや外部リソースを宣言的に管理する
ansibleOS 側の設定や CLI 導入などを管理する

CPU architecture を確認する

calicoctl の release binary は CPU architecture ごとに分かれています。Ubuntu 26.04 が x86_64 なのか arm64 / aarch64 なのかを先に確認します。

コマンド
uname -m
dpkg --print-architecture

x86_64 / amd64 なら amd64、aarch64 / arm64 なら arm64 の binary を使います。

calicoctl を /usr/local/bin に導入する

ここでは Project Calico の GitHub release から calicoctl-linux-arm64 または calicoctl-linux-amd64 を取得し、/usr/local/bin/calicoctl として配置します。

コマンド
calico_version=3.30.3
calico_arch=arm64
sudo curl -fsSL -o /usr/local/bin/calicoctl "https://github.com/projectcalico/calico/releases/download/v${calico_version}/calicoctl-linux-${calico_arch}"
sudo chown root:root /usr/local/bin/calicoctl
sudo chmod 0755 /usr/local/bin/calicoctl

calico_arch は実行環境に合わせます。x86_64 / amd64 なら amd64、arm64 / aarch64 なら arm64 です。

client version を確認する

導入後は、期待した version の calicoctl が実行されているかを確認します。複数の binary が PATH 上にあると別のものを実行してしまうことがあります。

コマンド
calicoctl version --client
which calicoctl

kubeconfig と datastore の前提を確認する

calicoctl は Calico の datastore に接続して情報を取得します。Kubernetes datastore を使う構成では、kubeconfig と current context が重要です。意図しない cluster に向けて操作しないように、先に context を確認します。

コマンド
kubectl config current-context
kubectl config get-contexts
kubectl get nodes

環境によっては DATASTORE_TYPE=kubernetesKUBECONFIG を明示する方が分かりやすいです。管理端末上で複数 cluster を扱う場合は、操作前に必ず context を確認します。

コマンド
export DATASTORE_TYPE=kubernetes
export KUBECONFIG=$HOME/.kube/config
calicoctl get nodes

Calico の状態を確認する

まずは読み取り系のコマンドで、Calico が見えているかを確認します。最初から変更系のコマンドを実行せず、node、IPPool、policy などを確認するところから始めます。

コマンド
calicoctl get nodes
calicoctl get ippools
calicoctl get networkpolicies --all-namespaces
calicoctl get globalnetworkpolicies

コマンドが失敗する場合は、Calico 側の問題とは限りません。kubeconfig、権限、context、Calico の datastore、cluster 側の API 到達性を切り分けます。

kubectl で見えるものと calicoctl で見るものを分ける

Calico を使っていても、すべてを calicoctl で見る必要はありません。Kubernetes resource として管理されているものは kubectl で確認し、Calico 固有の表現や状態を見る時に calicoctl を使うのが自然です。

確認したいもの主に使う CLI
Pod、Node、Service、Endpointkubectl
Kubernetes NetworkPolicykubectl / calicoctl
Calico IPPoolcalicoctl
Calico BGP 関連calicoctl
CNI Pod の状態kubectl
Calico 固有 policycalicoctl

運用上の注意点

項目注意点
context操作前に kubeconfig の current context を確認する
権限Calico resource を読める Kubernetes 権限が必要になる
versioncluster 側の Calico version と大きくずれないようにする
変更操作読み取り確認と変更操作を分け、誤操作を避ける
CNI 設計calicoctl 導入と Calico CNI 設計を混同しない

まとめ

Ubuntu 26.04 に calicoctl を導入すると、Calico 固有の node、IPPool、policy、BGP 関連の状態を確認しやすくなります。ただし、これは Calico CNI を構築する手順ではなく、Calico を確認・操作するための管理 CLI を用意する作業です。

kubectlhelmcalicoctl はそれぞれ役割が違います。Kubernetes の基本操作は kubectl、アプリケーション配備は helm、Calico 固有の確認は calicoctl と分けておくと、管理端末の役割が分かりやすくなります。

参考書籍
参考書籍
Advanced Ubuntu Administration and Management Best Practices

Ubuntu Server の運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

次に読む記事

Ubuntu 26.04 サーバー管理ガイド
Ubuntu 26.04 calicoctl の基本設定 – Calico を確認する管理 CLI を整える

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る