액티브 디렉토리에서 Kubernetes LDAP 인증을 구성하는 방법을 알아보시겠습니까? 이 자습서에서는 Windows Active Directory 및 LDAP 프로토콜을 사용하여 Kubernetes 대시보드 사용자를 인증하는 방법을 보여 드리겠습니다.
• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Kubernetes 1.18
이 자습서는 단일 노드 Kubernetes 클러스터를 설치합니다.
이 예제에서는 Kubernetes 마스터 노드의 IP 주소가 192.168.15.200입니다.
이 예제에서는 도메인 컨트롤러의 IP 주소가 192.168.15.10입니다.
쿠베르네츠 – 튜토리얼
이 페이지에서는 Kubernetes와 관련된 자습서 목록에 빠르게 액세스할 수 있습니다.
튜토리얼 윈도우 – 도메인 컨트롤러 방화벽
• IP – 192.168.15.10
• 오페라 시스템 – 윈도우 2012 R2
• 호스트 이름 – TECH-DC01
먼저 Windows 도메인 컨트롤러에서 방화벽 규칙을 만들어야 합니다.
이 방화벽 규칙을 사용하면 Kubernetes 서버가 Active 디렉터리쿼리를 할 수 있습니다.
도메인 컨트롤러에서 고급 보안을 갖춘 Windows 방화벽이라는 응용 프로그램을 엽니다.
새 인바운드 방화벽 규칙을 만듭니다.
포트 옵션을 선택합니다.
TCP 옵션을 선택합니다.
특정 로컬 포트 옵션을 선택합니다.
TCP 포트 389를 입력합니다.
연결 허용 옵션을 선택합니다.
도메인 옵션을 확인합니다.
개인 옵션을 선택합니다.
공용 옵션을 확인합니다.
방화벽 규칙에 대한 설명을 입력합니다.
축하합니다, 당신은 필요한 방화벽 규칙을 만들었습니다.
이 규칙을 사용하면 Kubernetes 서버가 Active Directory 데이터베이스를 쿼리할 수 있습니다.
튜토리얼 윈도우 – 도메인 계정 생성
다음으로 Active Directory 데이터베이스에 2개 이상의 계정을 만들어야 합니다.
관리 계정은 Kubernetes 대시보드에 로그인하는 데 사용됩니다.
BIND 계정은 Active Directory 데이터베이스를 쿼리하는 데 사용됩니다.
도메인 컨트롤러에서 활성 디렉터리 사용자 및 컴퓨터라는 응용 프로그램을 엽니다.
사용자 컨테이너 내에서 새 계정을 만듭니다.
새 계정 만들기: 관리자
ADMIN 사용자에게 구성된 암호: 123qwe..
이 계정은 Kubernetes 웹 인터페이스에서 인증하는 데 사용됩니다.
바인딩이라는 새 계정 만들기
BIND 사용자에게 구성된 암호: kamisama123..
Kubernetes는 이 계정을 사용하여 Active Directory를 쿼리합니다.
축하합니다, 당신은 필요한 Active Directory 계정을 만들었습니다.
튜토리얼 윈도우 – 도메인 그룹 생성
그런 다음 Active 디렉터리에서 그룹을 만들어야 합니다.
도메인 컨트롤러에서 활성 디렉터리 사용자 및 컴퓨터라는 응용 프로그램을 엽니다.
사용자 컨테이너 내부에 새 그룹을 만듭니다.
KUBERNETES-ADMIN이라는 새 그룹을 만듭니다.
이 그룹의 구성원은 Kubernetes 대시보드에 대한 관리 권한을 갖습니다.
중요! 관리자 사용자를 KUBERNETES-ADMIN의 구성원으로 추가합니다.
축하합니다, 당신은 필요한 활성 디렉토리 그룹을 만들었습니다.
튜토리얼 Kubernetes – 마스터 노드 설치
필요한 패키지 목록을 설치합니다.
Docker 서비스를 설치합니다.
부팅 하는 동안 Docker 서비스를 사용 합니다.
Docker 서비스 구성 파일을 편집합니다.
항목의 끝에 다음 구성 추가: EXECSTART
구성 전의 파일은 다음과 같습니다.
여기에 우리의 구성 후 파일입니다.
시스템 구성 파일을 만듭니다.
다음은 파일 내용입니다.
시스템 구성 파일을 사용하도록 설정합니다.
명명된 구성 파일인 모듈을 편집합니다. CONF
이 파일의 끝에 다음 구성을 추가합니다.
FSTAB 구성 파일을 편집하고 스왑 메모리 사용을 사용하지 않도록 설정합니다.
구성 전의 파일은 다음과 같습니다.
여기에 우리의 구성 후 파일입니다.
고유한 호스트 이름을 설정합니다.
필요한 환경 변수를 구성하도록 파일을 만듭니다.
다음은 파일 내용입니다.
컴퓨터를 재부팅합니다.
Kubernetes 리포지토리 키를 다운로드하고 설치합니다.
공식 Kubernetes 저장소를 추가합니다.
Kubernetes 패키지를 설치합니다.
필요한 Kubernetes 이미지를 다운로드합니다.
다음은 명령 출력입니다.
Kubernetes 클러스터를 초기화합니다.
다음은 명령 출력입니다.
Kubernetes 클러스터에 노드를 추가하는 명령을 기록합니다.
Kubernetes 구성 파일에 올바른 파일 권한을 설정합니다.
필요한 네트워크 구성을 설치합니다.
기본적으로 Kubernetes 마스터 노드는 PODS를 실행할 수 없습니다.
선택적으로 Kubernetes 마스터 노드가 PODS를 실행하도록 합니다.
예제에서는 단일 노드 Kubernetes 클러스터를 사용하고 있습니다.
튜토리얼 – Kubernetes 대시 보드 설치
필요한 패키지 목록을 설치합니다.
필요한 YAML 파일을 다운로드합니다.
Kubernetes 대시보드를 설치합니다.
다음은 명령 출력입니다.
대시보드에 대한 서비스 계정을 만듭니다.
대시보드 서비스 계정에 클러스터 관리자 역할을 구성합니다.
아파치 프록시에 대한 서비스 계정을 만듭니다.
클러스터 관리자 역할을 아파치 프록시 계정으로 구성합니다.
Kubernetes 서버에서 사용할 수 있는 아파치 비밀을 나열합니다.
다음은 명령 출력입니다.
귀하의 비밀의 이름은 우리 이름과 동일하지 않습니다.
아파치 비밀 토큰의 가치를 가져옵니다.
다음은 명령 출력입니다.
아파치 토큰 값을 기록하십시오.
예제에서는 토큰 값입니다.
대시보드 서비스 클러스터 IP 주소를 나열합니다.
다음은 명령 출력입니다.
클러스터 IP 주소와 TCP 포트를 기록합니다.
이 예제에서는 대시보드 클러스터가 TCP 포트 443및 IP 주소 10.107.55.24를 사용하고 있습니다.
필요한 대시보드 구성을 완료했습니다.
Kubernetes 프록시 – 아파치를 사용하여 기본 사용자 인증
마스터 노드에 아파치 서버를 설치합니다.
필요한 아파치 모듈을 활성화합니다.
아파치 구성 파일을 편집합니다.
이 파일의 끝에 다음 줄을 추가합니다.
OpenSSL 명령을 사용하여 개인 키및 인증서를 만듭니다.
요청된 정보를 입력합니다.
COMMON_NAME 라는 옵션에서 IP 주소 또는 호스트 이름을 입력해야 합니다.
우리의 예에서, 우리는 IP 주소를 사용: 192.168.15.200
기존 Kubernetes 프록시 인증서와 키를 PEM 형식의 단일 파일로 변환합니다.
기본 웹 사이트에 대한 아파치 구성 파일을 편집합니다.
다음은 구성 전의 파일입니다.
여기에 우리의 구성 후, 파일입니다.
AUTHLDAPURL이라는 구성 항목의 IP 주소를 도메인 컨트롤러의 IP 주소로 변경합니다.
환경을 반영하도록 Active Directory의 모든 도메인 정보를 변경합니다.
프록시패스 및 프록시패스역이라는 구성 항목의 IP 주소를 대시보드 클러스터의 IP 주소로 변경합니다.
REQUESTHEADER라는 CI의 토큰 값을 이전에 만든 아파치 비밀 토큰 값으로 변경합니다.
예제에서는 자체 서명된 인증서를 사용하여 HTTPS를 사용하도록 설정했습니다.
예제에서는 LDAP 인증의 사용을 구성했습니다.
아파치는 사용자와 대시보드 클러스터 IP 주소 간의 HTTPS 통신을 나타냅니다.
아파치는 Kubernetes 서버 설치 중에 자동으로 생성된 인증서와 키를 사용하여 대시보드에서 상호 TLS 인증을 수행합니다.
아파치 서버는 대시보드로 전송된 모든 패킷에 헤더를 추가합니다.
이 헤더는 권한 부여 베어러라고 명명되었으며 아파치 프록시에서 이전에 만든 비밀 토큰이 포함되어 있습니다.
아파치는 또한 HTTP 사용자를 요청된 URL의 HTTPS 버전으로 리디렉션합니다.
아파치 서비스를 다시 시작합니다.
브라우저를 열고 아파치 서버의 IP 주소의 HTTPS 버전에 액세스합니다.
예제에서는 브라우저에 다음 URL이 입력되었습니다.
• https://192.168.15.200
아파치 서버는 사용자 인증을 수행해야 합니다.
로그인이 성공한 후 Kubernetes 대시보드를 제시해야 합니다.
아파치 프록시는 AUTH 헤더라는 기능을 사용하여 Kubernetes 대시보드에 자동으로 인증됩니다.
당신은 성공적으로 Kubernetes 대시 보드의 프록시로 아파치의 구성을 완료했습니다.