Kubernetes에서 비밀을 디코딩하는 방법

Kubernetes Eseo Bimil Eul Dikodinghaneun Bangbeob



Kubernetes는 Kubernetes 클러스터 내에서 컨테이너화된 애플리케이션을 실행하는 오픈 소스 컨테이너 배포 시스템입니다. 애플리케이션 배포에서 비밀은 Kubernetes의 필수 리소스 중 하나입니다. 사용자 이름 및 비밀번호, API 키, 인증서 또는 토큰과 같은 중요 정보 또는 기밀 정보를 저장하는 데 사용됩니다. 사용자가 코드에 중요한 정보를 제공하지 않아도 됩니다. Kubernetes 비밀은 데이터를 직접 저장하지 않으며 먼저 데이터를 다른 형식으로 변환한 다음 Kubernetes 리소스에 저장합니다.

이 기사에서는 다음을 설명합니다.

Kubernetes 비밀을 만드는 방법은 무엇입니까?

Kubernetes에는 다양한 유형의 비밀이 존재합니다. 일반 비밀은 사용자 자격 증명 및 토큰과 같은 일반 정보를 저장하는 데 사용되고, TLS 비밀은 TLS 인증서 및 키를 저장하는 데 사용되며, Docker 레지스트리 비밀은 Docker 로그인 자격 증명을 저장합니다.







데모를 위해 아래 지침에 따라 사용자 이름과 비밀번호를 저장하는 일반 비밀을 생성하겠습니다.



1단계: 클러스터 시작

먼저 Kubernetes 클러스터를 시작합니다. 그렇게 하려면 간단히 “ 미니쿠베 시작 ' 명령:



미니쿠베 시작 -피 다중 노드

위 명령에서는 다중 노드 minikube 클러스터를 시작합니다.





2단계: 자격 증명 파일 생성

그런 다음 'username.txt'와 'password.txt'라는 두 개의 텍스트 파일을 만들어 각각 사용자 이름과 비밀번호를 저장합니다.



3단계: 비밀 생성

다음으로 자격 증명 파일을 생성한 디렉터리로 이동합니다.

CD C:\Users\Dell\Documents\Kubernetes\비밀

'를 사용하여 새 비밀을 만듭니다. kubectl create secret <비밀 유형> <비밀 이름> ' 명령. 여기서는 “ –파일에서 ” 옵션은 파일의 비밀 데이터를 저장하는 데 사용됩니다.

kubectl 비밀 생성 일반 데모 비밀 --파일에서 = 사용자 이름 =사용자 이름.txt --파일에서 = 비밀번호 =password.txt

4단계: 비밀 얻기

확인을 위해 아래 명령을 사용하여 비밀을 나열하십시오.

kubectl은 비밀을 얻습니다

출력은 새 보안 비밀이 성공적으로 생성되었음을 나타냅니다.

Kubernetes에서 디코딩된 비밀을 얻는 방법은 무엇입니까?

때로는 사용자가 디버깅 목적, 확인을 위한 자격 증명 정보 보기 등과 같은 다양한 이유로 비밀 정보를 확인해야 할 수도 있습니다. Kubernetes에서 디코딩된 비밀을 얻으려면 아래 데모를 따르십시오.

1단계: 비밀 설명

kubectl 설명 ”에는 kubernetes 리소스의 자세한 요약이 표시됩니다. 비밀 세부정보를 보려면 ' kubectl 설명 비밀 ' 명령:

kubectl은 비밀 데모-비밀을 설명합니다.

여기서 위 명령은 비밀 데이터 크기를 바이트 단위로만 표시하지만 아래와 같이 비밀 정보를 노출하지는 않습니다.

2단계: Json 형식으로 비밀 데이터 가져오기

json 형식의 비밀 데이터를 얻으려면 아래 명령을 사용하십시오.

kubectl은 비밀을 얻습니다. 데모-비밀 -영형 JSON 경로 = '{.데이터}'

아래 결과는 base64로 인코딩된 비밀 데이터를 보여줍니다.

비밀을 보려면 사용자는 비밀을 디코딩해야 합니다. base64의 비밀을 실제 형식으로 디코딩하려면 사용자에게 bash 명령을 실행할 수 있는 bash 터미널이 있어야 합니다. Bash 터미널을 설치하려면 “ Windows 터미널에 Git Bash 추가 ' 기사.

3단계: 비밀 해독

비밀을 해독하려면 먼저 “git bash” 터미널을 시작하세요. 그 후, ' echo | base64 – 디코드 ' 명령. 이 명령은 Linux 및 Mac 터미널에서 직접 실행할 수 있습니다.

에코 'TGludXhoaW50' | 베이스64 --풀다

여기서는 사용자 이름을 디코딩했습니다.

비밀번호를 해독하려면 “ echo | base64 – 디코드 ' 명령:

에코 'TGludXhoaW50QDEyMw==' | 베이스64 --풀다

View-Secret 패키지를 사용하여 디코딩된 비밀을 얻는 방법은 무엇입니까?

Kubernetes 사용자는 다양한 패키지와 ' 비밀 보기 ' 패키지는 Kubernetes 지원 플러그인 중 하나를 통해 쉽게 설치하고 사용할 수 있는 패키지 중 하나입니다. ' '. '를 설치하고 사용하려면 비밀 보기 ” 패키지를 사용하려면 아래 데모를 따르세요.

전제 조건: Krew 플러그인 설치

Krew 플러그인은 Kubernetes 리소스에 추가 기능을 제공하기 위해 다양한 패키지를 설치하는 데 사용할 수 있는 Kubernetes 플러그인 중 하나입니다. 시스템에 krew를 설치하려면 아래 단계를 따르십시오.

1단계: “krew.exe” 파일 다운로드

먼저 krew 릴리스 공식 페이지로 이동하세요. 페이지 그리고 'krew.exe' 파일을 다운로드하세요:

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

기본적으로 krew는 ' 다운로드 ' 폴더:

2단계: 명령 프롬프트 실행

'를 통해 관리 권한으로 명령 프롬프트를 엽니다. 시작 ' 메뉴:

3단계: Krew 설치

' blood.exe ” 파일이 다운로드되었습니다:

CD C:\사용자\Dell\다운로드

그런 다음 아래 명령을 사용하여 Windows에 krew를 설치하십시오.

.\피 설치하다

위 명령은 사용자 디렉토리 '에 krew를 설치합니다. C:\Users\<사용자 이름>\.crew\bin ':

4단계: Windows 경로에 Krew 추가

Windows 명령줄에서 Krew 명령에 액세스하려면 사용자는 Windows 경로에 krew를 추가해야 합니다. 그렇게 하려면 “ 환경 변수 ”를 시작 메뉴에서 선택하고 아래에 강조 표시된 설정을 시작합니다.

로부터 ' 고급의 ' 탭에서 '환경 변수' 설정을 엽니다.

“를 선택하세요. ” 변수를 입력하고 “ 편집하다 ' 버튼:

누르세요 ' 새로운 ' 버튼을 눌러 경로를 추가하고 ' C:\Users\<사용자 이름>\.crew\bin ' 경로를 선택하고 '확인' 버튼을 누릅니다.

5단계: 확인

이제 모든 Windows 터미널을 닫고 명령 프롬프트 또는 PowerShell을 시작하십시오. 그런 다음 아래 명령을 실행하여 krew가 설치되어 있는지 확인하십시오.

kubectl 혈액

출력은 시스템에 krew를 성공적으로 설치했음을 보여줍니다.

View-Secret 패키지를 사용하여 Kubernetes 비밀 디코딩

view-secret 패키지를 사용하여 비밀을 디코딩하려면 먼저 krew를 사용하여 비밀을 설치하십시오. 그 후에는 ' kubectl view-secret <비밀 이름> ” 비밀을 해독하라는 명령을 내립니다. 설명을 보려면 아래 단계를 살펴보세요.

1단계: View-Secret 패키지 설치

view-secret 패키지를 설치하려면 아래와 같이 Kubectl krew 플러그인을 활용하세요.

kubectl 혈액 설치하다 비밀 보기

view-secret 패키지가 설치되었음을 확인할 수 있습니다. 아래 표시된 경고도 무시하십시오.

2단계: Kubernetes 비밀 보기

다음으로, Kubernetes에서 디코딩된 비밀을 보려면 ' kubectl view-secret <비밀 이름> ' 명령:

kubectl 보기-비밀 데모-비밀

여기서 출력은 현재 비밀에 두 개의 변수가 포함되어 있음을 보여줍니다. 디코딩된 값을 보려면 사용자는 명령에서 변수 이름도 지정해야 합니다.

3단계: 비밀 해독

비밀 값을 해독하려면 ' kubectl view-secret <비밀 이름> <변수 이름> ' 명령:

kubectl view-secret 데모-비밀 사용자 이름

여기서는 사용자 이름을 디코딩했습니다.

위 명령에서 변수 이름을 변경하여 아래와 같이 비밀번호에 액세스했습니다.

kubectl view-secret 데모-비밀 비밀번호

Kubernetes에서 디코딩된 비밀을 얻는 것이 전부입니다.

결론

Kubernetes에서 디코딩된 비밀을 얻으려면 먼저 'kubectl get secret' 명령을 통해 json 형식의 비밀 데이터에 액세스하세요. 이 명령은 base64로 인코딩된 비밀 데이터를 표시합니다. 데이터를 디코딩하려면 “ echo | base64 – 디코드 ' 명령. 또는 사용자는 'view-secret' 패키지를 사용하여 디코딩된 비밀을 볼 수 있습니다. 이 블로그에서는 Kubernetes에서 디코딩된 비밀을 얻는 방법을 설명했습니다.