NCP
-
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 를 사용하면 되지만, 특정 버전을 설치하고 싶으면 아래 링크로 가서 원하는 버..
-
Kubernetes 에서 Cert-manager로 letsencrypt 인증서 발급/설정NAVER Cloud 2021. 7. 22. 11:58
kubernetes 에 구동하는 웹에서도 https 설정이 필요하고, 무료 인증서를 사용할 경우 letsencrypt 에서 인증서를 발급받고 웹에 적용할 수 있다. 네이버클라우드에서 테스트 해봤고, nginx ingress 를 사용했다. (k8s cluster 는 구성이 되어 있어야 하고, nginx ingress 를 설치하면 를 생성하면, ingress 와 매칭된 NLB는 자동 생성된다.) 1. NKS 에 ingress cotroller 설치 kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/cloud/deploy.yaml namespace/i..
-
클라우드에서 redis로 tomcat session 관리 구성NAVER Cloud 2021. 7. 19. 20:48
서비스 가용성을 위해 서버를 이중화하여 한대의 서버에 장애가 발생해도 다른 한대에서 서비스를 제공하는 것 외에도, tomcat 을 사용하는 경우 사용자가 연결되어 있던 세션도 다른 서버로 넘겨줘야 할 필요가 생긴다. 이전 회사에는 미들웨어 운영팀이 있어서, 내가 tomcat을 만질일이 전혀 없었지만, 옆에서 지켜보면 session clustering을 구성하는 것은 그닥 간단하지 않은 것 같아 보였다. 대부분의 클라우드 사업자는 멀티캐스트를 지원하지 않기 때문에(예전에는 지원안했는데, 현재는 어떤지 확실히 모르겠음) 클라우드 환경에서는 Redis를 활용하여 세션을 관리할 수 있도록 구성한다. 네이버클라우드에서 LB, VM, Redis Cluster를 활용해서 세션 클러스터링 컨셉 구성을 진행해봤다. 먼저..
-
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 설..
-
Root Domain 에 CNAME 설정 후 non-www -> www redirectNAVER Cloud 2020. 6. 16. 10:45
클라우드 서비스에서 LB 를 사용하면 외부에서 접근할 수 있는 도메인 주소를 자동으로 할당해 준다. 서비스 도메인을 별도로 할당받은 경우 DNS 에서 LB 도메인을 보도록 설정해 주어야 하는데 LB IP 로 A 레코드를 등록하면 LB 도메인에 설정된 IP 가 변경될 경우 (잘 변경 안되지만..) 서비스에 영향이 있을 수 있으므로 CNAME 설정이 필요하다 . 1. Ncloud 콘솔에서 DNS 서비스로 이동 사전에 freenom 이라는 사이트에서 무료로 3개월동안 사용할 수 있는 도메인을 받아놨으므로. (yesplease.cf) 아래와 같이 도메인을 추가하고 CNAME 레코드에 LB 도메인 주소값을 입력해준다. 2. Apache 설정 변경 이렇게 설정하고 나면 www.yesplease.cf 로 사용자가 인..
-
네이버클라우드플랫폼 API Gateway 에 사용자 도메인 적용 방법NAVER Cloud 2020. 2. 11. 16:43
네이버 클라우드 플랫폼 (Ncloud) 에서도 Rest API 와 관련된 리소스와 메소드를 정의할 수 있는 API Gateway 서비스를 제공한다. 현재는 API Gateway 를 생성하게 되면 자동으로 invoke URL 을 생성해 주는데 API 서비스를 제공하거나 기존에 사용중인 도메인을 Invoke URL 로 invoke URL 을 변경해야 하는 경우가 발생할 수 있는데 이런 경우 아래 예제를 참고할 수 있다. 1. API Gateway API 설정 상태 및 기대 구성 /apigw/v1/api-keys API 호출 시 정상일 경우 12121 을 응답하게 설정되어 있고 invoke URL 은 https://axqc29e77q.apigw.ntruss.com/chatbot/test_stage/apigw/..