Wee


การแก้ไขฟิลด์ “สร้างโดย” ของชุดข้อมูลใน CKAN Open-D (Docker) 1

บทความนี้อธิบายวิธีการเปลี่ยนแปลงฟิลด์ “สร้างโดย” ของชุดข้อมูลในระบบ CKAN Open-D ที่รันอยู่บน Docker ซึ่งมีประโยชน์ในกรณีที่ท่านต้องการส่งมอบสิทธิ์แก้ไขชุดข้อมูลหรือจัดระเบียบรายการข้อมูล หมายเหตุ: ก่อนเริ่มดำเนินการ ควรสำรองข้อมูล (backup) ก่อนเสมอ เพื่อป้องกันความผิดพลาดที่อาจเกิดขึ้น ขั้นตอนที่ 1: เชื่อมต่อเครื่องแม่ข่ายผ่าน SSH เปิด Terminal แล้วเชื่อมต่อไปยังเครื่องแม่ข่ายที่ติดตั้ง CKAN ด้วยคำสั่ง: หมายเหตุ: เปลี่ยน user และ ckan.example.com ให้เป็นค่าที่ถูกต้อง ขั้นตอนที่ 2: ตรวจสอบรายการ […]


การสร้างบัญชีผู้ใช้ใน Kubernetes Cluster 1

บทความนี้จะแนะนำเกี่ยวกับการสร้างบัญชีผู้ใช้สำหรับจัดการ Kubernetes Cluster เพื่อให้มีสิทธ์ใช้โปรแกรม kubectl, Kubernetes Dashboard, หรือโปรแกรมอื่น ๆ ในการจัดการคลัสเตอร์ได้ โดยจะประกอบไปด้วยขั้นตอนสำหรับผู้ใช้ใหม่ (user) 2 ขั้นตอน (U1-U2) และขั้นตอนสำหรับผู้ดูแลระบบ (administrator) 5 ขั้นตอน (A1-A5) ตามแผนภาพด้านล่าง U1. สร้างไฟล์ private key และ CSR และส่งไฟล์ CSR ให้ผู้ดูแลระบบ ในขั้นตอนนี้ผู้ใช้จะสร้างไฟล์ private key และ Certificate Signing Request (CSR) ซึ่งไฟล์ที่ประกอบไปด้วยข้อมูลเกี่ยว […]


การตั้งค่า SMTP ในปลั๊กอิน WP Mail SMTP รุ่น Free สำหรับ WordPress MultiSite 1

หากประสงค์จะตั้งค่า SMTP ในปลั๊กอิน WP Mail SMTP รุ่น Free สำหรับ WordPress Multisite ครั้งละจำนวนหลายเว็บไซต์ สามารถทำได้โดยตั้งค่า WP Mail SMTP ในเว็บไซต์หลักให้แล้วเสร็จ จากนั้นจึงใช้คำสั่งต่อไปนี้ อธิบายคำสั่ง คำสั่งด้านบนเป็นชุดคำสั่งที่ใช้กับ WP-CLI (WordPress Command Line Interface) ซึ่งเป็นเครื่องมือที่ใช้จัดการ WordPress ผ่าน command line มาตรฐานของระบบปฏิบัติการ มีวัตถุประสงค์เพื่อคัดลอกการตั้งค่า SMTP จากเว็บไซต์หลักไปยังเว็บไซต์อื่น ๆ ในเครือข่าย WordPress Multisite โดยมีรายละเอียดดั […]


การปลดล็อกบัญชี Oracle Database ผ่านโปรแกรม sqlplus 1

บัญชีในโปรแกรมจัดการฐานข้อมูล Oracle Database อาจถูกล็อคได้ด้วยสาเหตุหลายประการ เช่น รหัสผ่านหมดอายุ มีการเข้าสู่ระบบด้วยรหัสผ่านที่ไม่ถูกต้องเกินจำนวนครั้งที่กำหนด ฯลฯ อาการที่พบคือเมื่อเข้าสู่ระบบด้วยบัญชีที่ถูกล็อกจะพบข้อผิดพลาด ORA-28000: the account is locked สามารถปลดล็อกบัญชีผ่านโปรแกรม sqlplus ได้โดยเปิดโปรแกรม Comand Prompt และพิมพ์คำสั่งดังนี้ หากระบุรหัสผ่านถูกต้องจะพบหน้าต่างที่มีลักษณะดังนี้ พิมพ์คำสั่งต่อไปนี้เพื่อปลดล็อคบัญชี โดยแทนที่ username ด้วยชื่อบัญชีที่ต้องการปลดล็อค


ภาพตัวอย่างข้อผิดพลาด

แก้ไขปัญหากรณีที่ไม่สามารถใช้คำสั่ง kubectl ได้ (the server has asked for the client to provide credentials) ใน RKE2

kubectl เป็นคำสั่งสำหรับใช้จัดการ Kubernetes Cluster โดยจะใช้ใบรับรองอิเล็กทรอนิกส์ในการติดต่อกับ control plane ซึ่งอาจจะพบปัญหาที่ทำให้ไม่สามารถใช้งานคำสั่งดังกล่าวได้เมื่อผ่านไประยะเวลาหนึ่ง ปัญหา เมื่อใช้คำสั่ง เช่น kubectl version หรือ kubectl get node เป็นต้น ผู้ใช้จะพบข้อผิดพลาด “error: You must be logged in to the server (the server has asked for the client to provide credentials)” นอกจากนี้ยังอาจพบข้อผิดพลาดอื่นร่วมด้วย เช่น “E0808 14:08:21.359314 3292 memcache.go:265] […]


แก้ปัญหากรณีที่ไม่สามารถเพิ่ม custom template ที่สร้างขึ้นมาใน Certificate Templates ได้

ในกรณีประสงค์ที่จะสร้าง self-signed certificate เพื่อใช้งานบน Windows Server สำหรับบริการต่าง ๆ เช่น Remote Desktop Connection หรือโพรโทคอล LDAPS โดยทั่วไปแล้วจะใช้วิธีเปิดใช้งาน role “Active Directory Certificate Services” เพื่อสร้าง root certificate และใช้ root certificate ออก certificate สำหรับบริการนั้น ๆ โดยมักจะใช้ custom template เพื่อให้สะดวกต่อการออก certificate ที่ตรงความต้องการ ปัญหา ในกรณีปกติ เมื่อสร้าง custom template ผ่านโปรแกรม Certificate Templates Console (certtmpl. […]


การลบ/แทนที่ OSD ใน Rook Ceph

กรณีที่อุปกรณ์ (HDD, SSD, ฯลฯ) ล้มเหลว จะต้องลบ OSD ของอุปกรณ์ที่มีปัญหาออก อาการหนึ่งของอุปกรณ์ล้มเหลวที่สังเกตได้คือ pod ของ OSD ที่จัดการอุปกรณ์นั้น มี STATUS เป็น CrashLoopBackoff เมื่อใช้คำสั่ง kubectl -n rook-ceph get pod -l app=rook-ceph-osd โดยบทความนี้จะอธิบายถึงขั้นตอนในการลบ OSD ออกจากคลัสเตอร์ ข้อควรระวัง นำอุปกรณ์ที่มีปัญหาออกจาก CephCluster (หากตั้ง useAllDevices: true ใน CephCluster ไว้ ให้ข้ามขั้นตอนนี้) แก้ไข CephCluster โดยนำรายการอุปกรณ์ที่มีปัญหาออก ด้วยคำสั่ง บทความนี้จะยกตั […]


การติดตั้ง Rook Ceph บน Kubernetes Cluster 1

สำหรับระบบงานที่เป็นระบบแบบกระจาย (distributed system) หรือเป็นระบบที่มีคุณสมบัติเกี่ยวกับการทำสำเนาข้อมูล (replication) อยู่แล้ว เราอาจจะจัดเก็บข้อมูลโดยใช้คุณสมบัติ Local Persistent Volumes ของ Kubernetes หรือใช้ Local Path Provisioner เพื่อจัดเก็บข้อมูลของแต่ละ Pod ไว้ให้กระจายไปตามโนดของคลัสเตอร์ได้ แต่สำหรับระบบงานทั่วไปที่ไม่มีกลไกเหล่านี้ การจัดเก็บข้อมูลไว้บนโนดใดโนดหนึ่งมีความเสี่ยงที่ข้อมูลจะสูญหายเมื่อโนดที่ใช้เก็บข้อมูลนั้น ๆ ล้มเหลว ส่งผลให้ระบบงานหยุดชะงัก เราจึงจำเป […]


ใช้ Local Path Provisioner ช่วยจัดสรรที่จัดเก็บข้อมูลถาวรภายใน Kubernetes Cluster โดยอัตโนมัติ 1

การจัดเก็บข้อมูลถาวรไว้บนโนดใดโนดหนึ่งของ Kubernetes Cluster มีความเสี่ยงที่ข้อมูลจะสูญหายหากโนดที่ใช้เก็บข้อมูลล้มเหลว อย่างไรก็ตาม ในกรณีที่ระบบงานมีความทนทานต่อการสูญหายของข้อมูล เช่น เป็นระบบแบบกระจาย (distributed system) เป็นระบบที่มีคุณสมบัติเกี่ยวกับการทำสำเนาข้อมูล (replication) หรือเป็นระบบทดสอบ อาจจะพิจารณาเลือกใช้วิธีเก็บข้อมูลถาวรไว้บนโนดใดโนดหนึ่ง โดยใช้คุณสมบัติ Local Persistent Volumes ของ Kubernetes ก็ได้ อย่างไรก็ตาม การใช้คุณสมบัติ Local Persistent Volumes มีขั้นตอนที่ค่อนข้างย […]


การจัดเก็บข้อมูลแบบถาวรบน Kubernetes Cluster ในองค์กร

Kubernetes รุ่นแรก ๆ เป็นแพลตฟอร์มการจัดการคอนเทนเนอร์ที่ออกแบบมาเพื่อรองรับแอปพลิเคชันที่ไม่มีสถานะ (stateless applications) ซึ่งไม่จำเป็นต้องจัดเก็บข้อมูลถาวร แต่ในทางปฏิบัติ มีแอปพลิเคชันจำนวนมากที่ต้องจัดเก็บข้อมูลถาวร เช่น ฐานข้อมูล เซิร์ฟเวอร์จัดเก็บไฟล์ ฯลฯ โดยผู้พัฒนา Kubernetes ก็เล็งเห็นถึงปัญหานี้ จึงได้เพิ่มคุณสมบัติสำหรับจัดการข้อมูลแบบถาวร เช่น Persistent Volumes (PVs), Persistent Volume Claims (PVCs), StatefulSet, ฯลฯ เข้ามาเพื่อให้การจัดการเกี่ยวกับการจัดเก็บข้อมูลแบบถาวรบน Kuber […]