본문 바로가기

Azure

KubeSpray를 사용하여 Azure에서 Kubernetes 클러스터를 구축하는 방법

출처: https://www.codeproject.com/Articles/1214408/How-to-build-a-Kubernetes-cluster-on-Azure-using-K

소개

컴파일 된 코드를 컨테이너에 집어 넣는 개념은 현재 매우 인기가 높아지고 있습니다. 클라우드 용으로 개발하고 현재 컨테이너 또는 이와 유사한 기술을 사용하지 않는다면 관련 내용을 실제로 살펴 봐야합니다. 컨테이너화 된 인프라 / 배치 사용의 큰 이점은 클라우드 공급 업체에 의해 추진되고 있으며 주류 기업이 점점 더 많은 시간과 자원을 포용에 투자 할 가치가있는 것으로 인식되고 있습니다. 컨테이너와 '서버리스 컴퓨팅'은 다음 몇 년 안에 대부분의 개발자가 수용해야 할 두 가지 기술입니다.

이 기사는 컨테이너 기반 서비스를 기반으로 한 클라우드에 독립적 인 클러스터 된 가상 시스템 솔루션을 구축하고자하는 내 DevOps / Infrastructure에 초점을 맞춘 시리즈에서 다른 제품을 진행합니다. 이 연재 의  첫 번째 기사에서 ' Terraform ', 그 모습, 사용법을 살펴 보았습니다 두  번째 기사  는 인프라 기술의 매우 유용한 부분에 대해 좀 더 자세히 설명했습니다. 세 번째는 Terraform을 사용하여 가상 시스템 을 프로비저닝 하기위한 접근 방식을 수행했습니다.  일단 배치되면 우리가 가상 머신을 설정 했으므로 다음으로 살펴볼 것은 Kubernetes라는 코드 컨테이너를 관리하는 것입니다. 순수한 Windows 사용자라면 리눅스 세계에 발을 담그면 좋겠다. 매혹적이며 마이크로 소프트를 완전히 지원한다. 그 사람들에게는 기사의 단계별 지침을 자세히 설명하고 다른 부분은 건너 뛸 수 있습니다.

 

 

Kubernetes 소개

컨테이너는 대단히 유용하지만 컨테이너 관리는 오케스트레이션이라고합니다. 모든 것을 관리하는 방법에 대해 걱정하기 전에 컨테이너에 많은 것을 넣을 수 있습니다. 논란의 여지는 있지만 가장 인기있는 컨테이너 시스템은 Docker 엔진이 제공하는 것입니다. Docker가 오케스트레이션에 대한 자체 답변을 가지고있는 반면, 'Docker Swarm'에서는 경주에서 앞서 나가고있는 것만 큼 'Kubernetes'라고합니다.

Kubernetes는 5 개 또는 5 천 개의 가상 컴퓨터 클러스터에 배포되는지 여부에 관계없이 컨테이너의 수명주기를 관리하는 시스템입니다. 이 기술 자체는 수년간 클러스터를 관리하기위한 내부 시스템 인 Googles 'Borg system'을 기반으로합니다. Terraform이 노드의 '원하는 상태'를 유지하는 것을 목표로하는 것과 마찬가지로 Kubernetes는 컨테이너를 안전하게 보관하고 시스템을 안전하게 운영 할 수 있습니다.

추가 기사에서 Kubernetes와 Docker에 대해 알아볼 것입니다.이 기사에서는 클러스터 설정에 중점을 둘 것입니다. Kubernetes에 대한 배경 지식에 관심이 있다면 다음 두 개의 Google 논문을 읽어 볼 가치가 있습니다.

Borg Borg, Omega 및 Kubernetes 와 함께하는 Google의 대규모 클러스터 관리 
- 10 년 동안 세 가지 컨테이너 관리 시스템을 통해 얻은 교훈

Microsoft 지원

Microsoft는 Kubernetes 세계에 큰 투자 와  막대한 투자를하고 있습니다 . 개발자로서 Visual Studio 내에서 컨테이너에 직접 패키지 할 수있는 기능을 갖추고  있으며 최근 Azure 컨테이너 서비스를 통해 Azure 에 대한 놀라운 도구를  제공 하고 세계 최고의 Kubernetes 엔지니어 를 채용했습니다  내 경험에 비추어 볼 때, 레드 몬드가 이런 식으로 무력을 발휘할 때, 앉아서주의를 기울일 시간입니다!

기사 범위

나는 대부분의 IT 사람들이 인생이 짧다는 것에 동의 할 것이며, 때때로 배울 것이 너무 많다고 생각한다. ... 나는 기술에 깊은 다이빙을가는 찬성 완전히 오전 동안 *의 필요 *, 나는 다른 사람의 어깨에 서서 사회의 과일을 사용하는 것이 매우 기쁘게 생각합니다 대부분의 시간을 때  (그리고 그 이유 중 하나입니다 나는 기사를 써서 돌려 준다. 직접 해보아. 모든 기사가 누군가를 돕는다!) .

Kubernetes는 처음부터 설치하는 것이 가장 쉬운 방법은 아닙니다. 복잡성과 의존성으로 인해 쉽게 넘어 질 수 있으며, 익숙해지기 전에 두 단계 뒤로 전진 할 수 있습니다. 이 기사의 목적을 위해 저는 여러분에게 Kubernetes 환경을 설치하고,  'Kube Spray'라고 불리는 신뢰할 수있는 기반 솔루션을 사용하여 가장 구성 가능한 방법 중 하나를 보여 드리려고합니다  당신이 처음부터 일을하는 것을 선호한다면, 나는 ' Kubernetes the hard way '를 통해 단계별로 진행할 것을 강력하게 권고 할 수 있습니다.

알고 계시지 않는다면 Anabilities는 소프트웨어 프로비저닝, 설정 관리 및 앱 배포를 자동화하는 데 도움이되는 소프트웨어입니다. IT 운영 분야에서 매우 널리 사용되고 널리 사용됩니다. 이 연재물의 다음 글에서 다루겠습니다.

Kube-spray  (원래 'Kargo'로 알려짐)  는 Kubernetes 마스터 및 클라이언트 노드의 설치를 자동화하는 Anpite 플레이 북 세트의 핵심  입니다. 이것은 오픈 소스이며 커뮤니티에 의해 개발되고 유지되며 현재는 쿠 베르 네스 인큐베이션 프로그램의 일부입니다  비판적으로, KubeSpray는 * 제작 준비 상태이므로 * 전체 설정 작업에서 상당한 어려움을 겪습니다.

이 기사에서 우리가하고자하는 것은 Kube-Spray를 사용하여 Kubernetes를 설치하는 단계이며, 대시 보드 또는 컨테이너 클러스터를 쉽게 관리 할 수있는 3 개가 있습니다.

 

 

Azure에 가상 네트워크 구축

이 시리즈를 따라하고 있다면 (기사 상단의 링크 참조), Terraform을 사용하여 클러스터를 시작하게됩니다. 아직 다른 곳으로 가지 않았거나 다른 구성으로 놀고 싶지 않다면 Azure Portal에서 신속하게 실행 해보십시오.

(1) 로그인 후 NEW를 클릭하고 표시된 목록에서 자원을 선택하십시오 (이 예제에서는 우분투 서버를 선택했습니다). 



(2) 다음 단계는 VM에 이름과 암호를 제공하는 것입니다 (이 경우 개발 목적으로 ssh 키를 사용하지 마십시오). 또한 VM을 '리소스 그룹'의 구성원으로 만듭니다. 첫 번째 VM의 경우 새 고유 자원 그룹 이름을 지정하고이 그룹에 추가하는 다른 VM / 자원의 경우 '기존 자원 그룹'드롭 다운 상자에서 자원 그룹 이름을 선택할 수 있습니다.

(3) 필요한 모든 정보를 입력하고 다음을 클릭하여 시스템에 사용할 가상 시스템 크기를 선택합니다. 


기계를 세우기 전에 최종 검토를해야합니다.

잠시 후 기계를 사용할 준비가되었음을 알리는 메시지가 표시됩니다. 연결하려면 마스터 가상 머신을 열고 상단의 '연결'을 클릭하면 로그인에 사용할 수있는 SSH IP 주소가 제공됩니다.

Azure에서 Kube-Spray 사용하기

요구 사항
다음 지침에서는 4 개의 가상 시스템이 준비되어 있고 공용 IP (마스터 노드가 될 것임)를 통해 하나의 포트에 액세스 할 수 있고 마스터 노드를 통해 SSH를 사용하여 다른 포트에 액세스 할 수 있다고 가정합니다. 

Kubernetes에는 두 가지 유형의 기계가 있습니다. 메인 머신은 마스터로 알려져 있으며 일반적으로 'KubeMaster'라고 불립니다. 마스터에 의해 제어되는 다른 가상 머신은 '미니언'이라고 불리지 만 이제는 '노드'라고 불립니다.
 

머신 설정
개발을 위해 다음 머신 5 대 (마스터, 4 노드)를 설치합니다. 

(Azure D4S_V3) 표준 
4 x vCPU 
16 GB RAM 
8000 max iops 
32GB 로컬 SSD 
프리미엄 디스크 지원

역할

루트 사용자로 지정된 모든 명령을 미리 설정하는 것이 중요합니다. 일단 VM에 로그인하면 "sudo -s"를 처리하고 명령을 수행하기 전에 루트 사용자가됩니다. 의심의 여지없이, 나는 다시 말 할 것이다. - 루트로 여기에서부터 모든 것을해야한다. 그렇지 않다면 문제가있을 것이다 

.) 다음은이 기사를 위해 나의 테스트 클러스터를 설정하는 방법이다. 월말에 큰 청구서에 신용 카드가 쌓이게하지 않으려 고 할 때 테스트 할 때 내가 켜는 자동 종료 옵션에 유의하십시오!

Kube 스프레이 설치

1 - SSH 서비스가 설치되어 실행 중인지 확인한 다음 SSH를 마스터 시스템에 확인합니다.  과거 에는 퍼티 앱 을 사용  했었지만 이제는 BASH FOR WINDOWS를 사용할 수있게되었습니다. 전적으로이 도구를 사용합니다 ... DevOps 세계에 발을 담그면 훨씬 쉽고 환상적인 Windows 통합 도구입니다. 설치하지 않은 상태에서 설치를 원하는 경우 BASH for Windows를 설치하는 방법 에 대한 단계별 지시 사항을  확인하십시오 .

Windows Bash를 사용하여 원격 컴퓨터에 연결

로그인 방법을 알아 보려면 대시 보드에서 마스터 컴퓨터를 선택하고 상단의 '연결'버튼을 클릭하십시오. 이렇게하면 주 계정과 IP로 로그인 할 수 있습니다.

 


 



 

연결하려면 BASH 프롬프트를 열고 연결 정보에 주어진 명령을 입력하십시오. 나는 이것을 일반적으로 클립 보드에 복사하여 BASH 창에 붙여 넣습니다. 

bash 또는 텍스트 기반 창으로 잘라내어 붙여 넣으려면 왼쪽 상단의 아이콘을 클릭 한 다음 표시된 팝업 메뉴에서 편집 -> 붙여 넣기를 선택하십시오.

ssh 명령을 붙여 넣은 후 Enter를 클릭하십시오!

아래의 스크린 샷에서 우리가 연결되면 이전에이 머신에 SSH를 적용하지 않았기 때문에 시스템에 대한 보안 경고가 표시되고 동의하도록 요청할 것입니다. 일반적으로 예 / 아니오에 응답 할 때 Y 또는 N을 입력 할 수 있지만이 경우 계속하려면 '예'라는 단어를 입력해야합니다! :)

연결 쿼리를 수락하면 연결중인 컴퓨터에 사용자의 암호를 입력하라는 메시지가 나타납니다 (이 경우 52.166.110.189 컴퓨터에서 'kubeadmin'사용자로 연결을 요청하고 있습니다). 

암호를 올바르게 입력하면 이제 원격 시스템에 살고 있습니다. 사용자 이름과 컴퓨터 이름이 녹색으로 표시되고 달러 ($) 프롬프트가 표시됩니다. 다음 단계는 기본 설치를위한 기계 준비를 시작하는 것입니다.

보안 설정

일단 우리가 연결되면 사용자를 ROOT로 승격시키고 호스트간에 안전하게 통신하는 데 사용되는 보안 키를 만들어야합니다. 

루트 사용자로 변경하려면 다음을 입력하십시오.   sudo -s  <enter>
기본 암호를 묻는 메시지가 나타납니다. 
암호를 입력 한 후에는 ROOT 폴더로 이동  cd /root 하여 RSA 보안 키를 생성해야합니다. ssh-keygen -t rsa

주의 사항 :이 지침을주의 깊게 따르십시오! 암호없이 키를 생성하려면 루트로 로그인해야하며 중요해야합니다.

다음으로 우리가 할 일은 방금 생성 한 키를 화면에 출력하는 것입니다. 그것을 원격 노드에 붙여 넣기위한 준비로 복사하십시오. 'caten'명령을 실행하면 catenate로 보내는 파일을 param으로 읽고 해당 데이터를 화면으로 리디렉션합니다.  cat /root/.ssh/id_rsa.pub

bash 명령 행에서이 데이터를 선택하고 복사하려면 마우스로 강조 표시하고 <enter>


 

노드 간 보안 동기화

이제 키가 준비되었으므로 마스터 시스템이 인증 된 것으로 보이도록 다른 노드로이 키를 복사해야합니다. 이 다음 단계는 * 각 노드 *에 대해 반복되며 마스터 자체에 대해서도 수행됩니다. 여기에 수동 방법을 보여 드릴 것입니다. 여러 가지 방법이 있습니다. 프로덕션에서는 일반적으로 설치 및 준비가 완료된 노드로 '기본'머신을 생성 한 다음 필요한 새 노드마다 복제 '합니다. 이렇게하면 많은 수작업이 절약됩니다.

1 단계 - 원격 노드에 연결합니다. 

우리는 노드들이 우리 보안 그룹에 연결하고 그 그룹을 구성해야합니다. 내 테스트 클러스터에서는 node1, node2, node3, node4의 이름을 지정했습니다. 각각에는 동일한 관리 사용자 이름 (kubeadmin)과 암호가 있습니다. 초기 로그인은 우리의 로컬 윈도우 머신을 원격 서버에 연결하는 것과 같은 경험입니다. 처음에는 동의해야 할 보안 경고가 표시되고 암호로 로그인 할 수 있습니다.

이전과 같이 로그인하면 우리는 루트 사용자로 승진해야합니다  sudo -s그런 다음 'nano'라는 간단한 Linux 텍스트 편집기를 사용하여 '/root/.ssh'폴더에있는 'authorized_keys'에 연결하려는 다른 컴퓨터의 인증을 처리하는 파일을 편집합니다 . 
전체 명령은 편집 모드에서 열려고하는 파일의 매개 변수로 텍스트 편집기를 호출합니다.

충분한 회색 머리카락을 가진 사람들에게는 nano가 기존의 WordStar  텍스트 편집기 와 다르지 않습니다  사실  TV 시리즈 '게임 오브 게임 (Game of Thrones)'의 창시자 인  George RR Martin이 Wordstar verion 4에 자신의 소설을 씁니다 !

우리는 이것을 매우 간단하게 유지할 것입니다. 우리는 위에서 언급 한 붙여 넣기 방법을 사용할 것입니다 (왼쪽 상단의 아이콘을 클릭하십시오, 기억 하시겠습니까?). 이제 우리의 마스터 컴퓨터에서 공개 키의 내용을 편집기에 붙여 넣습니다 ...

(붙여 넣은 전체 키는 위에 표시되지 않지만 들어갑니다!)

이 파일을 저장하고 종료하려면 'CTRL + O'키 조합을 한 번에 누르십시오 - 저장을 묻는 메시지가 나타나면 Enter 키를 눌러서 수락하십시오.

그런 다음 'CTRL + X'키 조합을 사용하여 nano를 종료합니다. 이제는 예상대로 작동하는지 테스트 할 준비가되었습니다. 이렇게하기 위해 우리는 로그 아웃 한 다음 다시 로그인을 시도하지만 이번에는 kubeadmin이 아니라 루트로 로그인하려고합니다. 현재있는 원격 사용자 bash 쉘을 취소하려면 'exit'를 입력하고 'root @ kubemaster'프롬프트로 돌아올 때까지 enter를 누르십시오.

이제이 시작점에서 우리는 * 암호를 사용하지 않고 원격 노드에 * 로그인하려고 시도합니다.

성공! ... 암호가 요구되지 않은 방법에 주목하고 우리는 'root'계정 프롬프트에 곧바로 착륙했습니다.

위의 내용은 클러스터의 모든 가상 시스템 / 노드에 대해 반복해야합니다.
 

2 단계 - 마스터 노드 자체에 대한 액세스를 마무리합니다.

마스터 노드의 경우 마침내 자신의 공개 키를 자신의 인증 된 키 파일에 복사해야합니다. 

cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

우리는 pub 파일을 auth 파일에 복사 (cp) 할 수 있습니다. 인증에서 CAT을 실행하여 작동하는지 확인할 수 있습니다 파일을 복사하십시오.


 

필수 구성 요소 설치

우리가 KubeSpray를 설치하기 전에 마스터 머신에서 수행해야 할 많은 설치와 업데이트가 있습니다 - 이것들은 그 의존성입니다.

우리는 각각의 명령을 개별적으로 실행합니다  (적절한 경우 / 묻는 질문에 y / yes로 응답) . 또는 첨부 된 스크립트에서 실행할  수 있습니다 (삶을 조금 더 쉽게 만들 수 있습니다 ..   ) . D :

 

apt-get update
apt-get install software-properties-common
apt-add-repository ppa:ansible/ansible
apt-get update
apt-get install ansible
apt-get update
apt-get -y upgrade
apt-get install python-pip
pip install jinja2
pip install netaddr

KubeSpray 다운로드

KubeSpray 공식 GIT의 reporitory는  보통의 출발점입니다. 이 기사의 목적을 위해 저는 Xenonstack 의 매우 재능있는 승무원에 의해 커스터마이징 된 커뮤니티 지사를 소개 할  것입니다  ... 그들의 특정 지사는 많은 극단적으로 유용한 대시 보드 및 서비스를 위해 이미 구성되어 있으므로 어깨  (제쳐두고, 제논을 여러 차례 훈련과 지원에 사용했으며 정말 훌륭합니다. 즉각적인 전문적인 조언과 도움을 받으러가는 내 전문가!)

cd /root
git clone https://github.com/xenonstack/kubespray.git

 

KubeSpray 구성

KubeSpray (현재 '/ root / kubespray'에 있음)를 다운로드 한 다음에는 노드의 이름 및 / 또는 IP를 구성에 알려야합니다.

 / root / kubespray / inventory로 이동  하여  아래에 표시된대로 'KubeMaster'및 'nodeX'(1..4)에 대한 참조를 추가하여 inventory.ini 파일 (새로 발견 된 친구 'nano'사용)을  편집하십시오  

(네비게이션에서, 네비게이션은 dos / powershell과 같은 기본적인 명령을 사용합니다 ... change 디렉토리에 대한 cd는이 시점에서 유용 할 것입니다!)

(# 'etcd'가 나오도록 섹션 헤더의 주석이 풀리지 않도록하십시오. '[etcd]')

 

[all]
KubeMaster ansible_ssh_host=KubeMaster
node1 ansible_ssh_host=node1
node2 ansible_ssh_host=node2
node3 ansible_ssh_host=node3
node4 ansible_ssh_host=node4

[kube-master]
KubeMaster

[etcd]
KubeMaster

[kube-node]
node1
node2
node3
node4

[k8s-cluster:children]
kube-node
kube-master

섹션은 다음과 같습니다. 

all - 클러스터의 모든 노드를 나열합니다. 노드가 여러 네트워크 주소 인 경우 아래 예제에서 주석 처리 된 'ip = x'설정을 사용하여 연결할 주소를 지정할 수 있습니다. 

KUBE 마스터 -는 Kubernetes 마스터 노드를 나열, 우리의 경우 'KubeMaster' 

etcd는 -이 간단한 분산 키 / 값 저장소와 노드와 용기를 추적 할 수는 Kubernetes에 의해 사용됩니다. 이 예에서는 마스터에 저장하지만, 프로덕션에서는 복제 된 별도의 시스템에있을 수 있습니다.

kube-node  - 마스터 (노드 1..4)에 의해 제어되는 하위 / 미니언 노드의 목록

k8s-cluster : children  - 이것은 클러스터의 일부가 될 노드를 나타냅니다. 여기서 모든 노드를 나열합니다. 생산시에는 다를 수 있습니다.

주의 : 우분투 대신에 다른 리눅스 배포판을 사용하려면 /kubespray/inventory/group_fars/all.yml 파일을 편집하고 'bootstrap_os : 우분투'를 'bootstrap_os : XX'로 변경해야합니다. 여기서 XX는 이름입니다 OS의 (all.yml 파일 맨 위에 나열된)

이제 마스터와 노드 간의 연결을 테스트 할 준비가되었습니다. kubespray / inventory 폴더에서 다음 명령을 실행합니다.

ansible --inventory-file=inventory.ini -m ping all

지시 사항을 자세히 읽은 것으로 가정하면 다음과 같이 '녹색 표시 등'응답이 표시됩니다.
 

 

그럼, 할 일은 마지막으로 할 일은 실제 설치 자체를 실행하고 모든 것이 제대로 작동하는지 확인하는 것입니다.

KubeSpray 설치

맞아요, 그래서 우리가이 파티에 온 이유를 heres! ... 설치가 모두 끝나면 설치 자체가 단순 해지지 않습니다 ... kubespray 폴더에서 하나의 명령 줄을 실행합니다 (하나의 인벤토리에서부터 ' cd ..' 시도 ) ...
 

cd ..

ansible-playbook -i inventory/inventory.ini cluster.yml

클러스터에있는 노드 수와 그 스펙에 따라 스크립트는 5 ~ 30 분 동안 실행됩니다 (많은 작업이 있습니다. KubeSpray가 모든 작업을 처리해줍니다!). 

스크립트가 실행되는 동안 화면에 흐르는 텍스트 출력이 멈추거나 시작될 것으로 기대할 수 있습니다.

스크립트가 완료되면 '재생 목록'과 프로세스의 전반적인 타이밍이 표시됩니다. 제 경우 테스트에서 11.33 분이 걸렸습니다. 이것은 꽤 존경 할만한 결과입니다.


KubeSpray 설치 확인

맞습니다. 모든 것이 완료된 것처럼 보이므로 이제 모든 것을 보장하도록 수표를 수행 할 수 있습니다. Kubernetes와 상호 작용하는 주요 방법 중 하나는 KUBECTL (kube 제어) 명령 줄 유틸리티를 사용하는 것입니다. KubeCtl을 사용하면 클러스터에서 상태 정보를 얻고 명령을 클러스터에 보낼 수 있습니다. 

우선, 클러스터가 정상적으로 작동하는지 확인하고 노드가 등록되어 사용 가능합니다. 우리는 'get'명령을 사용하여 'nodes'매개 변수와 함께이 작업을 수행합니다.

kubectl get nodes

아래 그림과 같이 단일 마스터 노드와 네 개의 자식 노드로 구성된 클러스터가 모두 연결되어 준비가되었습니다. 

다음으로 우리가 할 일은 설치 스크립트에 의해 생성 된 컨테이너와 포드가 무엇인지를 정확하게 확인하는 것입니다. 이를 위해 우리는 'kodectl get'을 다시 호출하여 'pods'의 주요 매개 변수를 전달하고 선택적 매개 변수 'all-namespaces'를 전달합니다.이 매개 변수는 우리 고유의 특정 배포뿐만 아니라 시스템 컨테이너를 다시 제공합니다. 우리는 자신의 포드 나 컨테이너를 배치하지 않았기 때문에 스크립트가 우리를 위해 작성한 목록을 보게됩니다.

kubectl get pods --all-namespaces

이 기사의 시작 부분에서 대시 보드에 대해 이야기했습니다. 컨테이너 IP / 포트 조합을 호출하여 작동하고 있는지 확인할 수 있습니다. 무엇이 어디에 있는지 알아 보려면 실행중인 '서비스'를 조사해야합니다.

kubectl get svc

기본적으로 '서비스'목록을 호출하면 최상위 수준의 노출 된 서비스 (이 경우 단순히 클러스터 서비스) 만 제공합니다.

그러나 더 많은 것이 있음을 알고 있으며, 이제는 'all-namespaces'매개 변수를 추가하면 최상위 수준뿐만 아니라 모든 것에 대한 세부 정보를 제공하는 요청을 어떻게 확장하는지 확인할 수 있습니다.

관심있는 광고 모음은 대시 보드 (kubernetes 대시 보드, 그래프 파 및 직조 범위)이며 현재 게재되고 운영되는 것을 볼 수 있습니다. 

마지막으로 명령이 제대로 작동하는지 확인하기 위해 명령의 httpClient 인 CURL 명령을 사용하여 IP를 사용하여 대시 보드에 연결하고 응답을 다운로드 할 수 있습니다. 

컬 10.233.46.240