วิธีรับการถอดรหัสลับใน Kubernetes

Withi Rab Kar Thxdrhas Lab Ni Kubernetes



Kubernetes คือระบบปรับใช้คอนเทนเนอร์แบบโอเพ่นซอร์สที่รันแอปพลิเคชันแบบคอนเทนเนอร์ภายในคลัสเตอร์ Kubernetes ในการปรับใช้แอปพลิเคชัน ข้อมูลลับเป็นหนึ่งในทรัพยากรที่สำคัญของ Kubernetes มันถูกใช้เพื่อจัดเก็บข้อมูลที่สำคัญหรือเป็นความลับ เช่น ชื่อผู้ใช้และรหัสผ่าน, คีย์ API, ใบรับรอง หรือโทเค็น ช่วยให้ผู้ใช้ไม่ต้องให้ข้อมูลที่สำคัญในรูปแบบโค้ด ข้อมูลลับของ Kubernetes ไม่ได้จัดเก็บข้อมูลโดยตรง แต่จะแปลงข้อมูลเป็นรูปแบบอื่นก่อน จากนั้นจึงจัดเก็บไว้ในทรัพยากร Kubernetes

บทความนี้จะอธิบาย:

จะสร้างความลับของ Kubernetes ได้อย่างไร

ข้อมูลลับประเภทต่างๆ มีอยู่ใน Kubernetes โดยข้อมูลลับทั่วไปใช้เพื่อจัดเก็บข้อมูลทั่วไป เช่น ข้อมูลรับรองผู้ใช้และโทเค็น ข้อมูลลับ TLS ใช้เพื่อจัดเก็บใบรับรองและคีย์ tls และข้อมูลลับของรีจิสทรีนักเทียบท่าจะจัดเก็บข้อมูลรับรองการเข้าสู่ระบบ Docker







สำหรับการสาธิต เราจะสร้างความลับทั่วไปเพื่อจัดเก็บชื่อผู้ใช้และรหัสผ่านตามคำแนะนำด้านล่าง



ขั้นตอนที่ 1: เริ่มคลัสเตอร์

ขั้นแรก ให้เริ่มต้นคลัสเตอร์ Kubernetes หากต้องการทำเช่นนั้น เพียงใช้ปุ่ม “ มินิคิวบ์สตาร์ท ' สั่งการ:



มินิคิวบ์สตาร์ท -พี มัลติโหนด

ในคำสั่งข้างต้น เรากำลังเริ่มต้นคลัสเตอร์ minikube แบบหลายโหนด:





ขั้นตอนที่ 2: สร้างไฟล์ข้อมูลรับรอง

จากนั้นสร้างไฟล์ข้อความสองไฟล์ชื่อ 'username.txt' และ 'password.txt' เพื่อบันทึกชื่อผู้ใช้และรหัสผ่านตามลำดับ



ขั้นตอนที่ 3: สร้างความลับ

จากนั้นไปที่ไดเร็กทอรีที่คุณสร้างไฟล์ข้อมูลรับรอง:

ซีดี C:\Users\Dell\Documents\Kubernetes\Secret

สร้างความลับใหม่โดยใช้ “ kubectl สร้างความลับ ' สั่งการ. ที่นี่ “ –จาก-ไฟล์ ตัวเลือก ” ใช้เพื่อบันทึกข้อมูลลับจากไฟล์:

kubectl สร้างความลับสาธิตความลับทั่วไป --จาก-ไฟล์ = ชื่อผู้ใช้ =ชื่อผู้ใช้.txt --จาก-ไฟล์ = รหัสผ่าน =รหัสผ่าน.txt

ขั้นตอนที่ 4: รับความลับ

สำหรับการตรวจสอบ ให้ระบุความลับโดยใช้คำสั่งด้านล่าง

kubectl ได้รับความลับ

ผลลัพธ์บ่งชี้ว่าสร้างข้อมูลลับใหม่สำเร็จแล้ว:

วิธีรับความลับที่ถอดรหัสใน Kubernetes

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

ขั้นตอนที่ 1: อธิบายความลับ

kubectl อธิบาย ” แสดงข้อมูลสรุปโดยละเอียดของทรัพยากร Kubernetes หากต้องการดูรายละเอียดความลับ ให้ใช้ปุ่ม “ kubectl อธิบายความลับ ' สั่งการ:

kubectl อธิบายความลับการสาธิตความลับ

ที่นี่ คำสั่งด้านบนแสดงขนาดข้อมูลลับเฉพาะในหน่วยไบต์ แต่ไม่เปิดเผยข้อมูลลับดังที่แสดงด้านล่าง:

ขั้นตอนที่ 2: รับข้อมูลลับในรูปแบบ Json

หากต้องการรับข้อมูลลับในรูปแบบ json ให้ใช้คำสั่งด้านล่าง:

kubectl รับความลับการสาธิตความลับ -โอ jsonpath = '{.ข้อมูล}'

ผลลัพธ์ด้านล่างแสดงข้อมูลลับที่เข้ารหัสใน base64:

หากต้องการดูข้อมูลลับ ผู้ใช้จำเป็นต้องถอดรหัสข้อมูลลับ ในการถอดรหัสความลับจาก base64 เป็นรูปแบบจริง ผู้ใช้จำเป็นต้องมีเทอร์มินัล bash เพื่อรันคำสั่ง bash หากต้องการติดตั้งเทอร์มินัล bash ให้ปฏิบัติตาม “ เพิ่ม Git Bash ไปยัง Windows Terminal ' บทความ.

ขั้นตอนที่ 3: ถอดรหัสความลับ

หากต้องการถอดรหัสความลับ ให้เปิดเทอร์มินัล 'git bash' ก่อน หลังจากนั้นให้เรียกใช้ ' echo <ชื่อผู้ใช้ที่เข้ารหัส base64> | base64 –ถอดรหัส ' สั่งการ. คำสั่งนี้สามารถดำเนินการได้โดยตรงบนเทอร์มินัล Linux และ Mac:

เสียงสะท้อน 'TGludXhoaW50' | ฐาน64 --ถอดรหัส

ที่นี่เราได้ถอดรหัสชื่อผู้ใช้แล้ว:

หากต้องการถอดรหัสรหัสผ่าน ให้ใช้ปุ่ม “ echo <รหัสผ่านที่เข้ารหัส base64> | base64 –ถอดรหัส ' สั่งการ:

เสียงสะท้อน 'TGludXhoaW50QDEyMw==' | ฐาน64 --ถอดรหัส

วิธีรับความลับที่ถอดรหัสโดยใช้แพ็คเกจ View-Secret

ผู้ใช้ Kubernetes สามารถถอดรหัสความลับได้โดยใช้แพ็คเกจที่แตกต่างกันและ “ ดูความลับ ” แพ็คเกจเป็นหนึ่งในนั้นที่สามารถติดตั้งและใช้งานได้ง่ายผ่านปลั๊กอินที่รองรับ Kubernetes ตัวใดตัวหนึ่ง “ เลือด '. ในการติดตั้งและใช้งาน “ ดูความลับ ” ทำตามการสาธิตด้านล่าง:

วิชาบังคับก่อน: ติดตั้งปลั๊กอิน Krew

ปลั๊กอิน Krew เป็นหนึ่งในปลั๊กอิน Kubernetes ที่สามารถใช้เพื่อติดตั้งแพ็คเกจต่างๆ เพื่อมอบฟังก์ชันพิเศษให้กับทรัพยากร Kubernetes หากต้องการติดตั้ง krew บนระบบ ให้ทำตามขั้นตอนด้านล่าง

ขั้นตอนที่ 1: ดาวน์โหลดไฟล์ “krew.exe”

ขั้นแรก ไปที่ krew releases อย่างเป็นทางการ หน้าหนังสือ และดาวน์โหลดไฟล์ “krew.exe”:

—————————————————————————————————————————-

โดยค่าเริ่มต้น krew จะถูกดาวน์โหลดใน “ ดาวน์โหลด ” โฟลเดอร์:

ขั้นตอนที่ 2: เปิดพรอมต์คำสั่ง

เปิด Command Prompt ด้วยสิทธิ์ของผู้ดูแลระบบผ่านทาง “ การเริ่มต้น ' เมนู:

ขั้นตอนที่ 3: ติดตั้ง Krew

นำทางไปยังไดเรกทอรีที่ “ blood.exe ” ไฟล์ถูกดาวน์โหลด:

ซีดี C:\Users\Dell\ดาวน์โหลด

จากนั้นใช้คำสั่งด้านล่างเพื่อติดตั้ง krew บน Windows:

.\เลือด ติดตั้ง เลือด

คำสั่งดังกล่าวจะติดตั้ง krew ในไดเร็กทอรีผู้ใช้ “ C:\Users\<ชื่อผู้ใช้>\.crew\bin ”:

ขั้นตอนที่ 4: เพิ่ม Krew ลงใน Windows Path

หากต้องการเข้าถึงคำสั่ง Krew จากบรรทัดคำสั่งของ Windows ผู้ใช้จะต้องเพิ่ม krew ในเส้นทางของ Windows โดยค้นหา “ ตัวแปรสภาพแวดล้อม ” ในเมนู Start และเปิดการตั้งค่าที่ไฮไลต์ด้านล่าง:

จาก ' ขั้นสูง แท็บ ' เปิดการตั้งค่า 'ตัวแปรสภาพแวดล้อม':

เลือก “ เส้นทาง ” ตัวแปรแล้วกดปุ่ม “ แก้ไข ' ปุ่ม:

กด ' ใหม่ ” เพื่อเพิ่มเส้นทาง ให้วางปุ่ม “ C:\Users\<ชื่อผู้ใช้>\.crew\bin ” แล้วกดปุ่ม “OK”:

ขั้นตอนที่ 5: การยืนยัน

ตอนนี้ ปิดเทอร์มินัล Windows ทั้งหมดแล้วเปิด Command Prompt หรือ PowerShell จากนั้นรันคำสั่งด้านล่างเพื่อตรวจสอบว่าติดตั้ง krew หรือไม่:

เลือดคิวเบกเทิล

ผลลัพธ์แสดงว่าเราได้ติดตั้ง krew บนระบบสำเร็จแล้ว:

ถอดรหัสความลับของ Kubernetes โดยใช้แพ็คเกจ View-Secret

หากต้องการถอดรหัสข้อมูลลับโดยใช้แพ็คเกจ view-secret ขั้นแรกให้ติดตั้งข้อมูลลับโดยใช้ krew หลังจากนั้นให้ใช้เครื่องหมาย “ kubectl ดูความลับ <ชื่อลับ> ” คำสั่งถอดรหัสความลับ สำหรับภาพประกอบ ให้ดูขั้นตอนด้านล่างนี้

ขั้นตอนที่ 1: ติดตั้งแพ็คเกจ View-Secret

หากต้องการติดตั้งแพ็คเกจ view-secret ให้ใช้ปลั๊กอิน Kubectl krew ดังที่แสดงด้านล่าง:

เลือดคิวเบกเทิล ติดตั้ง ดูความลับ

คุณจะเห็นได้ว่าเราได้ติดตั้งแพ็คเกจ view-secret แล้ว ละเว้นคำเตือนที่แสดงด้านล่างด้วย:

ขั้นตอนที่ 2: ดูความลับของ Kubernetes

ถัดไป หากต้องการดูความลับที่ถอดรหัสของ Kubernetes ให้ใช้ปุ่ม “ kubectl ดูความลับ <ชื่อลับ> ' สั่งการ:

kubectl ดูความลับ สาธิตความลับ

ที่นี่ผลลัพธ์จะแสดงข้อมูลลับปัจจุบันที่มีตัวแปรสองตัว หากต้องการดูค่าที่ถอดรหัส ผู้ใช้จำเป็นต้องระบุชื่อตัวแปรในคำสั่งด้วย:

ขั้นตอนที่ 3: ถอดรหัสความลับ

ในการถอดรหัสค่าความลับ ให้ใช้คำสั่ง “ kubectl view-secret <ชื่อลับ> <ชื่อตัวแปร> ' สั่งการ:

kubectl ดูความลับ ชื่อผู้ใช้สาธิตความลับ

ที่นี่เราได้ถอดรหัสชื่อผู้ใช้แล้ว:

โดยการเปลี่ยนชื่อตัวแปรในคำสั่งข้างต้น เราได้เข้าถึงรหัสผ่านดังที่แสดงด้านล่าง:

kubectl ดูความลับ รหัสผ่านสาธิตความลับ

นั่นคือทั้งหมดที่เกี่ยวกับการรับความลับที่ถอดรหัสใน Kubernetes

บทสรุป

หากต้องการรับข้อมูลลับที่ถอดรหัสใน Kubernetes ขั้นแรกให้เข้าถึงข้อมูลลับในรูปแบบ json ผ่านคำสั่ง 'kubectl get secret' คำสั่งนี้จะแสดงข้อมูลลับที่เข้ารหัสใน base64 หากต้องการถอดรหัสข้อมูล ให้ใช้ปุ่ม “ echo <ข้อมูลที่เข้ารหัส base64> | base64 –ถอดรหัส ' สั่งการ. หรือผู้ใช้สามารถดูความลับที่ถอดรหัสได้โดยใช้แพ็คเกจ 'view-secret' บล็อกนี้ได้อธิบายวิธีรับความลับที่ถอดรหัสใน Kubernetes