안녕하세요, 클라우드로입니다!
이번 글에서는 클라우드스튜디오(CloudStudio)를 활용하여 네이버 클라우드 플랫폼에 쿠버네티스 서비스를 생성하고 Nginx Pod를 배포해 보겠습니다.
CloudStudio를 활용하여 클라우드 인프라와 Kubernetes 구성을 쉽게 구현해보세요!
Ncloud Kubernetes Service 그리기(Ncloud 프로젝트 생성)
ncloud kubernetes service를 구성하기 위한 리소스와 아키텍처는 아래와 같습니다.
* CloudStudio Ncloud 템플릿 MSA > MSA-Basic로 제공중입니다. 템플릿을 선택하여 프로젝트를 생성하면 아래 과정없이 인프라를 그릴 수 있습니다.
사용되는 리소스
아키텍처
1. Base 배치
캔버스에서 Base아이콘을 가져온 후 등록한 크레덴셜을 선택합니다.
2. Region 배치
Region 아이콘을 가져옵니다. 리소스를 배포할 Ncloud의 Region(KR, JPN, SGN)을 선택합니다.
3. VPC 배치
VPC 아이콘을 가져옵니다. VPC는 리소스를 배포하기 위해 필요한 네트워크 환경을 제공합니다.
4. Network ACL 배치
Network ACL 아이콘을 가져옵니다. Network ACL은 Subnet으로 들어오고 나가는 트래픽을 통제하는 역할을 합니다.
Inbound rule을 통해 NKS 노드로 들어오는 트래픽을 제한합니다. 특정 공인 IP만 허용하는 것을 권장합니다.
5. Subnet 배치
Subnet 아이콘을 가져옵니다. NKS 배포시 필요한 리소스 구성을 위해 VPC 안에 Subnet을 구성해야 하며 모든 Subnet을 같은 Zone으로 설정해야 합니다.
- msagensubnet : 클러스터 노드가 배포될 General 타입의 Private Subnet
- msalbpubsubnet : 클러스터와 연동할 Public LoadBalancer의 배포를 위한 LoadBalancer 타입의 Public Subnet
- msalbprisubnet : 클러스터와 연동할 Private LoadBalancer의 배포를 위한 LoadBalancer 타입의 Private Subnet
- msanatsubnet : Nat Gateway 배포를 위한 Nat Gateway타입의Public Subnet
6. NAT Gateway 배치
NAT Gateway 아이콘을 가져옵니다. NAT Gateway는 Private Subnet에 만들어진 Server의 Private IP 주소를 Public IP 주소로 변환해 외부 통신이 가능하게 만듭니다. NAT Gateway를 사용해 NKS의 노드들이 Outbound 인터넷 통신을 할 수 있습니다.
7. Route Table 배치
Route Table 아이콘을 가져옵니다.
Route Table을 NKS 노드가 배포될 Private Subnet에 연결합니다.
Private Subnet인 msagensubnet과 msalbprisubnet과 선으로 연결합니다.
NKS Private Subnet의 Outbound 트래픽이 NAT Gateway를 통해서 나가도록 Route Table을 구성합니다.
8. Login Key 배치
Login Key 아이콘을 가져옵니다. 클러스터 노드 서버에 접속하기 위해 필요한 리소스입니다.
9. Kubernetes Cluster 배치
Kubernetes Cluster아이콘을 가져옵니다. 버전과 최대 노드 수를 설정합니다.
- Lb Private Subnet Name에서 Private Load Blancer타입의 Subnet을 선택합니다.(5에서 배치)
-> msalbprisubnet - Lb Public Subnet Name에서 Public Load Blancer타입의 Subnet을 선택합니다.(5에서 배치)
-> msalbpubsubnet - Subnet Name에서 노드가 배포될 Subnet을 선택합니다.(5에서 배치)
-> msagensubnet - Login Key Name에 로그인에 사용할 키 이름을 선택합니다.(8에서 배치)
-> msalgkey
완성된 인프라는 오른쪽 사이드바에서 자동으로 생성된 Terraform 코드로 변환되어 보여집니다.
또한 비용 계산기를 통해 인프라 유지 비용을 측정 할 수 있습니다.
10. 배포하기
배치 및 설정 완료 후 왼쪽 사이드 바에서 배포하기 아이콘을 클릭하여 클러스터를 클라우드에 배포합니다.
배포가 완료되면 생성된 리소스가 표시됩니다.
Ncloud콘솔에서도 클러스터 생성을 확인 할 수 있습니다.
Kubernetes Pod & Service 그리기(Kubernetes 프로젝트 생성)
nks에 kubernetes pod와 Service를 배포하기 위한 리소스와 아키텍처는 아래와 같습니다.
* CloudStudio Kubernetes 템플릿 Basic-Pod로 제공중입니다.
사용되는 리소스
아키텍처
1. Base 배치
캔버스에서 Base아이콘을 가져온 후 등록한 크레덴셜을 선택합니다.
2.Cluster 배치
Cluster아이콘을 가져옵니다. Target Cluster에 크레덴셜로 조회된 NKS Cluster(위에서 배포한 클러스터)를 선택합니다.
* Ncloud의 경우 Cluster접근을 위한 Service Account Token이 별도로 필요합니다. (Azure, AWS 불필요)
3. Namespace 배치
Namespace 아이콘을 가져옵니다.
4. Pod 배치
Pod 아이콘을 가져옵니다.
- Containers에 옵션을 추가합니다.
- Container > Image 에 nginx를 입력합니다.
- Container > Port 에 80을 추가합니다.
5. Service 배치
Service 아이콘을 가져옵니다.
- Pod와 선으로 연결합니다. (Selector가 연결된 Pod의 값으로 설정됩니다.)
- Type를 LoadBalancer로 설정합니다. (서비스의 외부 노출)
- Port에 옵션을 추가합니다.
- Port > Port에 80을 입력합니다. (외부 노출 Port)
- Port> Target Port에 80을 입력합니다. (연결된 Pod Container Port)
6. 배포 하기
배치 및 설정 완료 후 왼쪽 사이드 바에서 배포하기 아이콘을 클릭하여 클러스터를 클라우드에 배포합니다.
배포가 완료되면 생성된 리소스가 표시됩니다.
배포된 Service의 상세 정보를 통해 Load Blancer 호스트 이름을 얻을 수 있습니다.
해당 Url에 Nginx 이미지가 호스팅 된 것을 확인 할 수 있습니다.
이상으로 CloudStudio를 활용하여 Ncloud Kubernetes Service와 Kubernetes Pod & Service를 배포하는 과정을 알아보았습니다.
감사합니다!
Cloudraw는 쉽게 클라우드 인프라를 그리고 사용할 수 있는 서비스를 제공하기 위해 노력하고 있습니다.
클라우드가 있는 곳 어디든 Cloudraw가 함께합니다.
📨 help@cloudraw.kr
'CloudStudio' 카테고리의 다른 글
[Ncloud] Server 생성하기 with CloudStudio (0) | 2024.03.20 |
---|---|
[AWS] EC2 생성하기 with CloudStudio (0) | 2024.03.20 |
[Ncloud] Ncloud Developer Tool(Source Commit, Source Build, Source Deploy, Source Pipeline) 파이프라인 구성하기 with CloudStudio (1) | 2024.02.14 |
[Azure] Azure Virtual Machine 배포 with CloudStudio (0) | 2024.01.22 |
[CloudStudio] 클라우드 인프라 시각화 및 배포 관리 서비스 - Azure, AWS, Ncloud, Kubernetes 다이어그램 (0) | 2024.01.22 |