The Cloud Camp Week#06 (K8S Part1:Overview)

สัปดาห์นี้เป็นสัปดาห์ที่ 6 แล้ว งานเยอะระดับนึงครับ แน่นเลย และเรื่องวันนี้แน่นมาก และเป็นเรื่องใหม่ เคยได้ยิน แตะบ้าง แต่ไม่ได้ invest กันมันสักเท่าไหรครับ Container Orchestration โดยหัวข้อจะมี ดังนี้ Sketch Note Why Kubernetes & Benefit Kubernetes Overview – Pods – Deployment – Service (Virtual Load Balancer) – Ingress Kubernetes Architecture (Basic) – Kubernetes Component – Kubernetes Context (group of access parameters) Kubernetes Command (Context) Kubernetes Setup Kubernetes Architecture (Advance) – API – Access Control – Container Runtime in Kube – Control Pane & Node Component How kube-scheduler work kube-network How to Create POD K8S Namespace Reference Sketch Note  ภาพรวมของ 2 วันแรก ภาพใหญ่จนเอาขึ้นไม่ได้ 555 Why Kubernetes & Benefit สัปดาห์ที่ 2 จะมีบอกว่าทำไมต้องใช้ตัว Container Orchestration ย้อนกลับไปดูได้จาก…

ลองใช้ GitLab REST API

ตอนนี้มีโจทย์ให้คิดครับ เพราะเท่าที่ย้ายมาใช้ Git มาน่าจะ 3 ปี และจะเจอปัญหานึงประจำเลย มี Branch เปิดลอยๆไว้ ไม่เอามา Merge เข้าเส้นหลัก และไม่ได้ Pull Code ให้ Update ล่าสุดด้วย แล้วมันเอาไปทำอะไร ถามแล้วไม่มีใครรับว่าเป็นเจ้าของอีก ได้เป็นโจทย์เล็กๆ สำหรับมาหาว่า Branch อันนี้ใครสร้างคนแรก เพราะที่ส่องจาก GitLab มันจะมี Event Push ขึ้นมา ดังรูป แต่ก่อนจะใช้งาน API เราต้องเตรียมตัวอะไรบ้างนะ Generate Access Token (API KEY) เมื่อกำหนดขึ้นมาเสร็จ ระบบจะแสดง Key ขึ้นมาเหนือช่อง Token Name ให้ Copy เก็บไว้ ถ้าทำหายก็ Generate ใหม่อย่างเดียวครับ ส่วนถ้าใช้ไปนานๆ แล้ว อยากจะเอาออก (Revoke) สามารถกดที่ Icon ถังขยะได้เลย Test ด้วย Postman ก่อน ว่ามัน Return อะไรมาบ้าง ลองยิง Request โดยกำหนด API KEY “PRIVATE-TOKEN” จาก Token ที่ได้สร้างมาก่อนหน้า โดยจะใส่เข้าไปในส่วนของ Header กำหนด Setting ได้ตามรูปเลยครับ ลองสัก API เช่น GET Project ดึงจาก Project API มาลอง API ที่เกี่ยวกับปัญหาของ Blog นี้จริงๆ โดยดึงจาก Event API หลังจากลองแล้วจะพบว่า โจทย์ของเราหา Event ที่บอกว่า…

[micro-learning] สรุป Verbal to Visual Note Taking

สำหรับ Class นี้ เรียกว่าขอบคุณ Facebook ที่ทำให้เห็นโพสของ Be Skilled Software Tester the Series ของคุณหนุ่ม เลยได้มีโอกาสกดตั๋วฟรีทันครับ อิอิ เรียนฟรี เลยเขียน Blog สรุปไว้ เผื่อคนอื่นมาอ่าน เริ่มต้นด้วย Why ปกติเรารับรู้จากประสาทสัมผัส  ตา หู จมูก ลิ้น มือ และจดจำ โดยมีหลายแบบจำเฉยๆ หรือจดบันทึกออกมาในรูปแบบ Text แต่ทว่าเมื่อเวลาผ่านไปลืม แต่พอจะกลับมาดูอีกครั้งปรากฏว่าจำไม่ได้ หรือไม่สามารถใส่ลำดับ หรือความสัมพันธ์กันได้ ถ้าในสายงาน IT อย่างเราคุณหนุ่มจะตัวอย่างเรื่อง Requirement ถ้าฟังมา และสื่อสารออกมาผิด จะผิดเป็น Chain ต่อไป ดังนั้น นอกจากการจดแล้ว ลองมาเปลี่ยนวิธีใหม่ ลองวาดออกมาเป็นรูป / mindmap เพราะคนเราจดจำได้ดีกว่าครับ เลยเป็นที่มาของ Verbal to Visual โดยมี Step ประมาณนี้ Component และนอกจาก Component ต้องมี Pattern การจัดวาง เพื่อให้อ่านได้ลื่นไหลด้วย แบบ Basic เลย Mindmap อยู่ตรงกลาง และกระจายออกไป / ซ้ายไปขวา หรือ เป็นตัว Z เดี๋ยวจะมีขยายต่อในวันถัดไปครับ ถ้าใครที่ไม่มี Idea ฝึกดูรูปวาดของคนอื่น หรือ Pinterest (Keyword Visual Note) / ปล. สาย IT ผมรู้สึกว่าของ Bytebytego (@bytebytego) ก็ได้นะ เอามาเป็น Ref ได้ดีเลย จากนั้นในวันแรกมีให้ลองวาดด้วย สำหรับผมยังโหนรถเมล์อยู่เลยครับ…

The Cloud Camp Week#05 (docker compose)

ใน Week นี้มีเรียนวันเดียวครับ และเป็นการเรียนจาก Overview of the get started guide | Docker Docs และมี Recap ช่วงท้ายครับ ใน Blog จะจดบางส่วนที่ควรรู้เพิ่มครับ ขยายจาก The Cloud Camp Week#03 (Container 101) docker network อันนี้จะเสริมจาก Blog เดิมนะครับ สำหรับเคสอื่นๆ ดูจาก Network drivers overview | Docker Docs docker volume ถ้าต้องการดูเพิ่มเติม ลองดูได้จาก Manage data in Docker | Docker Docs ครับ อ๋อ แล้วที่ลองโจทย์ dockercon จะเจอว่าเหมือนตัว MySQL จำ Volume เก่า แก้ตามนี้ครับ mysql – MYSQL_ROOT_PASSWORD is set but getting “Access denied for user ‘root’@’localhost’ (using password: YES)” in docker container – Stack Overflow docker clear resource health check มีหลายอัน ผมเข้าใจผิด อย่างตัว –health-cmd คิดว่ามันมีเฉพาะ podman docker ก็มีนะ Ref: Docker Healthcheck Command Status for…

[CR] MOM’S TOUCH @ICS

สำหรับวันนี้น้องที่ทำงานชวนมากินครับ เลยเดินจากบริษัทแถวลาดหญ้า มาที่ ICS โดยร้าน MOM’S TOUCH อยู่ที่ชั้น 1 ตรงประตูทางเข้าเลย – Menu ของทางร้าน เนื่องจากได้ลองมาครั้งแรก ถ่ายเก็บไว้ดีกว่า หลังจากดูมาสั่งพัก นึกไม่ออกครับ เพราะปกติไม่ค่อยกินของพวกนี้เท่าไหร่ โดยเมนูที่เลือก ไธเฟล็กซ์เบอร์เกอร์ (Thigh Flex Burger) มันเขียนว่า Must Try ครับ แล้วคิดว่ามันไม่น่าจะเยอะนะ ฮ่าๆ ซึ่งราคามี 2 แบบ และจ่ายผ่าน PromptPay ได้ด้วย อันนี้ดีย์ครับ – ของที่สั่ง หลังจากเลือกชุดไธเฟล็กซ์เบอร์เกอร์ (Thigh Flex Burger Set) แบบ Set 239 บาท รอประมาณ 10 นาท ตัวเบอร์เกอร์ + น้ำอัดลมมาส่งครับ เปิดมาครั้งแรก น่ากินครับ ไก่ทอด 2 ชิ้น ขนาดใหญ่ ไก่ทอดงานดีเลยครับ ฉ่ำๆ ไม่แห้งไปครับ แต่ขนาดมันใหญ่ไป 55 ใส่มา 2 ชั้น มันเลยต้องค่อยๆกัดๆเอาครับ ซอสก็อร่อยด้วยครับ รออีกประมาณ 20 นาที ตัวเฟรนซ์ฟรายส์ (French fries) ลองทานแล้วกินได้ แต่ผมไม่ค่อยชอบมันแข็งไป แบบหนาไป + เนื้อแน่นๆ แล้วรสสัมผัสไม่เหมือนกันของ McDonald’s / Chester Grill Reference

[C#] ลองใช้งานตัว DebuggerDisplayAttribute

.NET Core

หลายครั้ง เราอยากดูค่าของ Property ต่างๆ ใน Object ที่สนใจ เมื่อก่อนเราต้องมาไล่ดูทีละตัว ซึ่งมันไม่สะดวกเลยครับ ตามรูปด้านล่างเลย หรือ ถ้า Advance ขึ้นมาหน่อยใช้วิธี Override ToString() เอาครับ ซึ่งมันตอบโจทย์ระดับนึง แต่ถ้าเราต้องการใช้ ToString() ในเคสอื่นๆหละมันไม่จะไปขัดกับตอนแรกที่ทำ เพื่อจะ Debug ครับ DebuggerDisplayAttribute พระเอกของเราครับ เจ้าตัว DebuggerDisplayAttribute เอามาช่วยให้เราดูค่าของ property ที่ใช้ประจำได้สะดวกขึ้น โดยเพิ่ม Attribute นี้ที่หัวของ Class และกำหนด Property + Expression ที่ต้องการแสดงครับ หลังจากใช้ DebuggerDisplayAttribute พบว่า Reference

Software Telemetry คือ อะไร

Earth observations taken by Expedition 44 crewmember

ตัวคำนี้ผมได้ยินมาตั้งแต่สมัยตอนทำ Thesis ว่ามันเอา metric ไปใช้ต่อ แต่คิดว่ามาเขียนให้เป็นรูปเป็นร่างดีกว่า เผื่อต้องมาลองย้อนนึกๆ อีกครับ โดยก่อนที่เราต้องมารู้จัก Telemetry สิ่งที่ต้องรู้อย่างแรก นอกจาก Software จะถูกออกแบบให้มันทำงานตาม Business ใน Domain นั้นๆ แล้ว สิ่งที่ตัว Software ที่ดีควรจะทำเพิ่ม เพื่อเอามาติดตามปัญหา หรือจะทำ Preventive Maintenance มี 3 ส่วน ได้แก่ แล้วที่นี้ตัว Software Telemetry คือ อะไร Reference

The Cloud Camp Week#04 (Agile)

สำหรับสัปดาห์นี้มาพักเรื่อง Technical บ้าง มาคั่นด้วยแนวคิด Agile กันครับ ที่เป็นแนวคิดมาแรงในยุคนี้ หลายที่ทำสำเร็จ หลายทีทำตาม หลายทีล้มเหลว อย่างบริษัทที่ผมทำอยู่ ทำเพราะ CMMI ใส่คำนี้ 55555 (เมาส์ได้ทั้งวัน เรื่องนี้) สำหรับ Blog นี้ที่จดๆมา จะมีหัวข้อ ประมาณนี้ Introduction to Agile Agile คืออะไร แนวทางการทำงานเป็นขั้นตอนและงานด้านเอกสารลง เน้นการสื่อสาร เปิดรับ Feedback มากขึ้น เพื่อให้ตัว Product ออกมาได้ตรงตามที่ต้องการมากที่สุด ส่วนตัวผมไม่อยากใช้คำว่า Agile แล้วไว เพราะมันเป็นคำที่ผู้บริหาร ฟังไปแล้วเข้าใจผิดมากที่สุดเลย แบบเดิมใช้ 4 เดือน Agile แล้วต้องเหลือ 2 เหลือ ลดลงจริง แต่เป็นคนทำงาน ฝ่างงงง สำหรับคนที่ทำงานสายนี้ มี Cert เหมือนกันนะ อันนี้เพิ่งรู้เลย มี 2 ตัว Doing Agile / Being Agile อันนี้เป็นคำที่ผมไม่เคยได้ยินจากใน บ นะ หรือ Consult CMMI โผล่มาคุ้ม Scrum เลย แล้ว 2 คำนี้มันต่างกันยังไงนะ ? ** ถ้า ผบห ระดับสูงลงมาใน Loop ด้วย นอกจากการสั่งๆ ให้ทำ จะดีมาก Why Agile? เพราะแบบเดิมที่ทำกันมาอย่าง Waterfall ซึ่งมีการทำงานชัดเจน เป็นลำดับขั้นตอน (Defined Process) ซึ่งมันให้ Feedback มาช่วยท้ายๆของ กระบวนการ ทำให้แก้ไขได้ยากขึ้น + Cost…

Windows11/10 OpenSSH Server Public Key authentication

empty train rail with light

ภาพรวมการทำงานที่ Client ใช้ ssh-keygen สร้าง Private + Public Key ขึ้นมา จากนั้นนำ Public Key ที่วางที่เครื่อง Server ในไฟล์ authorized_keys จากนั้นจะเป็นการทดสอบ Connect โดยมีขั้นตอน ดังนี้ How do you generate the SSH key pair ใช้คำสั่ง ssh-keygen เพื่อสร้าง SSH key pair ตอน Run คำสั่ง ssh-keygen จะใช้ Algorithm RSA ซึ่งอาจจะไม่ปลอดภัยในปัจจุบันแล้ว ถ้าต้องการใช้ Algorithm อย่าง ED25519 ตอนสร้าง SSH key pair แก้ไขคำสั่ง ดังนี้ โดยมันจะถาม Path ด้านล่าง ว่าให้เก็บที่ Path /home/<<YOUR_USERNAME>>/.ssh (C:\Users\<>/.ssh/) และชื่อไฟล์ id_rsa หรือ ถ้าใช้ ed25519 ก็จะเป็นชื่อไฟล์ id_ed25519 จากนั้นจะเป็นการกำหนด passphrase จะเป็นส่วนของ Password ที่ต้องใช้คู่กับ Key ถ้าไม่ต้องการกำหนดก็สามารถกด Enter ข้ามได้เลยครับ และรอระบบสร้าง public (.pub) และ private key ครับ โดยที่ทั้ง 2 ไฟล์นี้ ปกติแล้วจะถูกสร้างที่ Path C:\Users\<YOURUSERNAME>/.ssh Algorithm Default Private Key Name Default Public Key Name RSA id_rsa id_rsa.pub ed25519…

AZ-104: Prerequisites for Azure administrators

azure

สำหรับอันนี้จะเน้น Recap AZ-900 การใช้ Tools ต่างๆ ได้แก่ Azure portal / Azure Cloud Shell / Azure PowerShell และ Azure CLI Configure Azure resources with tools Use Azure Resource Manager Configure resources with Azure Resource Manager templates Automate Azure tasks using scripts with PowerShell Control Azure services with the CLI Deploy Azure infrastructure by using JSON ARM templates