kubectl-sql adalah plugin kubectl yang menggunakan bahasa seperti SQL untuk menanyakan manajer cluster Kubernetes
Menggunakan manajer plugin krew untuk menginstal:
kubectl krew install sql
kubectl sql --help
Menggunakan Fedora Tembaga:
dnf copr enable yaacov/kubesql
dnf install kubectl-sql
Dari sumber:
git clone [email protected]:yaacov/kubectl-sql.git
cd kubectl-sql
make
kubectl-sql memungkinkan Anda memilih sumber daya Kubernetes berdasarkan nilai dari satu atau lebih bidang sumber daya, menggunakan SQL yang mudah dibaca manusia seperti bahasa kueri. Dimungkinkan juga untuk menemukan sumber daya yang terhubung menggunakan perintah join
.
Contoh kubectl-sql lainnya
# Get all pods from current namespace scope, that has a name starting with "virt-" and
# IP that ends with ".84"
kubectl-sql get pods where " name ~= '^virt-' and status.podIP ~= '[.]84$' "
AMESPACE NAME PHASE hostIP CREATION_TIME(RFC3339)
default virt-launcher-test-bdw2p-lcrwx Running 192.168.126.56 2020-02-12T14:14:01+02:00
...
# Get all persistant volume clames that are less then 20Gi, and output as json.
kubectl-sql -o json get pvc where " spec.resources.requests.storage < 20Gi "
...
# Display non running pods by nodes for all namespaces.
kubectl-sql join nodes,pods on
" nodes.status.addresses.1.address = pods.status.hostIP and not pods.phase ~= 'Running' " -A
...
# Filter replica sets with less ready-replicas then replicas"
kubectl-sql --all-namespaces get rs where " status.readyReplicas < status.replicas "
--bendera keluaran | Format cetak |
---|---|
meja | Meja |
nama | Hanya nama |
yaml | YAML |
json | JSON |
jq
adalah prosesor JSON baris perintah yang ringan dan fleksibel. Dimungkinkan untuk menyalurkan keluaran perintah kubectl ke dalam perintah jq
untuk membuat pencarian yang rumit ( Ilustrasi jq toturial )
https://stedolan.github.io/jq/manual/#select(boolean_expression)
Pemilih bidang memungkinkan Anda memilih sumber daya Kubernetes berdasarkan nilai dari satu atau beberapa bidang sumber daya. Berikut adalah beberapa contoh kueri pemilih bidang.
https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/