Rancher Compose เป็น Orchestration Tool คล้ายกับ Docker Compose แต่การทำงานจะเป็นการเชื่อมต่อกับ Racher ไม่ได้เชื่อมต่อกับ Swarm ดังนั้นการใช้งาน Rancher Compose จะต้องใช้คู่กับ Rancher ด้วย Rancher Compose จะใช้ไฟล์ config อยู่ 2 ไฟล์คือ docker-compose.yml สำหรับกำหนด stack ที่ต้องการ deploy และ rancher-compose.yml สำหรับกำหนดค่า Load Balance หรือการ Scale หากใช้ไฟล์ docker-compose.yml อย่างเดียว Rancher จะไปสร้าง config rancher-compose ให้ พร้อมกำหนดจำนวน Scale เท่ากับ 1 ไว้ ดังนั้นในแต่ละ Service สามารถสั่ง Scale ได้โดยอัตโนมัติ

ตัวอย่าง Jenkins CI จะเห็นภาพมากที่สุด เพราะโครงสร้างของ Jenkins ออกแบบมาให้ Scale ในส่วน Jenkins Slave ได้เรื่อยๆ ดังนั้นหากมีการเพิ่ม Host ของ Jenkins Slave เมื่อ Container เริ่มทำงานจะต้อง Link กลับมาที่ Jinkins Master เพื่อ config slave เพิ่ม เราจะใช้ image ชื่อ ibuildthecloud/jenkins-swarm และ ibuildthecloud/jenkins-swarm-slave กัน Rancher Compose สามารถใช้งานได้บน UI, API และ CLI ครั้งนี้มาลองใช้ CLI กันบ้าง ให้ดาวน์โหลด Rancher Compose CLI มาจากหน้า Stack และติดตั้งให้เรียบร้อย

Continue reading

ครั้งที่แล้วพาเล่น Load Balance บน Rancher แบบง่ายๆ ไปแล้ว ครั้งนี้ก็เลยมายกตัวอย่าง HA WordPress กันบ้าง WordPress เป็น CMS เก็บข้อมูลบน Storage 2 ส่วน คือ บน MySQL และบน File System หากต้องการทำ HA สำหรับ WordPress จะต้องกระจายโหลดจาก Load Balance ไปยัง WordPress และการเก็บข้อมูลจะต้องเก็บข้อมูลบน Storage เดียวกันโดยใช้ Distributed Storage เข้ามาช่วย และใช้ MySQL Cluster สำหรับเก็บข้อมูลด้วย เครื่องมือที่ใช้ได้แก่ Gluster,
Percona XtraDB Cluster และ WordPress มาลงมือกันเลย ให้คุณเพิ่ม Docker Host เข้าไปใน Rancher 3 Host ดังนี้


Continue reading

Load Balance Service เป็นบริการที่มีใน Rancher คุณสามารถสร้าง Web Application พร้อม Load Balance ได้ง่าย โดยไม่ต้องตั้งค่าให้ยุ่งยาก ไม่ต้องใช้ plugin เสริม ไม่ต้องติดตั้งอะไรเพิ่มเติม Load Balance Service มีให้ใช้งานในส่วน Stack มาลองสร้าง Load Balance ให้ Web Application เล็กๆ กันครับ อันดับแรกให้คุณเพิ่ม Docker Host เข้ามาใน Rancher ดังนี้

จากนั้นสร้าง App Stack ขึ้นมาใหม่

Continue reading

ครั้งที่แล้วพาเล่น RancherOS และได้แนะนำ Rancher ไปแล้วนิดหน่อย ครั้งนี้เราจะมาลองเล่น Rancher กันให้มากขึ้น Rancher เป็นเครื่องมือจัดการ Docker Container รองรับการเพิ่ม Docker Host ในรูปแบบ Bootstrap บน Cloud Platform ต่างๆ เช่น AWS, Digital Ocean, Rackspace, Azure เป็นต้น นอกจากนี้ยังสามารถใช้งานร่วมกับ Docker Host ปกติได้ เช่นกัน

การติดตั้ง Rancher ทำได้หลายวิธี แต่วิธีที่ง่ายและสะดวกที่สุดคือติดตั้งโดยใช้ Docker ดังนี้

docker run -d --restart=always -p 8080:8080 rancher/server

เมื่อติดตั้งเสร็จ ก็ใช้งานได้เลย เปิดเบราเซอร์ไปที่ http://your-host:8080 คุณจะพบว่า Rancher ทำงานแล้ว

Continue reading

RancherOS เป็นระบบปฏิบัติการ Linux ขนาดเล็กเพียง 20MB พัฒนามาเพื่อใช้งานกับ Cloud โดยเฉพาะ ผนวกความสามารถด้าน container เข้ามาด้วย สิ่งที่แตกต่างจากระบบปฏิบัติการ Linux ขนากเล็กเจ้าอื่นๆ อย่าง Atomic, CoreOS, Snappy คือมี Docker ทำงานอยู่ 2 ระดับคือ System Docker และ User Docker ซึ่ง PID 1 เป็น System Docker นอกจากระบบปฏิบัติการแล้วยังมีเครื่องมือช่วยจัดการ Docker Container ในชื่อ Rancher อีกด้วย

ครั้งนี้เรามาลองดูระบบปฏิบัติการ RancherOS กันก่อน RancherOS สามารถใช้งานได้บน Docker Machine, Vagrant, Boot จาก ISO, Bare metal หรือจะใช้งานบน Cloud Service เช่น Amazon Web Service และ Google Cloud Platform ได้เช่นกัน

Continue reading