ncloud
-
jenkins를 kubernetes 에 구성하기NAVER Cloud 2021. 10. 22. 11:21
대부분의 CSP에서 ci/cd 관련한 상품들을 제공하고 있지만, 여전히 jenkins 사용자도 많은 것 같다. 그래서 jenkins 도 kubernetes 에 pod로 구성하고, 빌드도 네이버클라우드의 kubernetes 서비스(nks)를 통해 진행하는 테스트를 해보았다. 1. jenkins 배포 아래 mainfest 를 참고하여 jenkins deployment 와 service를 생성해준다. 나는 jenkins 에서 nks를 연계하여 사용할 수 있고, 빌드가 되는 정도만 확인하는 수준이라 jenkins deployment에 별도의 pv 설정을 하지 않았지만 운영환경에서는 pv 사용이 필요할 것으로 생각된다. # jenkins_deployment.yaml apiVersion: apps/v1 kind: ..
-
ECR 이미지를 NCP 컨테이너 레지스트리(Container Registry)로 복사하기NAVER Cloud 2021. 10. 6. 17:42
다양한 CSP 에서 각각의 Kubernetes 서비스를 제공하고 있기 때문에, kubernetes 사용자의 경우 일반 VM 보다는 타 CSP 로 이관하는 것이 수월할 수 있다. kubernetes 의 경우 stateless 하게 사용하는 경우가 많기 때문에 kubernetes 이관 시 데이터 복제만큼 중요한 것이 컨테이너 이미지 복제라고 생각된다. 로컬 pc나 서버에 모든 이미지를 pull 한 다음 새로운 registry 로 push 하는 방법도 있지만, skopeo 라는 툴을 사용하면 임시 저장공간 없이도 container image를 새로운 registry 로 복제할 수 있고, inspect 기능을 통해 메타데이터나 레이어도 조회할 수 있다. skopeo에 대한 상세 설명은 아래 링크 참고 https..
-
NKS (Ncloud Kubernetes Service) 에 istio 설치하기NAVER Cloud 2021. 8. 12. 13:49
istio 를 설치할 수 있는 방법은 여러가지가 있는데, 이번에는 istioctl 을 활용해서 설치해보았다. 1. 먼저 istioctl 을 istioctl 명령을 수행할 서버에 설치한다. istioctl manifest generate --set profile=default > kctl2-default.yaml (나는 kubectl 이 설치된 서버에 함께 설치했다.) mkdir /istio cd /istio curl -L https://git.io/getLatestIstio | sh - cd istio-* sudo mv -v bin/istioctl /usr/local/bin/ 최신 버전으로 설치할때는 getLatestIstio 를 사용하면 되지만, 특정 버전을 설치하고 싶으면 아래 링크로 가서 원하는 버..
-
클라우드에서 redis로 tomcat session 관리 구성NAVER Cloud 2021. 7. 19. 20:48
서비스 가용성을 위해 서버를 이중화하여 한대의 서버에 장애가 발생해도 다른 한대에서 서비스를 제공하는 것 외에도, tomcat 을 사용하는 경우 사용자가 연결되어 있던 세션도 다른 서버로 넘겨줘야 할 필요가 생긴다. 이전 회사에는 미들웨어 운영팀이 있어서, 내가 tomcat을 만질일이 전혀 없었지만, 옆에서 지켜보면 session clustering을 구성하는 것은 그닥 간단하지 않은 것 같아 보였다. 대부분의 클라우드 사업자는 멀티캐스트를 지원하지 않기 때문에(예전에는 지원안했는데, 현재는 어떤지 확실히 모르겠음) 클라우드 환경에서는 Redis를 활용하여 세션을 관리할 수 있도록 구성한다. 네이버클라우드에서 LB, VM, Redis Cluster를 활용해서 세션 클러스터링 컨셉 구성을 진행해봤다. 먼저..
-
네이버클라우드에서 서버 중지/기동 스케줄링 설정-CLINAVER Cloud 2021. 2. 1. 10:23
클라우드 서비스의 경우 대부분 서버가 기동되어 있는 경우 과금되고 서버를 삭제하지 않아도 중지해 두면 과금되지 않는다. 네이버클라우드에서도 GPU 나 일부 스펙을 제외하고는 동일한 과금 체계가 적용된다. 서버를 삭제해버리면 다음에 동일한 구성을 사용할 때 또 설정 작업을 해야하기 때문에 사용할 때만 서버를 켜고 사용하지 않을 때는 서버를 꺼둬서 비용 효율적인 클라우드 운영을 해보고자 한다. CLI 를 이용하는 방법과 Cloud Functions 을 이용해 API로 스케줄링 하는 두가지 방법이 있는데, CLI를 사용할 경우 OS의 cron 기능을 이용하여 스케줄을 설정할 수 있다. 1. CLI tool 설치 관련 clidocs.ncloud.com/ko/guide/userguide/#시작하기 Ncloud C..
-
nifi 로 여러개 파일 내용 병합하기 (merge record)HOWTO 2020. 9. 22. 19:36
오브젝트 스토리지에 매일 데이터를 쌓긴 하는데 같은 구조를 가진 컨텐츠라면 하나의 파일로 관리하는 것이 용이할 때가 있다. nifi의 MergeRecord 프로세서를 이용해서 api 를 통해 매일 csv 형태로 떨궈둔 파일의 내용을 새로운 csv 파일에 기록하고 생성할 수 있다. 1. ListS3 앞에서 네이버클라우드플랫폼의 오브젝트스토리지에 파일을 올렸기때문에 파일의 리스트로 네이버클라우드플랫폼의 오브젝트스토리지에서 가져온다. Endpoint URL 을 한국 리전의 오브젝트스토리지 endpoint 로 입력해 주고, (네이버클라우드플랫폼은 리전별로 엔드포인트 URL 이 다르다 ㅠㅠ) 파일을 가져올 버킷명을 적어준다. Region 항목은 AWS S3 에서 파일을 가져올 때 선택하면 되고, 네이버클라우드플랫..
-
nifi 로 API 수집 및 오브젝트 스토리지에 저장하기HOWTO 2020. 9. 19. 17:41
api 를 호출하여 데이터를 매일 수집하고 저장하는 파이썬 소스들을 인터넷에서 쉽게 찾을 수 있지만 nifi 의 invokehtttp processor 를 사용하면 flowfile 을 통해 어떻게 작업이 진행되고 있는지, 어디서 에러가 발생했는지 확인하기 쉽다. (python 을 아주 잘 다루는 사람이라면 python 이 훨씬 쉬울 것이다.) nifi 로 api 를 호출하고, xml 로 받은 결과값을 csv 로 변환하여 네이버 클라우드 플랫폼의 오브젝트 스토리지에 업로드하는 flowfile 을 만들어봤다. 각각의 processor 설정은 아래와 같이 설정했다. 1. Invokehttp 나는 오피넷에 api 사용 권한을 신청하여 매일 유종 별 평균 가격을 수집하도록 설정했다. api 로 데이터를 조회하는 ..
-
CentOS 7 Apache Nifi 설치HOWTO 2020. 6. 22. 11:16
"아파치 나이파이(Apache NiFi, 나이아가라파일즈/NiagaraFiles의 준말)는 소프트웨어 시스템 간 데이터 흐름을 자동화하도록 설계된 아파치 소프트웨어 재단의 소프트웨어 프로젝트이다. 과거에 NSA에 의해 개발되었고 2014년 기술 전송 프로그램의 일부로서 오픈 소스화된 나이아가라파일즈(NiagaraFiles) 소프트웨어에 기반을 둔다" 라고 Wiki 에 나와있는데 Opensource ETL 도구를 찾다가 Nifi 를 알게됐다. ETL 말만 듣고 실제로 해 본적은 없지만 Nifi 를 통해서 경험해 보려면 일단 설치부터.. 1. CentOS 7 VM 생성 네이버 클라우드 플랫폼에서 2core 4GB CentOS 7 VM 을 생성 후 설치를 진행했다. 2. JAVA 설치 및 JAVA HOME 설..