การเข้าถึง SSH ไปยัง Container: จัดการ Server ของคุณจากระยะไกล
คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี
ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง
วัตถุประสงค์
บทความนี้อธิบายการเข้าถึง SSH ไปยัง Container: จัดการ Server ของคุณจากระยะไกล บน Ruk-Com Cloud PaaS โดยจัดลำดับขั้นตอนและจุดตรวจสอบสำหรับการนำไปใช้งานจริง
ก่อนเริ่มดำเนินการ
- เข้าสู่ระบบด้วยบัญชีที่มีสิทธิ์จัดการ Environment ที่เกี่ยวข้อง
- ตรวจสอบชื่อ Environment, Region และ Resource เป้าหมายก่อนบันทึกการเปลี่ยนแปลง
- สำรองข้อมูลหรือกำหนดแผนย้อนกลับก่อนแก้ไขระบบ Production
รักคอม Cloud Platformอนุญาตให้คุณเข้าถึง Container ภายในบัญชีของคุณผ่าน SSH ได้อย่างสะดวก โดยสามารถเลือกใช้งานได้ 2 วิธีหลัก:
- wp:รายการรายการ
- เว็บ SSH- คุณสามารถคลิกปุ่มเว็บ SSHที่อยู่ถัดจาก Environment หรือ Container ที่ต้องการ เพื่อเปิด Terminal แบบออนไลน์ผ่านเว็บ Browser ได้ทันที เทอร์มินัลจะปรากฏขึ้นที่ด้านล่างของหน้า Dashboard ช่วยให้คุณจัดการ Server ได้อย่างรวดเร็วโดยไม่ต้องใช้โปรแกรมภายนอก

- wp:รายการรายการ
- ประตูเอสเอสเอช (ผ่าน Local SSH Client)- อีกวิธีในการเชื่อมต่อ Server ของคุณคือการใช้ SSH client จากเครื่องของคุณเอง (เช่น Terminal หรือโปรแกรมเช่น PuTTY) โดยใช้คู่ SSH Keyที่ตั้งค่าไว้ล่วงหน้า:WP:รายการ wp:รายการรายการ
- เพิ่มกุญแจสาธารณะไปยังบัญชีของคุณผ่านหน้า Dashboard Ruk-Com Cloud /wp:list-item wp:รายการรายการ
- ใช้คีย์ส่วนตัวที่ตรงกันบนเครื่องของคุณสำหรับการเชื่อมต่อ
วิธีนี้เหมาะสำหรับผู้ที่ต้องการจัดการ Server ผ่านเครื่องส่วนตัว โดยไม่ต้องเปิด Browser /wp:list-item /wp:รายการ /wp:list-item

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

คุณจะเห็นสตริงสีม่วงที่ข้างชื่อ HostContainer จะเปลี่ยนไป ซึ่งบ่งบอกถึงตำแหน่งปัจจุบันของคุณ
เคล็ดลับ:หากคุณเพิ่งเริ่มใช้ stack runtime ที่รัน Instance ของคุณ คุณควรสำรวจโครงสร้างภายในก่อน (เช่น แผนผังของไฟล์และ Directory ไฟล์การกำหนดค่าที่ใช้ได้ ฯลฯ) วิธีที่สะดวกที่สุดคือการใช้ตัวจัดการไฟล์GUI ในตัวซึ่งมีให้โดยคลิกที่ปุ่มการกำหนดค่าถัดจาก Server ที่ต้องการที่แผงควบคุมในหน้า Dashboard
คลิกปุ่ม“กำหนดค่า”ที่อยู่ถัดจาก Container นั้น ระบบจะเปิดหน้าจอตัวจัดการไฟล์ซึ่งคุณสามารถเรียกดูไฟล์/Directory ลบ แก้ไข หรืออัปโหลดไฟล์ได้ทันที
1. ในการสร้างไฟล์หรือโฟลเดอร์ใหม่ให้รันคำสั่งถัดไป:
- wp:รายการรายการ
- แตะ [เส้นทางสู่/]{ไฟล์}-สร้างไฟล์ใหม่ /wp:list-item wp:รายการรายการ
- mkdir [เส้นทางสู่/]{dir}-สร้างโฟลเดอร์ใหม่
โดยที่
{ไฟล์}และ{ผบ.}- ชื่อไฟล์หรือโฟลเดอร์ที่ต้องการ (หากสร้างใน Directory ปัจจุบัน)
[เส้นทางสู่/]- Parameter ทางเลือก สำหรับกรณีนี้รายการใหม่ควรอยู่ในตำแหน่งอื่น

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

3. คำสั่งทั่วไปที่ใช้สำหรับการจัดการไฟล์
- wp:รายการรายการ
- แมว- ใช้กับไฟล์ text; ขึ้นอยู่กับ args ที่ระบุ อนุญาตให้ดู, รวมเข้าด้วยกัน, ทำไฟล์ซ้ำ (ซ้ำกัน) /wp:list-item wp:รายการรายการ
- ซีพี- ใช้สำหรับคัดลอกไฟล์และ Directory /wp:list-item wp:รายการรายการ
- ค้นหา- ใช้สำหรับค้นหาไฟล์หรือ Directory ที่ต้องการภายใน Server โดยใช้ชื่อ (หรือบางส่วน) /wp:list-item wp:รายการรายการ
- MV- ใช้สำหรับย้ายไฟล์หรือเปลี่ยนชื่อไฟล์และ Directory /wp:list-item wp:รายการรายการ
- นโยบายความเป็นส่วนตัว-ใช้สำหรับดูเส้นทางแบบเต็มไปยัง Directory ปัจจุบัน (เทียบกับ root Container) /wp:list-item wp:รายการรายการ
- RM-ใช้สำหรับลบไฟล์หรือ Directory ที่ระบุ /wp:list-item
ตอนนี้มาดูความค่าเริ่มต้น shell เพื่อตรวจสอบการทำงานและจัดการเมตริกของ Node การใช้ Resource กระบวนการการทำงานภายใน ฯลฯ
คำสั่งสำหรับการดูข้อมูลระบบ Server
1. การรับข้อมูลสรุปสั้นๆเกี่ยวกับสถานะ Container ปัจจุบันและตรวจสอบให้แน่ใจ เช่น ไม่มีตัวที่ทำให้เกิดผลต่อประสิทธิภาพหรือความสามารถในการดำเนินการผิดปกติ โดยใช้คำสั่งw:

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

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

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

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

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

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

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

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

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

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

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

คุณจะเห็นสตริง {VAR_VALUE} คล้ายกับค่าที่คุณเพิ่งกำหนดให้กับตัวแปร ${VAR_NAME} ในไฟล์.bashrc
ข้อมูลเฉพาะของ Certified Containers Remote Management
Ruk Com Cloud PaaS มีซอร์ฟแวร์ Stack สองประเภทซึ่งใช้เป็นฐานในการสร้าง Container แต่ละอัน:
- wp:รายการรายการ
- เทียบท่า- Template โมเดลแบบรวมตามการรองรับมาตรฐานDocker แบบ nativeพร้อมหลักการทั่วไปและฟังก์ชันการจัดการ Container สำหรับ Server ทุกประเภท (เช่น ไม่ว่าจะเป็น compute node, หรือ ServerDatabase, หรือ Instance Cache ฯลฯ)
เมื่อเชื่อมต่อกับ Server ดังกล่าวผ่าน SSH คุณจะสามารถควบคุม Instance ได้อย่างเต็มที่อัตโนมัติโดยให้สิทธิ์รูทและสามารถดำเนินการใดๆที่ต้องการภายใน Container ได้ /wp:list-item wp:รายการรายการ - ได้รับการรับรอง- Template ซอร์ฟแวร์อ้างอิงตามการใช้งาน Stack ดั้งเดิมและปรับปรุงโดยทีมงานของเราตาม Platform เฉพาะ
เมื่อเข้าสู่ Server ดังกล่าวผ่าน SSH คุณจะเข้าสู่ระบบในฐานะผู้ใช้ Server เริ่มต้น เพื่อที่จะจัดการ Container อย่างมีประสิทธิภาพ เราจึงได้จัดทำตัวเลือกเพิ่มเติมที่สามารถใช้งานได้ภายใต้บัญชีผู้ใช้ทั่วไป:
WP:รายการ wp:รายการรายการ - sudo sbin/service {service_name} {เริ่มต้น|หยุด|Restart|condrestart|สถานะ|โหลดใหม่|อัปเกรด|ช่วยเหลือ}- ชุดคำสั่งเพื่อดำเนินการ Server หลักซึ่งกำหนดด้วย placeholder{ชื่อบริการ}(โดยที่ค่าที่เป็นไปได้ขึ้นอยู่กับ Server ที่ใช้ ได้แก่ jetty, MySQL, tomcat, memcached, mongod, postgresql, couchdb, glassfish-domain1, NGINX, php-fpm และ httpd)
- Firewall sudo usr/bin/jem {fwstart | fwstop}- เพื่อ run/stop Container Firewall ตามลำดับ
- sudo usr/bin/jem nscd- เพื่อควบคุมเดมอน Cache บริการชื่อซึ่งเก็บบันทึกสำหรับคำขอชื่อ Server ที่พบบ่อยที่สุด (เช่น passwd, Host, กลุ่ม ฯลฯ)
- sudo sbin/บริการ rpcbind.service- เพื่อปฏิบัติการกับบริการการผูก RPCใช้เพื่อจับคู่ชื่อที่ผู้ใช้อ่านได้กับหมายเลขโปรแกรมที่จัดการการโทรเข้า RPC
คำสั่งข้างต้นแม้จะรันในโหมด sudo ก็ตามแต่ไม่จำเป็นต้องป้อนรหัสผ่าน root ของผู้ดูแลระบบ Server วิธีนี้ช่วยให้คุณช้ประโยชน์จากฟังก์ชัน Container ที่จำเป็นทั้งหมดซึ่งจำเป็นสำหรับการทำงานที่เหมาะสมสำหรับ Application ของคุณแม้จะได้รับอนุญาตจากบัญชีเป็นประจำก็ตาม
บทสรุป
คุณทราบข้อมูลพื้นฐานที่จำเป็นทั้งหมดในการจัดการ Container ของคุณผ่านคอนโซล คุณสามารถใช้ประโยชน์จาก PaaS ได้ยืดหยุ่นมากขึ้นในขณะที่ใช้งาน Application ของคุณเริ่มต้นกับ Multi-Cloud ที่หนึ่งในผู้ให้บริการที่ผ่านการรับรองทั่วโลก
