inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

ssh 공개키 등록하는 거는 이해했는데, k8s환경에서는 어떻게 하나요?

18

서성혁

작성한 질문수 1

0

안녕하세요. ansible강의가 업무에 도움이 많이 되었습니다.

특히, 앤서블로 관리하는 서버를 별도 계정/패스워드 없이 인증서가지고 접속하는 방법은 도움이 많이 되었습니다.

근데, 앤서블 서버(정확히는 awx)를 컨테이너 환경으로 바뀌게 되었는데, 이런 경우는 개인키, 공용키 생성을 어떻게 하나요?

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
서성혁님께서 질문 주신 Kubernetes 환경에서 SSH 공개키를 등록하는 방법에 대해 설명드리겠습니다.

Spring Boot Reference Documentation에 따르면, Spring Boot는 Kubernetes 배포 환경을 자동으로 감지합니다. Kubernetes 환경에서의 SSH 키 관리는 일반적인 서버 환경과 유사하지만, 더 세심한 설정이 필요할 수 있습니다. 기본적으로 SSH 키는 애플리케이션 컨테이너 이미지의 빌드 프로세스에 포함시키거나, Kubernetes의 시크릿(Secret) 객체로 설정하여 Pod에서 참조할 수 있도록 만드는 방법이 있습니다.

  1. SSH 키 생성:

    • 로컬 머신에서 SSH 키를 생성합니다. 예: ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    • 이 과정에서 생성된 id_rsa(개인키)와 id_rsa.pub(공개키)를 Kubernetes에 등록할 준비를 합니다.
  2. Kubernetes 시크릿 생성:

    • 생성된 SSH 키를 Kubernetes 시크릿으로 등록합니다.
    • 예를 들면 다음과 같은 명령을 사용할 수 있습니다:
      
      kubectl create secret generic ssh-key-secret --from-file=id_rsa=/path/to/your/id_rsa --from-file=id_rsa.pub=/path/to/your/id_rsa.pub
      

  3. Pod에 시크릿 마운트:

    • 생성한 시크릿을 Deployment나 Pod의 명세에 포함시켜 환경 변수 또는 파일로 사용할 수 있게 설정합니다.
    • Pod에서 비밀 키 사용을 위해 volumevolumeMounts 를 설정하여 시크릿을 참조할 수 있도록 하세요.

이렇게 구성하면 컨테이너 내에서 키를 사용하여 SSH를 사용하는 애플리케이션을 쉽게 관리할 수 있습니다. Kubernetes와의 연동을 위해 필요한 더 세부적인 설정은 공식 문서를 참조하시거나, 환경에 맞게 설정을 변경하시면 됩니다.

추가로 더 읽어보실 자료:
- Kubernetes에서 시크릿 사용하기

궁금하신 점이 있으면 언제든지 문의해주세요. 항상 성공적인 개발을 응원합니다!

백준 서비스 종료

9

739

1

강의 추천해주세요

2

15

1

[업데이트] 파이썬 패키지 부분에서 안되어서 강의 진행 불가

2

58

3

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

51

3