ลองใช้งาน Broadcast feature ใน iTerm2
เมื่ออาทิตย์ก่อนฝึกงาน admin สำหรับการ maintain Kubernetes cluster ซึ่งเนื้องานคือจะต้อง Secure Shell (SSH) เข้าไปในเครื่อง VM เพื่อติดตั้งให้กลายเป็น Kubernetes node โดยแบบฝึกจะให้ลอง setup 2 เครื่องได้แก่ master node (control plane) และ worker node โดยมันจะมีขั้นตอนคล้าย ๆ กันคือ
- Update
apt
repository ที่จะติดตั้งและเกี่ยวข้องกับ Kubernetes - Configure kernel modules สำหรับ networking
- ติดตั้ง container runtime
- ติดตั้ง Kubernetes repository และ package ที่เกี่ยวข้อง (
kubelet
,kubeadm
,kubectl
) - Configure
crictl
ในกรณีจะ debug container
จากนั้นก็จะต้องมีการ run คำสั่ง kubeadm init
ใน master node และ kubeadm join
ใน worker node แต่จะขอไม่ลงรายละเอียดละเพราะประเด็นคือเราจะต้องทำงานคล้าย ๆ กัน 2 รอบ หรือ N รอบตามจำนวนของ node เลย ซึ่งถ้าใครเจองานคล้าย ๆ แบบนี้แล้วมันต้องทำแค่ครั้งเดียวการเขียน automation ก็อาจจะยังไม่จำเป็น เผอิญไปเจอมาว่าใน iTerm2 เขามี feature ที่สามารถ broadcast input ของ terminal pane นึงไปยัง pane อื่น ๆ ได้โดยไม่ต้องพิมพ์ซ้ำ
มีขั้นตอนเปิดการใช้งานดังนี้
- ใน iTerm2 ทำการสร้าง pane แยกออกมาตามจำนวนที่ต้องการ (hotkey:
Cmd + D
สำหรับแนวตั้ง หรือCmd + Shift + D
สำหรับแนวนอน) - ก่อนจะเขียนคำสั่งแรกที่ใช้ร่วมกัน ให้เปิดการ broadcast โดยไปที่ menu
Shell
->Broadcast Input
->Broadcast Input to All Panes In Current Tab
(hotkey:Option + Shift + I
) - จะมี dialog ขึ้นมาถามให้กด
OK
- คราวนี้พอพิมพ์คำสั่งใน pane นึงแล้วมันก็จะไปปรากฎใน pane อื่น ๆ
- ถ้าต้องการจะปิดก็ทำเหมือนข้อ 2
ลองเอาไปใช้กันดูครับ น่าจะทำให้ประหยัดเวลาการใช้งาน terminal ในการ run คำสั่งซ้ำ ๆ กันง่ายขึ้น