Kubernetes 대시보드를 설치하고, Nginx를 프록시로 구성하고, Nginx를 사용하여 사용자 인증을 제어하는 방법을 알아보시겠습니까? 이 자습서에서는 Kubernetes 대시보드를 설치하고 Ubuntu Linux를 실행하는 컴퓨터에서 인증 프록시로 Nginx를 사용하는 방법을 보여 드리겠습니다.

• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Kubernetes 1.18

이 자습서는 단일 노드 Kubernetes 클러스터를 설치합니다.

이 예제에서는 Kubernetes 마스터 노드 IP 주소가 192.168.15.200입니다.

쿠베르네츠 - 튜토리얼

이 페이지에서는 Kubernetes와 관련된 자습서 목록에 빠르게 액세스할 수 있습니다.

튜토리얼 Kubernetes - 마스터 노드 설치

필요한 패키지 목록을 설치합니다.

Copy to Clipboard

Docker 서비스를 설치합니다.

Copy to Clipboard

부팅 하는 동안 Docker 서비스를 사용 합니다.

Copy to Clipboard

Docker 서비스 구성 파일을 편집합니다.

Copy to Clipboard

항목의 끝에 다음 구성 추가: EXECSTART

Copy to Clipboard

구성 전의 파일은 다음과 같습니다.

Copy to Clipboard

여기에 우리의 구성 후 파일입니다.

Copy to Clipboard

시스템 구성 파일을 만듭니다.

Copy to Clipboard

다음은 파일 내용입니다.

Copy to Clipboard

시스템 구성 파일을 사용하도록 설정합니다.

Copy to Clipboard

명명된 구성 파일인 모듈을 편집합니다. CONF

Copy to Clipboard

이 파일의 끝에 다음 구성을 추가합니다.

Copy to Clipboard

FSTAB 구성 파일을 편집하고 스왑 메모리 사용을 사용하지 않도록 설정합니다.

Copy to Clipboard

구성 전의 파일은 다음과 같습니다.

Copy to Clipboard

여기에 우리의 구성 후 파일입니다.

Copy to Clipboard

고유한 호스트 이름을 설정합니다.

Copy to Clipboard

필요한 환경 변수를 구성하도록 파일을 만듭니다.

Copy to Clipboard

다음은 파일 내용입니다.

Copy to Clipboard

컴퓨터를 재부팅합니다.

Copy to Clipboard

Kubernetes 리포지토리 키를 다운로드하고 설치합니다.

Copy to Clipboard

공식 Kubernetes 저장소를 추가합니다.

Copy to Clipboard

Kubernetes 패키지를 설치합니다.

Copy to Clipboard

필요한 Kubernetes 이미지를 다운로드합니다.

Copy to Clipboard

다음은 명령 출력입니다.

Copy to Clipboard

Kubernetes 클러스터를 초기화합니다.

Copy to Clipboard

다음은 명령 출력입니다.

Copy to Clipboard

Kubernetes 클러스터에 노드를 추가하는 명령을 기록합니다.

Copy to Clipboard

Kubernetes 구성 파일에 올바른 파일 권한을 설정합니다.

Copy to Clipboard

필요한 네트워크 구성을 설치합니다.

Copy to Clipboard

기본적으로 Kubernetes 마스터 노드는 PODS를 실행할 수 없습니다.

선택적으로 Kubernetes 마스터 노드가 PODS를 실행하도록 합니다.

Copy to Clipboard

예제에서는 단일 노드 Kubernetes 클러스터를 사용하고 있습니다.

튜토리얼 - Kubernetes 대시 보드 설치

필요한 패키지 목록을 설치합니다.

Copy to Clipboard

필요한 YAML 파일을 다운로드합니다.

Copy to Clipboard

Kubernetes 대시보드를 설치합니다.

Copy to Clipboard

다음은 명령 출력입니다.

Copy to Clipboard

대시보드에 대한 서비스 계정을 만듭니다.

Copy to Clipboard

대시보드 서비스 계정에 클러스터 관리자 역할을 구성합니다.

Copy to Clipboard

Nginx 프록시에 대한 서비스 계정을 만듭니다.

Copy to Clipboard

클러스터 관리자 역할을 Nginx 프록시 계정으로 구성합니다.

Copy to Clipboard

Kubernetes 서버에서 사용할 수 있는 Nginx 비밀을 나열합니다.

Copy to Clipboard

다음은 명령 출력입니다.

Copy to Clipboard

귀하의 비밀의 이름은 우리 이름과 동일하지 않습니다.

Nginx 비밀 토큰 값을 가져옵니다.

Copy to Clipboard

다음은 명령 출력입니다.

Copy to Clipboard

Nginx 토큰 값을 기록합니다.

예제에서는 토큰 값입니다.

Copy to Clipboard

대시보드 서비스 클러스터 IP 주소를 나열합니다.

Copy to Clipboard

다음은 명령 출력입니다.

Copy to Clipboard

클러스터 IP 주소와 TCP 포트를 기록합니다.

이 예제에서는 대시보드 클러스터가 TCP 포트 443및 IP 주소 10.107.55.24를 사용하고 있습니다.

필요한 대시보드 구성을 완료했습니다.

Kubernetes 프록시 - Nginx를 사용하여 기본 사용자 인증

마스터 노드에 Nginx 서버를 설치합니다.

Copy to Clipboard

Nginx 암호 파일을 만들고 첫 번째 사용자 계정을 추가합니다.

Copy to Clipboard

시스템에서 새 사용자 계정에 암호를 입력하도록 요청합니다.

Copy to Clipboard

다음은 파일 내용입니다.

Copy to Clipboard

추가 사용자 계정을 만들려면 다음 명령을 사용합니다.

Copy to Clipboard

OpenSSL 명령을 사용하여 개인 키와 인증서를 만듭니다.

Copy to Clipboard

요청된 정보를 입력합니다.

Copy to Clipboard

COMMON_NAME 라는 옵션에서 IP 주소 또는 호스트 이름을 입력해야 합니다.

우리의 예에서, 우리는 IP 주소를 사용: 192.168.15.200

기본 웹 사이트에 대한 Nginx 구성 파일을 편집합니다.

Copy to Clipboard

다음은 구성 전의 파일입니다.

Copy to Clipboard

여기에 우리의 구성 후, 파일입니다.

Copy to Clipboard

대시보드 클러스터 IP 주소로 PROXY_PASS 명명된 구성 항목의 IP 주소를 변경합니다.

PROXY_SET_HEADER 명명된 구성 항목의 토큰 값을 이전에 만든 Nginx 비밀 토큰 값으로 변경합니다.

예제에서는 자체 서명된 인증서를 사용하여 HTTPS를 사용하도록 설정했습니다.

Copy to Clipboard

예제에서는 Nginx 기본 인증의 사용을 구성했습니다.

Copy to Clipboard

Nginx는 사용자와 대시보드 클러스터 IP 주소 간의 HTTPS 통신을 프록시합니다.

Copy to Clipboard

Nginx는 Kubernetes 서버 설치 중에 자동으로 생성된 인증서와 키를 사용하여 대시보드에 대한 상호 TLS 인증을 수행합니다.

Copy to Clipboard

Nginx 서버는 대시보드로 전송된 모든 패킷에 헤더를 추가합니다.

이 헤더는 권한 부여 베어러라고 명명되었으며 Nginx 프록시에 이전에 만든 비밀 토큰이 포함되어 있습니다.

Copy to Clipboard

Nginx 서비스를 다시 시작합니다.

Copy to Clipboard

브라우저를 열고 Nginx 서버 IP 주소의 HTTPS 버전에 액세스합니다.

이 예제에서는 브라우저에 다음 URL을 입력했습니다.

• https://192.168.15.200

Nginx 서버는 사용자 인증을 수행해야 합니다.

Kubernetes Dashboard Proxy Authentication

로그인이 성공한 후 Kubernetes 대시보드를 제시해야 합니다.

Kubernetes Dashboard

Nginx 프록시는 AUTH HEADER라는 기능을 사용하여 Kubernetes 대시보드에서 자동으로 인증을 수행합니다.

Kubernetes dashboard Authorization bearer

Kubernetes 대시보드의 프록시로 Nginx 구성을 성공적으로 완료했습니다.