[บันทึกกันลืม] วิธีป้องกันไม่ให้ผู้ใช้ดาวน์โหลดสิ่งใด ๆ ออกไปจาก Jupyter Notebook/Lab ได้

ปัญหา การใช้ Jupyter Notebook/Lab (aka. Jupyter) นั้นมีข้อดีคือ เราสามารถจำกัดการเข้าถึงข้อมูลที่ละเอียดอ่อนได้ อย่างเช่นเราสามารถตั้งค่าการ access ของ database user ได้จาก private ip ของ Jupyter ได้ แต่ก็ยังมีช่องโหว่คือ ผู้ใช้สามารถ Export file แล้ว download ออกไปได้ ** Caution: บันทึกนี้ไม่สามารถป้องการการ scp และ API call เพื่อ upload ไปยัง Google Drive, Owncloud ได้ ** ในที่นี้ ใช้ Jupyter ผ่าน Docker/Kubernetes แนวทางการแก้ไข Credit: เปิด Terminal แล้วพิมพ์คำสั่งต่อไปนี้ เพื่อปิด เมนู แต่ก็ยังมีทางให้เรียกผ่าน URL … Read more

[บันทึกกันลืม] kubernetes certificate expired

ถ้าท่านที่รัน Kubernetes นานพอ ก็จะได้เจอปัญหานี้ พอดี cluster ผมใช้งานมาครบ 365 วันนี้พอดี เราก็มือใหม่ซะด้วยสิ ทีนี้ ว้าวุ่นเลย อิอิ ปัญหา เมื่อใช้คำสั่งต่าง ๆ บน control plane แล้วได้ error ประมาณนี้ Unable to connect to the server: x509: certificate has expired or is not yet valid: สาเหตุ Certificate ของ kubernetes cluster มีวันหมดอายุ และวันนี้มันหมดอายุไปแล้ว วิธีตรวจสอบ วิธีแก้ไข ตรวจสอบผล หวังว่าจะเป็นประโยชน์

Ubuntu OVAL Update2

จากโพสตั้งต้น เมื่อ 6 เดือนก่อนที่https://sysadmin.psu.ac.th/2023/02/14/ubuntu-oval/ มาดูว่ามีอะไรเปลี่ยนแปลงไปบ้างในรายงาน OVAL 1.1. v1.2.16 เมื่อวันที่ 6Feb2023@1632 สำหรับ Ubuntu 20.04 LTS1.2. v1.2.17 เมื่อวันที่ 18Aug2023@0234 สำหรับ Ubuntu 22.04 LTS 2.1. เมื่อวันที่ 6Feb2023@0635 มี 1049 Definitions, 2284 Tests, 2264 Variables สำหรับ Ubuntu 20.04 LTS2.2. เมื่อวันที่ 14Jul2023@0240 มี 513 Definitions, 1043 Tests, 735 Variables สำหรับ Ubuntu 22.04 LTS2.3. เมื่อวันที่ 16Aug2023@0037 มี 550 Definitions, 1123 Tests, … Read more

[บันทึกกันลืม] วิธีกำหนดให้ pod สร้างเฉพาะบน node ที่ต้องการ

Kubernetes cluster สามารถกระจายตัวไปในหลาย ๆ ดาต้าเซนเตอร์ได้ แต่ในบางงาน เช่น การใช้ Airflow ในการเข้าถึงข้อมูลบนระบบฐานข้อมูล ซึ่งจำกัดการเข้าถึงได้เฉพาะจากบาง IP range เท่านั้น สามารถทำได้โดยการกำหนด ‘label’ ให้ nodes ที่ต้องการ และ nodeSelector ของ pods หรือ resources วิธีกำหนด label ให้ node ใช้คำสั่งต่อไปนี้ เพื่อ label ว่า ‘database-access=true’ ให้ node ชื่อ ‘dc1node1’ ซึ่งเป็น node ที่สามารถเข้าถึงฐานข้อมูลได้ วิธีระบุ Pod/Resource ให้เลือก node ที่ต้องการ ใช้คำสั่งเพื่อ edit เช่น จากนั้นเลื่อนไปที่ ตั้งค่า เมื่อทำมีการ reschedule ก็จะไปใช้ node … Read more