iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0

昨天跟各位介紹完 Kubelet 之後,相信大家對它已經有一定的瞭解了。
那今天要跟各位介紹的這個工具,可以說是只要需要操作到 K8s 的指令,都可以看到它的存在。

那廢話不多說,我們開始介紹今天的主角, Kubectl 吧!

那什麼是 kubectl 呢?
簡單來說,他就很像是 kubernetes 的 Command Line 工具,而我們就是透過這個工具去對 Kubernetes Cluster 做操作,所以幾乎每個操作指令都包含 Kubectl 這個工具,以下就讓我來為你們做一些簡單的範例:

檢視 K8s Resources

#指令
kubectl get <資源名稱> <物件名稱> 

如果沒有給物件名稱的話,將會把所有資源顯示出來。

# 範例
kubectl get pod test

NAME   READY   STATUS    RESTARTS   AGE
test   1/1     Running   0          22h
==========================================
kubectl get pod

NAME   READY   STATUS    RESTARTS   AGE
test   1/1     Running   0          22h
test2  1/1     Running   0          23h
test3  1/1     Running   0          23h
test4  1/1     Running   0          22h

而如果我們在指令後面加上 -o wide 的話,可以看到關於這個資源更詳細的資訊。

kubectl get pod test -o wide 

NAME   READY   STATUS    RESTARTS   AGE   IP           NODE         NOMINATED NODE   READINESS GATES
test   1/1     Running   0          24h   10.244.0.7   ubuntu-pve   <none>           <none>

新增、更新及刪除 Resource

# 指令

## 新增
kubectl apply -f test.yaml

## 更新
kubectl edit <資源名稱> <物件名稱>

## 刪除
kubectl delete <資源名稱> <物件名稱>
or 
kubectl delete -f test.yaml

在 pod 內執行 shell 指令

# 指令
kubectl exec -ti <物件名稱> -- /bin/bash

# 範例
kubectl exec -ti test -- /bin/bash

當看到你的命令列從原本的

ubuntu@ubuntu:~$

轉變成

root@test:/app# 

那就代表你已經成功了!

今天跟各位介紹的這幾個指令是比較常用的幾個指令,大家先了解這些指令之後,後面幾天教的實作會相對的比較好上手一點!

到時候我將會為各位示範幾個 Resource 的實作!
那我們今天就先介紹到這邊吧~大家掰掰!


上一篇
Day16 Pod 管理大師 -- Kubelet
下一篇
Day18 Cluster 管理大師--Kubeadm
系列文
被容器束縛住的小宇宙30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言