Cách nhận được giải mã bí mật trong Kubernetes

Cach Nhan Duoc Giai Ma Bi Mat Trong Kubernetes



Kubernetes là một hệ thống triển khai vùng chứa nguồn mở chạy các ứng dụng được đóng gói bên trong cụm Kubernetes. Trong triển khai ứng dụng, các bí mật là một trong những tài nguyên thiết yếu của Kubernetes. Nó được sử dụng để lưu trữ thông tin quan trọng hoặc bí mật như tên người dùng và mật khẩu, khóa API, chứng chỉ hoặc mã thông báo. Nó giúp người dùng không phải cung cấp thông tin quan trọng trong mã. Kubernetes secret không lưu trữ dữ liệu trực tiếp, đầu tiên nó chuyển đổi dữ liệu sang dạng khác rồi lưu trữ trong tài nguyên Kubernetes.

Bài viết này sẽ minh họa:

Làm cách nào để tạo bí mật Kubernetes?

Các loại bí mật khác nhau tồn tại trong Kubernetes, bí mật chung được sử dụng để lưu trữ thông tin chung như thông tin xác thực và mã thông báo của người dùng, bí mật TLS được sử dụng để lưu trữ chứng chỉ và khóa tls, còn bí mật đăng ký docker lưu trữ thông tin đăng nhập Docker.







Để trình diễn, chúng tôi sẽ tạo một bí mật chung để lưu tên người dùng và mật khẩu theo hướng dẫn bên dưới.



Bước 1: Bắt đầu cụm

Đầu tiên, khởi động cụm Kubernetes. Để làm như vậy, chỉ cần sử dụng “ bắt đầu minikube ' yêu cầu:



bắt đầu minikube -P đa nút

Trong lệnh trên, chúng ta đang bắt đầu cụm minikube đa nút của mình:





Bước 2: Tạo tệp thông tin xác thực

Tiếp theo, tạo hai tệp văn bản có tên “username.txt” và “password.txt” để lưu tên người dùng và mật khẩu tương ứng.



Bước 3: Tạo bí mật

Tiếp theo, điều hướng đến thư mục nơi bạn đã tạo tệp thông tin xác thực:

đĩa CD C:\Users\Dell\Documents\Kubernetes\Secret

Tạo một bí mật mới bằng cách sử dụng “ kubectl tạo bí mật ' yêu cầu. Ở đây, “ –từ tập tin Tùy chọn ” được sử dụng để lưu dữ liệu bí mật từ tệp:

kubectl tạo bí mật chung demo-bí mật --từ tập tin = tên tài khoản =tên người dùng.txt --từ tập tin = mật khẩu =password.txt

Bước 4: Nhận bí mật

Để xác minh, hãy liệt kê bí mật bằng lệnh bên dưới

kubectl có được bí mật

Kết quả đầu ra cho biết một bí mật mới đã được tạo thành công:

Làm cách nào để lấy bí mật được giải mã trong Kubernetes?

Đôi khi người dùng có thể được yêu cầu xem thông tin bí mật vì nhiều lý do khác nhau, chẳng hạn như mục đích gỡ lỗi, xem thông tin xác thực để xác nhận, v.v. Để có được bí mật được giải mã trong Kubernetes, hãy làm theo phần trình diễn bên dưới.

Bước 1: Mô tả bí mật

Các ' kubectl mô tả ” hiển thị bản tóm tắt chi tiết về tài nguyên kubernetes. Để xem chi tiết bí mật, hãy sử dụng nút “ kubectl mô tả bí mật ' yêu cầu:

kubectl mô tả bí mật demo-bí mật

Ở đây, lệnh trên chỉ hiển thị kích thước dữ liệu bí mật tính bằng byte nhưng không hiển thị thông tin bí mật như hiển thị bên dưới:

Bước 2: Lấy dữ liệu bí mật ở định dạng Json

Để lấy dữ liệu bí mật ở định dạng json, hãy sử dụng lệnh bên dưới:

kubectl lấy bí mật demo-bí mật -O đường dẫn json = '{.dữ liệu}'

Kết quả bên dưới hiển thị dữ liệu bí mật được mã hóa trong base64:

Để xem bí mật, người dùng cần giải mã bí mật. Để giải mã bí mật từ base64 sang dạng thực, người dùng cần có bash terminal để chạy lệnh bash. Để cài đặt bash terminal, hãy làm theo “ Thêm Git Bash vào Windows Terminal ' bài báo.

Bước 3: Giải mã bí mật

Để giải mã bí mật, trước tiên hãy khởi chạy thiết bị đầu cuối “git bash”. Sau đó, chạy lệnh “ echo | base64 –giải mã ' yêu cầu. Lệnh này có thể được thực thi trực tiếp trên thiết bị đầu cuối Linux và Mac:

tiếng vọng 'TGludXhoaW50' | cơ sở64 --giải mã

Ở đây, chúng tôi đã giải mã tên người dùng:

Để giải mã mật khẩu, hãy sử dụng “ echo | base64 –giải mã ' yêu cầu:

tiếng vọng 'TGludXhoaW50QDEyMw==' | cơ sở64 --giải mã

Làm cách nào để lấy bí mật được giải mã bằng gói View-Secret?

Người dùng Kubernetes có thể giải mã bí mật bằng cách sử dụng các gói khác nhau và “ chế độ xem bí mật ” gói là một trong số chúng có thể được cài đặt và sử dụng dễ dàng thông qua một trong các plugin được Kubernetes hỗ trợ “ Máu ”. Để cài đặt và sử dụng “ chế độ xem bí mật ” gói, hãy làm theo phần trình diễn dưới đây:

Điều kiện tiên quyết: Cài đặt Krew Plugin

Plugin Krew là một trong những plugin Kubernetes có thể được sử dụng để cài đặt các gói khác nhau nhằm cung cấp các chức năng bổ sung cho tài nguyên Kubernetes. Để cài đặt krew trên hệ thống, hãy thực hiện các bước dưới đây.

Bước 1: Tải xuống tệp “krew.exe”

Đầu tiên, hãy điều hướng đến bản phát hành chính thức của krew trang và tải xuống tệp “krew.exe”:

—————————————————————————————————————————————

Theo mặc định, krew sẽ được tải xuống trong “ Tải xuống ' thư mục:

Bước 2: Khởi chạy dấu nhắc lệnh

Mở Dấu nhắc Lệnh với quyền quản trị thông qua “ Khởi động ' thực đơn:

Bước 3: Cài đặt Krew

Điều hướng đến thư mục chứa “ máu.exe ” tập tin được tải xuống:

đĩa CD C:\Users\Dell\Tải xuống

Tiếp theo, sử dụng lệnh bên dưới để cài đặt krew trên Windows:

.\máu cài đặt máu

Lệnh trên sẽ cài đặt krew trong thư mục người dùng “ C:\Users\\.crew\bin ”:

Bước 4: Thêm Krew vào đường dẫn Windows

Để truy cập các lệnh Krew từ dòng lệnh Windows, người dùng được yêu cầu thêm krew vào đường dẫn Windows. Để làm như vậy, hãy tìm kiếm “ Biến môi trường ” trong menu Bắt đầu và khởi chạy các cài đặt được đánh dấu bên dưới:

Từ ' Trình độ cao tab ', hãy mở cài đặt 'Biến môi trường':

Chọn “ Con đường ” biến và nhấn nút “ Biên tập ' cái nút:

Nhấn nút “ Mới Nút ” để thêm đường dẫn, dán nút “ C:\Users\\.crew\bin ” và nhấn nút “OK”:

Bước 5: Xác minh

Bây giờ, hãy đóng tất cả các thiết bị đầu cuối Windows và khởi chạy Dấu nhắc Lệnh hoặc PowerShell. Sau đó, chạy lệnh bên dưới để kiểm tra xem krew đã được cài đặt hay chưa:

máu kubectl

Kết quả đầu ra cho thấy chúng ta đã cài đặt thành công krew trên hệ thống:

Giải mã bí mật Kubernetes bằng gói View-Secret

Để giải mã bí mật bằng gói view-secret, trước tiên hãy cài đặt bí mật bằng krew. Sau đó, sử dụng “ kubectl view-secret ” lệnh giải mã bí mật. Để minh họa, hãy xem các bước dưới đây.

Bước 1: Cài đặt gói View-Secret

Để cài đặt gói view-secret, hãy sử dụng plugin Kubectl krew như bên dưới:

máu kubectl cài đặt chế độ xem bí mật

Bạn có thể thấy chúng tôi đã cài đặt gói view-secret. Bỏ qua cảnh báo hiển thị bên dưới:

Bước 2: Xem bí mật Kubernetes

Tiếp theo, để xem bí mật được giải mã Kubernetes, hãy sử dụng nút “ kubectl view-secret ' yêu cầu:

kubectl view-secret demo-secret

Ở đây, đầu ra hiển thị bí mật hiện tại chứa hai biến. Để xem giá trị được giải mã, người dùng cũng cần chỉ định tên biến trong lệnh:

Bước 3: Giải mã bí mật

Để giải mã giá trị bí mật, hãy sử dụng “ kubectl view-secret ' yêu cầu:

kubectl view-secret demo-bí mật tên người dùng

Ở đây, chúng tôi đã giải mã tên người dùng:

Bằng cách thay đổi tên biến trong lệnh trên, chúng ta đã truy cập được mật khẩu như hình dưới đây:

kubectl view-secret demo-secret mật khẩu

Đó là tất cả về việc nhận được bí mật được giải mã trong Kubernetes.

Phần kết luận

Để lấy bí mật được giải mã trong Kubernetes, trước tiên hãy truy cập dữ liệu bí mật ở định dạng json thông qua lệnh “kubectl get secret”. Lệnh này sẽ hiển thị dữ liệu bí mật được mã hóa trong base64. Để giải mã dữ liệu, hãy sử dụng “ echo | base64 –giải mã ' yêu cầu. Ngoài ra, người dùng có thể xem bí mật đã được giải mã bằng cách sử dụng gói “view-secret”. Blog này đã minh họa cách lấy các bí mật được giải mã trong Kubernetes.