분류 전체보기

    [DevOps] kpexec 사용 법 (pod를 admin권한으로 접속하기)

    Intro k8s cluster를 운영하면서 다양한 docker image를 사용하게 될텐데요. 이 docker image가 어떤 권한과 어떤 유저로 실행되도록 구성되어있는지에 따라서 kubectl로 pod에 접속하였을때 어디 까지 할 수 있는지가 정해지게 됩니다. 혹시 pod에 접속해서 yum 이나 apt-get으로 curl이나 tcpdump같은걸 설치하려고보니 root권한이 없는 경우가 있었나요? 이 때 kpexec라는 오픈소스를 사용하면 쉽게 admin권한으로 pod에 접속할 수 있습니다. kpexec 란? kpexec는 Container의 권한에 관계 없이 command를 가장 높은 권한으로 실행시켜주는 CLI입니다. 관련 GITHUB : https://github.com/ssup2/kpexec ..

    [DevOps] k8s sniff 를 사용한 pod의 tcp 패킷 캡처

    Intro MSA구조의 아키텍처가 도입되면서 인프라와 서버가 작은 단위로 쪼개지면서 그 작은 서버간의 네트워크 통신에 대한 추적과 가시화 그리고 이에 대한 트러블슈팅이 중요해지고 있습니다. 기존 모놀리식 구조의 인프라 형태를 보면 LB → Server 구조의 비교적 심플한 구조였다면, MSA구조에 LB → Server(node) → ingress controller→ (svc)→ pod 와 같이 홉이 더 많아지고 복잡 해졌습니다. 따라서 원하는대로 동작하지 않는 경우 트러블 슈팅을 위해서 어느 홉까지 통신이 되고 있는지 확인 해야하는 일들이 종종 발생하게 됩니다. k8s sniff 란? k8s sniff는 k8s pod의 TCP통신 패킷을 캡처해주는 유틸리티 입니다. 물론 kubectl exec 를 통해..

    [DevOps] k9s -c pod 컬럼 설명

    k9s 를 사용할때 pod 리스트를 확인하려면 k9s -c pod 로 확인할 수 있는데 여기서 표시되는 컬럼은 아래와 같습니다. View: Pods()[number of pods listed] NAME pod name READY number of pods in ready state / number of pods to be in ready state RESTARTS number of times the pod has been restarted so far STATUS state of the pod life cycle, such as Running | ... | Completed CPU current CPU usage, unit is milli-vCPU MEM current main memory usage, ..