Ruk-Com Cloud Platform อนุญาตให้คุณเข้าถึงคอนเทนเนอร์ภายในบัญชีของคุณผ่าน SSH ได้อย่างสะดวก โดยสามารถเลือกใช้งานได้ 2 วิธีหลัก:
- Web SSH – คุณสามารถคลิกปุ่ม Web SSH ที่อยู่ถัดจาก Environment หรือคอนเทนเนอร์ที่ต้องการ เพื่อเปิด Terminal แบบออนไลน์ผ่านเว็บเบราว์เซอร์ได้ทันที เทอร์มินัลจะปรากฏขึ้นที่ด้านล่างของหน้าแดชบอร์ด ช่วยให้คุณจัดการเซิร์ฟเวอร์ได้อย่างรวดเร็วโดยไม่ต้องใช้โปรแกรมภายนอก

- SSH Gate (ผ่าน Local SSH Client) – อีกวิธีในการเชื่อมต่อเซิร์ฟเวอร์ของคุณคือการใช้ SSH client จากเครื่องของคุณเอง (เช่น Terminal หรือโปรแกรมเช่น PuTTY) โดยใช้ SSH Key Pair ที่ตั้งค่าไว้ล่วงหน้า:
- เพิ่ม Public Key ไปยังบัญชีของคุณผ่านหน้าแดชบอร์ด Ruk-Com Cloud
- ใช้ Private Key ที่ตรงกันบนเครื่องของคุณสำหรับการเชื่อมต่อ
วิธีนี้เหมาะสำหรับผู้ที่ต้องการจัดการเซิร์ฟเวอร์ผ่านเครื่องส่วนตัว โดยไม่ต้องเปิดเบราว์เซอร์

เมื่อคุณตั้งค่าข้อมูลที่จำเป็นทั้งหมดเรียบร้อยแล้ว คุณสามารถเชื่อมต่อผ่าน SSH ได้โดยใช้คำสั่งที่ปรากฏใน กรอบสีแดง ภายใต้แท็บ SSH Access ในบัญชีของคุณ
🛠️ หมายเหตุ:
เพื่อความสะดวกและเข้าถึงได้รวดเร็ว บทความนี้จะเน้นการใช้งานผ่าน Web SSH เป็นหลัก
อย่างไรก็ตาม คำสั่งต่าง ๆ ที่แสดงด้านล่างนี้สามารถใช้ได้เช่นเดียวกันหากคุณเชื่อมต่อผ่าน SSH ด้วยโปรแกรมจากเครื่องของคุณ (Local SSH Client)
เคล็ดลับ:
สำหรับเซิร์ฟเวอร์ส่วนใหญ่ภายใน Ruk-Com Cloud PaaS (รวมถึงคอนเทนเนอร์ Docker แบบกำหนดเอง) คุณจะได้รับ สิทธิ์ root แบบเต็มโดยอัตโนมัติ เมื่อเชื่อมต่อผ่าน SSH
ส่วนโหนดที่เหลือซึ่งมักสร้างจาก Stack Templates ที่ผ่านการรับรองโดย Ruk-Com Cloud จะมีการจำกัดสิทธิ์บางประการ แต่ยังสามารถควบคุมและจัดการได้ในระดับที่เพียงพอผ่านชุดคำสั่งที่ระบบอนุญาตไว้เป็นพิเศษ
หากคุณต้องการดู รายการคำสั่งเทอร์มินัลทั้งหมดพร้อมคำอธิบายตัวเลือกต่างๆ สามารถเข้าไปดูเพิ่มเติมได้จากเว็บไซต์
ในคู่มือนี้ เราจะเน้นที่คำสั่งพื้นฐานทั่วไป เพื่อให้คุณเข้าใจหลักการทำงานและสามารถเริ่มต้นจัดการคอนเทนเนอร์ผ่าน SSH Protocol ได้อย่างมั่นใจ
การนำทางระบบไฟล์ภายในคอนเทนเนอร์ (ผ่าน SSH)
ส่วนนี้เหมาะสำหรับผู้เริ่มต้นใช้งาน โดยจะช่วยให้คุณเข้าใจพื้นฐานของการนำทางระบบไฟล์ภายในคอนเทนเนอร์ผ่าน SSH หากคุณมีประสบการณ์แล้ว อาจข้ามไปยังหัวข้อถัดไปที่เกี่ยวข้องกับการจัดการระดับสูงได้
เมื่อคุณเชื่อมต่อเข้าสู่คอนเทนเนอร์ผ่านคอนโซลสำเร็จแล้ว ระบบจะพาคุณไปยัง Home Directory ของเซิร์ฟเวอร์โดยอัตโนมัติ ซึ่งมักเป็นตำแหน่งที่ใช้เก็บไฟล์ข้อมูลและการตั้งค่าต่าง ๆ
คำสั่งพื้นฐานสำหรับการนำทางโฟลเดอร์:
cd {directory_path}
เปลี่ยนไปยังไดเรกทอรีที่ระบุ ซึ่ง{directory_path}
สามารถเป็น:- โฟลเดอร์ย่อยในปัจจุบัน เช่น
cd logs
- โฟลเดอร์ซ้อนหลายระดับ เช่น
cd opt/tomcat
- เส้นทางแบบเต็ม (Absolute path) เช่น
cd /var/www/webroot/ROOT
- โฟลเดอร์ย่อยในปัจจุบัน เช่น
cd ..
ย้อนกลับไปยังโฟลเดอร์ระดับก่อนหน้าในโครงสร้างไฟล์cd ~
กลับไปยัง Home Directory ของผู้ใช้ทันที ไม่ว่าคุณจะอยู่ในโฟลเดอร์ใดก็ตามcd /
ไปยัง Root Directory ของคอนเทนเนอร์ (จุดเริ่มต้นของโครงสร้างไฟล์ทั้งหมด)

คุณจะเห็นสตริงสีม่วงที่ข้างชื่อโฮสต์คอนเทนเนอร์จะเปลี่ยนไป ซึ่งบ่งบอกถึงตำแหน่งปัจจุบันของคุณ
เคล็ดลับ: หากคุณเพิ่งเริ่มใช้ stack runtime ที่รันอินสแตนซ์ของคุณ คุณควรสำรวจโครงสร้างภายในก่อน (เช่น แผนผังของไฟล์และไดเร็กทอรี ไฟล์การกำหนดค่าที่ใช้ได้ ฯลฯ) วิธีที่สะดวกที่สุดคือการใช้ File Manager GUI ในตัวซึ่งมีให้โดยคลิกที่ปุ่ม Config ถัดจากเซิร์ฟเวอร์ที่ต้องการที่แผงควบคุมในหน้าแดชบอร์ด
คลิกปุ่ม “Config” ที่อยู่ถัดจากคอนเทนเนอร์นั้น ระบบจะเปิดหน้าจอ File Manager ซึ่งคุณสามารถเรียกดูไฟล์/ไดเรกทอรี ลบ แก้ไข หรืออัปโหลดไฟล์ได้ทันที
1. ในการสร้างไฟล์หรือโฟลเดอร์ใหม่ให้รันคำสั่งถัดไป:
- touch [path-to/]{file} – สร้างไฟล์ใหม่
- mkdir [path-to/]{dir} – สร้างโฟลเดอร์ใหม่
โดยที่
{file} และ {dir} – ชื่อไฟล์หรือโฟลเดอร์ที่ต้องการ (หากสร้างในไดเร็กทอรีปัจจุบัน)
[path-to/] – พารามิเตอร์ทางเลือก สำหรับกรณีนี้รายการใหม่ควรอยู่ในตำแหน่งอื่น

2. เพื่อให้แน่ใจว่าไฟล์และโฟลเดอร์ที่ระบุไว้ข้างต้นได้ถูกสร้างขึ้นแล้ว มาดูไฟล์และไดเร็กทอรีที่ตำแหน่งปัจจุบันโดยใช้คำสั่งนี้:
ls

3. คำสั่งทั่วไปที่ใช้สำหรับการจัดการไฟล์
- cat – ใช้กับไฟล์ text; ขึ้นอยู่กับ args ที่ระบุ อนุญาตให้ดู, รวมเข้าด้วยกัน, ทำไฟล์ซ้ำ (duplicate)
- cp – ใช้สำหรับคัดลอกไฟล์และไดเร็กทอรี
- locate – ใช้สำหรับค้นหาไฟล์หรือไดเร็กทอรีที่ต้องการภายในเซิร์ฟเวอร์โดยใช้ชื่อ (หรือบางส่วน)
- mv – ใช้สำหรับย้ายไฟล์หรือเปลี่ยนชื่อไฟล์และไดเร็กทอรี
- pwd – ใช้สำหรับดูเส้นทางแบบเต็มไปยังไดเร็กทอรีปัจจุบัน (เทียบกับ root คอนเทนเนอร์)
- rm – ใช้สำหรับลบไฟล์หรือไดเร็กทอรีที่ระบุ
ตอนนี้มาดูความค่าเริ่มต้น shell เพื่อตรวจสอบการทำงานและจัดการเมตริกของโหนด การใช้ทรัพยากร กระบวนการการทำงานภายใน ฯลฯ
คำสั่งสำหรับการดูข้อมูลระบบเซิร์ฟเวอร์
1. การรับข้อมูลสรุปสั้นๆเกี่ยวกับสถานะคอนเทนเนอร์ปัจจุบันและตรวจสอบให้แน่ใจ เช่น ไม่มีตัวที่ทำให้เกิดผลต่อประสิทธิภาพหรือความสามารถในการดำเนินการผิดปกติ โดยใช้คำสั่ง w:

คุณจะเห็นผลลัพธ์คือข้อมูลของระบบทั่วไป (คือ – เวลาระบบปัจจุบัน เวลาทำงานของอินสแตนซ์ จำนวนผู้ใช้ที่บันทึก และจำนวนเฉลี่ยของกระบวนการที่ใช้งานอยู่ในช่วง 1/5/15 นาทีที่ผ่านมา) และรายละเอียดเกี่ยวกับผู้ใช้ที่เชื่อมต่อด้านล่าง (ชื่อ, ประเภทเทอร์มินัล, IP การเชื่อมต่อต้นทาง, เวลาเข้าสู่ระบบ, สถิติเกี่ยวกับกิจกรรมล่าสุดและชื่อของกระบวนการที่ใช้งานอยู่ในปัจจุบัน)
เคล็ดลับ: ลักษณะเฉพาะของการใช้ Shell ตามเดิมนั้น คำสั่ง w จะไม่มีข้อมูลของผู้ใช้ที่เชื่อมต่อผ่าน terminal emulator
2. สถิติทั้งหมดเกี่ยวกับการใช้ RAM ของเซิร์ฟเวอร์ถูกเก็บไว้ในไฟล์ /proc/meminfo หากต้องการตรวจสอบเนื้อหาให้ใช้คำสั่ง cat:
cat /proc/meminfo

คุณสามารถตรวจสอบข้อมูลต่างๆ เช่น หน่วยความจำที่จัดสรรทั้งหมด (MemTotal) หน่วยความจำที่ไม่ได้ใช้ (MemFree) หน่วยความจำที่ใช้เป็นแคช (Cached) และอื่นๆ
3. การแสดงข้อมูลพื้นฐานซอร์ฟแวร์และฮาร์ดแวร์คอนเทนเนอร์ ให้ดำเนินการตามคำสั่งต่อไปนี้:
uname -a

คุณจะเห็นข้อมูลของ server kernel (ชื่อ, เวอร์ชัน, วันที่วางจำหน่าย) โหนดชื่อโฮสต์, ประเภท CPU, OS และอื่นๆ
วิธีการจัดการกระบวนการคอนเทนเนอร์ระยะไกลผ่านเทอร์มินอล
1. ในขณะที่เชื่อมต่อผ่าน SSH คุณสามารถตรวจสอบกระบวนการทำงานทั้งหมดภายในคอนเทนเนอร์ได้ด้วยคำสั่ง top:

ข้อมูลจะอัปเดตอย่างต่อเนื่องในโหมดเรียลไทม์โดยแสดงข้อมูลเกี่ยวกับกระบวนการของผู้ใช้ทั้งหมด (รวมถึงกระบวนการของระบบ)
กด Ctrl + C เพื่อหยุดการดำเนินการคำสั่งและกลับสู่โหมด input console
2. หากต้องการแสดงเฉพาะกระบวนการที่ user ใช้งานอยู่ให้พิมพ์คำสั่ง ps:

3. คำสั่งที่มีประโยชน์อีกคำสั่งหนึ่งคือ kill ซึ่งอนุญาตให้ยุติกระบวนการทำงานใดๆที่กำหนดโดย {pid} เป็น argument (ตัวระบุกระบวนการที่จำเป็นสามารถพบได้ใน output ของคำสั่งก่อนหน้า):
kill {pid}

อย่างที่คุณเห็นกระบวนการรันที่แสดงบนหน้าจอในขั้นตอนที่ 2 ของส่วนนี้ได้หยุดลงเนื่องจากไม่ได้แสดงในรายการที่ใช้งานอยู่ตอนนี้
การเก็บไฟล์แอปพลิเคชันปฏิบัติการผ่าน SSH Console
คุณสามารถดาวน์โหลดไฟล์ที่ต้องการจากอินเตอร์เน็ตได้ (เช่น ไฟล์เก็บถาวรแอปพลิเคชันของคุณ) ผ่านคอนโซลเพื่อจัดเก็บหรือปรับใช้ไฟล์เหล่านั้นภายในเซิร์ฟเวอร์ของคุณในภายหลัง
1. คำสั่ง wget อนุญาตให้ดาวน์โหลดไฟล์ตาม {link} ที่ระบุ:
wget {link}

2. จากนั้นคุณสามารถ unzip ไฟล์ถาวรที่ดาวน์โหลดโดยใช้คำสั่ง:
unzip {archive}
โดยที่ {archive} คือเส้นทางที่จะบีบอัดแพ็คเกจของคุณ

ดังนั้นไฟล์ที่แยกออกมาทั้งหมดจะถูกวางไว้ในโฟลเดอร์ชื่อเดียวกัน (หลังไฟล์เก็บถาวร) ภายในไดเร็กทอรีปัจจุบัน
การตั้งค่าตัวแปรเซิร์ฟเวอร์ที่กำหนดเองผ่าน SSH
1. รายการ environment variables เริ่มต้นสำหรับคอนเทนเนอร์ใดๆสามารถดูได้ภายในไฟล์ .bash_profile ซึ่งอยู่ในไดเร็กทอรีหลักของคอนเทนเนอร์ ดังนั้นตรวจสอบว่าคุณอยู่ไดเร็กทอรีคอนเทนเนอร์ที่ถูกต้องและรันคำสั่งถัดไป:
cat .bash_profile

2. ไฟล์ .bash_profile จะไม่สามารถแก้ไขได้ในกรณีที่คุณต้องการตั้งค่าตัวแปรเพิ่มเติมคุณสามารถเขียนในไฟล์ .bashrc ภายในโฟลเดอร์เดียวกัน (หากไม่มี ให้สร้างขึ้นใหม่) โดยใช้ text editor (เช่น vi):

3. การกำหนดตัวแปรใหม่ควรกำหนดในรูปแบบต่อไปนี้:
export {VAR_NAME}={VAR_VALUE}
โดยที่:
- {VAR_NAME} – ชื่อของตัวแปรที่คุณต้องการจะสร้าง
- {VAR_VALUE} – ค่าของตัวแปรที่เหมาะสม

หมายเหตุ: ไฟล์ .bashrc จะถูกอ่านระหว่างการเริ่มต้น bash ดังนั้นการเปลี่ยนแปลงจะถูกนำไปใช้โดยอัตโนมัติเมื่อเริ่มต้นเซสชันผู้ใช้เพิ่มเติมทั้งหมด แต่ในกรณีที่คุณต้องการใช้การเปลี่ยนแปลงที่ทำขึ้นทันที ให้รันคำสั่ง bash เพื่อรีสตาร์ท shell
4. การตรวจสอบว่าใช้ตัวแปรที่กำหนดเองของคุณสำเร็จหรือไม่ ให้รันคำสั่งต่อไปนี้:
echo ${VAR_NAME}

คุณจะเห็นสตริง {VAR_VALUE} คล้ายกับค่าที่คุณเพิ่งกำหนดให้กับตัวแปร ${VAR_NAME} ในไฟล์ .bashrc
ข้อมูลเฉพาะของ Certified Containers Remote Management
Ruk Com Cloud PaaS มีซอร์ฟแวร์สแต็กสองประเภทซึ่งใช้เป็นฐานในการสร้างคอนเทนเนอร์แต่ละอัน:
- dockerized – เทมเพลตโมเดลแบบรวมตามการรองรับมาตรฐาน Docker แบบ native พร้อมหลักการทั่วไปและฟังก์ชันการจัดการคอนเทนเนอร์สำหรับเซิร์ฟเวอร์ทุกประเภท (เช่น ไม่ว่าจะเป็น compute node, หรือเซิร์ฟเวอร์ฐานข้อมูล, หรืออินสแตนซ์แคช ฯลฯ)
เมื่อเชื่อมต่อกับเซิร์ฟเวอร์ดังกล่าวผ่าน SSH คุณจะสามารถควบคุมอินสแตนซ์ได้อย่างเต็มที่อัตโนมัติโดยให้สิทธิ์รูทและสามารถดำเนินการใดๆที่ต้องการภายในคอนเทนเนอร์ได้ - certified – เทมเพลตซอร์ฟแวร์อ้างอิงตามการใช้งานสแต็กดั้งเดิมและปรับปรุงโดยทีมงานของเราตามแพลตฟอร์มเฉพาะ
เมื่อเข้าสู่เซิร์ฟเวอร์ดังกล่าวผ่าน SSH คุณจะเข้าสู่ระบบในฐานะผู้ใช้เซิร์ฟเวอร์เริ่มต้น เพื่อที่จะจัดการคอนเทนเนอร์อย่างมีประสิทธิภาพ เราจึงได้จัดทำตัวเลือกเพิ่มเติมที่สามารถใช้งานได้ภายใต้บัญชีผู้ใช้ทั่วไป:
- sudo sbin/service {service_name} {start|stop|restart|condrestart|status|reload|upgrade|help} – ชุดคำสั่งเพื่อดำเนินการเซิร์ฟเวอร์หลักซึ่งกำหนดด้วย placeholder {service_name} (โดยที่ค่าที่เป็นไปได้ขึ้นอยู่กับเซิร์ฟเวอร์ที่ใช้ ได้แก่ jetty, mysql, tomcat, memcached, mongod, postgresql, couchdb, glassfish-domain1, nginx, php-fpm และ httpd)
- sudo usr/bin/jem firewall {fwstart|fwstop} – เพื่อ run/stop ไฟร์วอลล์คอนเทนเนอร์ตามลำดับ
- sudo usr/bin/jem nscd – เพื่อควบคุม name-service caching daemon ซึ่งเก็บบันทึกสำหรับคำขอชื่อเซิร์ฟเวอร์ที่พบบ่อยที่สุด (เช่น passwd, โฮสต์, กลุ่ม ฯลฯ)
- sudo sbin/service rpcbind.service – เพื่อปฏิบัติการกับบริการ RPC bind ใช้เพื่อจับคู่ชื่อที่ผู้ใช้อ่านได้กับหมายเลขโปรแกรมที่จัดการการโทรเข้า RPC
- sudo sbin/service {service_name} {start|stop|restart|condrestart|status|reload|upgrade|help} – ชุดคำสั่งเพื่อดำเนินการเซิร์ฟเวอร์หลักซึ่งกำหนดด้วย placeholder {service_name} (โดยที่ค่าที่เป็นไปได้ขึ้นอยู่กับเซิร์ฟเวอร์ที่ใช้ ได้แก่ jetty, mysql, tomcat, memcached, mongod, postgresql, couchdb, glassfish-domain1, nginx, php-fpm และ httpd)
คำสั่งข้างต้นแม้จะรันในโหมด sudo ก็ตามแต่ไม่จำเป็นต้องป้อนรหัสผ่าน root ของผู้ดูแลระบบเซิร์ฟเวอร์ วิธีนี้ช่วยให้คุณช้ประโยชน์จากฟังก์ชันคอนเทนเนอร์ที่จำเป็นทั้งหมดซึ่งจำเป็นสำหรับการทำงานที่เหมาะสมสำหรับแอปพลิเคชันของคุณแม้จะได้รับอนุญาตจากบัญชีเป็นประจำก็ตาม
บทสรุป
คุณทราบข้อมูลพื้นฐานที่จำเป็นทั้งหมดในการจัดการคอนเทนเนอร์ของคุณผ่านคอนโซล คุณสามารถใช้ประโยชน์จาก PaaS ได้ยืดหยุ่นมากขึ้นในขณะที่ใช้งานแอปพลิเคชันของคุณเริ่มต้นกับ Multi-Cloud ที่หนึ่งในผู้ให้บริการที่ผ่านการรับรองทั่วโลก