Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

ลองทำการ build/deploy ระบบที่พัฒนาด้วย OpenFaaS

$
0
0

ระบบงานี่พัฒนาด้วย OpenFaaS นั้น
ในการ build และ deploy จะสร้าง container image ในรูปแบบของ OCI
นั่นทำให้เราสามารถ deploy ระบบได้หลากหลายวิธี
ยกตัวอย่างเช่น

  • Docker
  • Docker + Buildkit
  • Buildkit standalone
  • Img
  • Pouch
  • Podman
  • Buildah
  • K3s
  • Kanico

เยอะไปไหนนะ ?
แต่เรามาลอง deploy ด้วยบางตัวกันนิดหน่อย

เริ่มด้วยวิธีมาตรฐานคือใช้ Docker + Dockerfile

ซึ่งผมใช้ middleware template ของภาษา Go

[gist id="27b4f375aa6b8dc8a49b6cd4197626b8" file="1.txt"]

โดยไฟล์หลัก ๆ ที่ generate ขึ้นมาที่น่าสนใจคือ ไฟล์ /first/Dockerfile

[gist id="27b4f375aa6b8dc8a49b6cd4197626b8" file="Dockerfile"]

การ build และ deploy ของ OpenFass นั้น
ก็ต้องใช้งาน Docker นั่นเอง
มาทำการ build และ run นิดหน่อยดังนี้

[gist id="27b4f375aa6b8dc8a49b6cd4197626b8" file="2.txt"]

เท่านี้ก็ใช้งานได้แล้ว

มาลอง Deploy ด้วย Docker + Buildkit

แน่นอนว่าทำได้ แต่เราทำไปทำไม ?
มันมีข้อดีอะไรบ้าง ?
ครั้งแรกจะนานพอสมควร
แต่ว่าระบบ caching ดีมาก ๆ เร็วกว่าแบบปกติมาก ๆ ระบบ caching ดีมาก ๆ
ชอบเลย
ทำการ enable buildit ขึ้นมาได้ดังนี้

[gist id="27b4f375aa6b8dc8a49b6cd4197626b8" file="3.txt"]

หรือลองใช้ Buildkit แบบ standalone ก็ได้

ซึ่งใช้ได้บน Linux เท่านั้น

[gist id="27b4f375aa6b8dc8a49b6cd4197626b8" file="4.txt"]

จะได้ container image ที่เราสามารถนำไปสร้าง container ได้ต่อไป
จากที่ลองมาหลาย ๆ วิธี
เราจะได้เห็นรูปแบบที่หลากหลาย
และน่าสนใจมาก ๆ ลองเล่นกันดูครับ มันสนุกมาก ๆ

ตัวอย่าง code อยู่ที่นี่ GitHub::Up1


Viewing all articles
Browse latest Browse all 1997

Trending Articles