Dev/DevOps

    kubernetes 운영에 도움을 줄 몇 가지 명령

    kubernetes를 운영하면서, 도움이 될만한 몇가지 alias를 만들었습니다. alias 뒤에 pod명의 일부를 넣으면 해당 pod를 찾아서 명령을 수행합니다. 매칭되는 pod가 여러개면 후보 목록을 출력합니다. usage kexecti 컨테이너 안에서 명령을 실행합니다. kubectl exec -ti -n my-namespace my-pod -- ls -l 명령과 동일합니다. host> $ kexecti my-pod ls -l total 4 -rw-r--r-- 1 root root 82 Feb 23 10:32 README.mdkexecsh 컨테이너 안에 bash로 접속합니다. kubectl exec -ti -n my-namespace my-pod -- bash --login 명령과 동일합니다. ho..

    ArgoCD CLI명령어 몇 가지

    login 접속 정보는 web gui와 동일 argocd login 127.0.0.1 --insecure --username admin --password xxxxx app 정보 조회 argocd app get test-dev 전체 app 조회 argocd app list 특정 repo app 조회 argocd app list --repo [http://repo1.com/test-dev/manifests.git](http://repo1.com/test-dev/manifests.git) repo 수정 argocd app set test-dev --repo [http://repo2.com/test-dev/manifests.git](http://repo2.com/test-dev/manifests.git) 전체..

    Redis 성능 향상 방법

    Redis 성능 향상 방법

    Redis 성능 향상 방안에 대해 조사하고, 테스트 한 내용입니다. 성능 향상 방안 스케일 up 스케일 up은 CPU 성능을 올려 redis 성능을 올리는 방법입니다. Redis는 싱글 스레드로 구현되어 있어서, core가 많은 장비보다 core당 속도가 높은 것이 유리합니다. 스케이일 out 스케이일 out은 Redis를 멀티 cluster로 구성해서 성능을 올리는 방법입니다. cluster 구성방법 변경 샤딩: 데이터를 나눠서 저장하는 방법으로 get/set의 성능이 향상됩니다. 리플리케이션: 데이터를 복제하는 방법으로 master 하나에 slave 여러개로 구성하여, app 에서 master에는 set 하고 slave 에는 get 하는 방식으로 read/write 채널이 분리되어야 합니다. 이 방법..

    Redis Cluster 구성

    각각의 Redis Cluster 구성이 필요해서 간단하게 구성할 수 있도록, conf 파일의 node 정보를 읽어서 cluster를 구성하는 bash script를 만들었다. 여기서는 Redis는 설치되어 있다고 가정하고, 구성 방법에 대해서만 설명한다. https://github.com/lmk/redis-cluster Cluster 구성 cluster 관계 master node 간에는 샤딩으로 구성한다. master - slave로 HA 구성으로 master down시 slave가 master를 백업한다. node 3개 일때 master slave redis_01:6010 redis_02:6021 redis_02:6020 redis_03:6031 redis_03:6030 redis_01:6011 nod..

    prompt에 kubernetes context 표시하기

    목적 kubernetes를 멀티 클러스터로 구성했을때, 현재 context가 어떤 것인지 알아야 한다. 매번 조회하기도 귀찮고해서 프롬프트에 표시해보자 방법 .bashrc에 아래 내용을 추가한다. KUBEBIN=/usr/local/bin/kubectl _kube_get_context() { KUBE_CONTEXT="$(${KUBEBIN} config current-context 2>/dev/null)" IFS='@' read -a arr

    nats - prometheus 연동

    목적 nats -> prometheus -> grafana 구성으로 모니터링 환경을 구축 하려고 한다. 방법 nats와 prometheus 모니터링을 하기위해, nats 서버에 prometheus-nats-exporter를 설치 해야한다. nats와 nats-exporter 연동을 위해서는 nats-server 기동시 -m 옵션으로 모니터링 포트를 지정해야한다. nats-server -p 4222 -m 8222 nats-exporter를 기동한다. prometheus-nats-exporter -varz -jsz=all http://127.0.0.1:8222nats-exporter가 nats-server보다 먼저 기동되어서는 안된다. 8222 포트가 listen 된것을 확인하고, 기동해야 정상적으로 연동된..