네이버클라우드
-
squid http proxy 사용해서 aws ecr 에 docker image push 하기HOWTO 2021. 12. 29. 15:30
aws 의 ecr 에 private link 가 생겨서 접근 가능한 IP 를 제어할 수 있지만, 이전에는 http proxy 를 통해서 접근할 수 있는 IP 를 제어했다. ecr 에 사용할 일은 없겠지만, 인터넷 사용이 제한적이거나 source IP 를 proxy 로 제한하고 싶은 경우 squid proxy 를 사용할 수 있고, docker registry 로 push 하는 경우 https 를 사용하지만 별도의 docker 설정이 필요하므로 기록해둔다. 1. proxy 서버에 squid proxy 설치 위 그림에서는 ec2 에 설치, proxy 통신을 위한 acg, nacl 설정은 완료한 상태라고 가정한다. yum install squid -y squid.conf 수정 후 재시작 vi /etc/squid..
-
ALB Ingress 로 subdomain 분기 설정NAVER Cloud 2021. 12. 20. 18:45
ALB를 사용해서 abc.com/path1, /path2 와 같은 분기도 많이 처리하지만, subdomain 분기도 사용할 수 있기에 테스트를 진행해 보았다. 전체적으로 아래와 같은 구성이고, alb annotation을 사용해서 더 다양한 방식으로 분기할 수 있다. 1. alb ingress controller 설치 alb ingress 를 사용하기 위해서는 네이버클라우드의 ALB 를 생성할 수 있는 alb ingress controller 를 설치해야 한다. 네이버클라우드 가이드 문서에 나와있는대로 설치한다. (https://guide.ncloud-docs.com/docs/k8s-k8suse-albingress) kubectl --kubeconfig=$KUBE_CONFIG apply -f https:..
-
kubernetes Pod 에서 NAS 공유 볼륨 사용하기NAVER Cloud 2021. 12. 1. 12:21
Deployment 로 배포된 여러개의 pod 에서 동일한 파일에 접근하기 위해서는 오브젝트 스토리지를 사용하는 방법도 있지만, 상황에 따라서는 NAS 볼륨을 사용하는 것이 더 효율적일 수도 있다. 네이버클라우드의 kubernetes 에서 NAS 볼륨을 사용하는 방법을 제공하긴 했으나, worker node 가 증가되면 수동으로 설정해줘야 하는 부분들이 있었는데, NAS CSI 가 출시되면서 상당히 편리해졌다. 기본적으로 block storage csi 는 클러스터 생성 시 배포되어 있는데, NAS csi 역시 클러스터 생성 시 배포에 포함된다. (21년 11/25 이후 배포된 nks 클러스터) 11/25 이전에 생성하여 사용하던 클러스터라면 수동으로 NAS csi 를 배포해줘야 한다. 1. 기존 사용 ..
-
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 를 사용하면 되지만, 특정 버전을 설치하고 싶으면 아래 링크로 가서 원하는 버..
-
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를 활용해서 세션 클러스터링 컨셉 구성을 진행해봤다. 먼저..