Kubernetes에서 암호, OAuth 토큰 및 SSH 키와 같은 비밀 생성 및 저장
이 페이지에서
- 전제 조건
- 우리가 할 일\n
- 비밀 만들기
- 결론
Kubernetes에서는 Kubernetes Secrets를 사용하여 암호, OAuth 토큰 및 ssh 키와 같은 민감한 정보를 저장하고 관리할 수 있습니다. Kubernetes에서 암호는 Kubernetes 개체로 정의할 수 있습니다. 포드 또는 Docker 이미지에 있는 Kubernetes 비밀에 자격 증명을 저장하는 것이 더 안전합니다.
Kubernetes에서 비밀을 생성하는 방법에는 여러 가지가 있습니다.
<올 스타일=텍스트-정렬:왼쪽>
비밀을 사용할 수 있게 되면 다음과 같은 방법으로 사용할 수 있습니다.
<올 스타일=텍스트-정렬:왼쪽>
Kubernetes 시크릿에 대해 자세히 알아보려면 여기를 클릭하십시오.
이 기사에서는 .yml 파일을 사용하여 시크릿을 생성하고 Pod에서 환경 변수로 액세스합니다.
전제 조건
<올 스타일=텍스트-정렬:왼쪽>
Kubernetes 클러스터를 만드는 방법을 알아보려면 여기를 클릭하세요. 이 안내서는 AWS Ubuntu 18l04 EC2 인스턴스에서 1개의 마스터와 2개의 노드가 있는 Kubernetes 클러스터를 생성하는 데 도움이 됩니다.\n
우리가 할 일
<올 스타일=텍스트-정렬:왼쪽>
비밀 만들기
Kubernetes에서 새 비밀을 생성하려면 먼저 base64 인코딩 방법을 사용하여 아래와 같이 암호화합니다.
여기,
사용자 이름=rahul 및 비밀번호=howtoforge123.

위의 스크린샷에서 자격 증명이 암호화된 것을 볼 수 있습니다.
다음과 같이 비밀 정의 파일을 생성합니다. 이 파일은 위 단계에서 생성된 자격 증명의 base64 값을 보유합니다.
apiVersion: v1 kind: Secret metadata: name: mysecret type: Opaque data: username: cmFodWw= password: aG93dG9mb3JnZTEyMw==

이제 이러한 비밀과 액세스할 수 있는 포드를 생성해 보겠습니다.
다음과 같이 팟(Pod) 정의를 포함할 새 파일을 작성하십시오.
apiVersion: v1 kind: Pod metadata: name: secrets-in-pod spec: containers: - name: my-container image: redis env: - name: SECRET_USERNAME valueFrom: secretKeyRef: name: mysecret key: username - name: SECRET_PASSWORD valueFrom: secretKeyRef: name: mysecret key: password restartPolicy: Never

다음 명령을 사용하여 비밀을 만들 수 있습니다.


다음 명령을 사용하여 포드에 로그인합니다.

포드에 로그인하면 다음 명령을 사용하여 환경 변수로 비밀에 액세스할 수 있습니다.

위의 스크린샷에서 보안 비밀을 환경 변수로 사용할 수 있음을 알 수 있습니다.
비밀 개체의 세부 정보를 보려면 다음 명령을 실행합니다.

이러한 비밀은 다음 명령을 사용하여 명령줄에서 디코딩할 수도 있습니다.

위 스크린샷에서 보안 비밀에서 사용자 인증 정보가 추출되고 base64를 사용하여 명령줄에서 복호화되는 것을 볼 수 있습니다.
결론
이 기사에서는 .yml 파일에서 Kubernetes에 비밀을 생성하고 저장하는 단계를 살펴보았습니다. Pod에서 환경 변수로 이러한 비밀에 액세스하려고 했습니다. 또한 명령줄에서 비밀을 해독하는 명령도 보았습니다.