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

เนื่องจากมีโปรเจคทำหุ่นยนต์แมงมุม 4 ขาค้างไว้ แต่ไม่ค่อยได้เขียนวิธีการทำในส่วนต่างๆ ก็เลยกลับมาเขียนย้อนหลังกันสักหน่อย จะได้เป็นแนวทางให้ท่านที่สนใจเผื่ออยากลองทำหุ่นยนต์เล่นกันบ้้าง การใช้งาน Servo ใน Arduino UNO เราสามารถใช้งานผ่าน Servo Library โดยส่งค่า PWM และหน่วงเวลาให้ Servo ทำงาน แต่หากต้องการควบคุม Servo จำนวนมากๆ จะต้องใช้ Servo Driver หรือ Servo Shield เข้ามาช่วย ครั้งนี้มาแนะนำ Adafruit 16-channel PWM/Servo Shield ครับ หน้าตาเป็นแบบนี้

สำหรับท่านที่อยากหาซื้อ Shield ก็สั่งซื้อได้จาก Arduino All กันได้ สำหรับ Servo Shield ตัวนี้ทำงานผ่าน I2C แต่การใช้งานไม่ต้องเขียนโค้ดผ่าน I2C นะครับ ทาง Adafruit มี Library ให้ใช้งานชื่อ Adafruit PWM Servo Driver Library การติดตั้ง Library ก็ง่ายมากๆ ติดตั้งผ่าน Library Manager ได้เลย

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

NET-PIE เป็น Platform as a Service บริการการเชื่อมต่อข้อมูลและแลกเปลี่ยนข้อมูลระหว่างอุปกรณ์ต่างๆ ได้ เหมาะสำหรับ Internet of Things ซึ่งรูปแบบการใช้งานจะเหมือนกับ MQTT พ่วงความสามารถด้าน Authentication และ Token เพิ่มความปลอดภัยในการสื่อสาร เราสามารถเชื่อมต่อกับ NET-PIE ได้หลายช่องทาง ทั้งอุปกรณ์ IoT อย่าง Arduino, Raspberry Pi, ESP8266 Dev Kit, HTML5 หรือแม้กระทั่ง Node.js Application ดังนั้นหากคุณใช้ ESP8266 Dev Kit ของค่ายใดอยู่ก็ตามสามารถใช้งานได้เลย ดู Library ของอุปกรณ์ต่างๆ ได้ที่หน้าโครงการใน GitHub NET-PIE ให้บริการโดยศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (NECTEC)

มาลองเล่นกัน การใช้งาน NET-PIE ก็ง่ายมากๆ

  • สมัครสมาชิก
  • เพิ่ม Application ลงใน Key Management
  • เขียนโค้ดลงในอุปกรณ์


Continue reading

ครั้งนี้เราจะมาลองสร้าง Video Streamming Service จาก Camera Module ใน Raspberry Pi กัน เราจะใช้ MJPG-streamer มาช่วยในการสร้าง เริ่มต้นจากต่อ Camera Module ให้เรียบร้อย จากนั้น build MJPG-streamer ดังนี้

ติดตั้ง compiler ที่ต้องใช้กันก่อน

sudo apt-get install libjpeg8-dev imagemagick libv4l-dev make gcc git cmake g++

เอาโค้ดจาก get repository มาใช้

git clone https://github.com/jacksonliam/mjpg-streamer.git

จากนั้นสั่ง make


Continue reading

วิธีการติดกล้องให้ Raspberry Pi ทำได้หลายวิธี คุณอาจจะใช้ Camera Module ของ Raspberry Pi โดยตรง หรือใช้กล้อง Web Cam ก็ได้ ครั้งนี้จะมาแนะนำการติดตั้ง Camera Module และวิธีการใช้งานเบื้องต้นกัน ตัว Camera Module มีหน้าตาแบบนี้

สำหรับการต่อสายก็เสียบเข้าไปยังช่อง Camera แบบนี้

เมื่อติดตั้งเสร็จ ssh ไปยัง Raspberry Pi หรือเปิด terminal ใช้คำสั่ง

sudo raspi-config


Continue reading

Repetier Server เป็นเว็บแอพลิเคชั่นที่ช่วยให้คุณควบคุมและสั่งงาน 3D Printer ผ่านเว็บเบราเซอร์ได้ ซึ่งทำให้การใช้งานสะดวกมากขึ้น ไม่ต้องถอดเสียบ SD Card อีกต่อไป เพียงแค่เลือกไฟล์แล้วอัพโหลดไปยังระบบแล้วสั่งพิมพ์ เท่านี้ก็สั่งงาน 3D Printer ได้ง่ายๆ ความสามารถไม่ได้มีแค่นี้ Repetier Server ยังสามารถดูขั้นตอนการพิมพ์ผ่านการแสดงผลแบบกราฟิก สั่งงานผ่านคำสั่ง GCode โดยตรงได้ ดู log ของการพิมพ์ ตั้งค่าเครื่องพิมพ์ คำนวณค่าใช้จ่ายในการพิมพ์ชิ้นงาน และมีหน้าจอสำหรับการสั่งงานผ่าน Touch Screen ด้วย


Continue reading