IT

    [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, ..

    [AWS] EKS 트러블 슈팅 (aws-auth 권한 추가 이슈)

    Intro aws eks cluster는 aws-auth 라는 configmap을 사용해서 cluster접근 권한을 컨트롤 합니다. 오늘은 aws-auth로 권한을 추가할때 할때 실수 할 수 있는 부분을 공유해보고자 합니다. 사건의 발생.. 특정 eks cluster node 위에 jenkins pod 를 statefulset 자원으로 생성해두고 특정 jenkins job에서 kubectl을 사용하는데, 아래와 같이 k8s 자원에 권한이 없다는 에러가 나와서 aws-auth에 권한을 추가하였습니다. kubectl get ns Error from server (Forbidden): namespaces is forbidden: User "system:node:ip-1-1-1-1.ap-northeast-2.c..

    [kubernetes] pod 의 스케줄링 방법들과 예시 ( feat. anti affinity 활용 하여 다른 노드 다른 AZ에 스케줄링하기)

    Intro kubernetes 는 여러개의 노드가 클러스터링 되어있고, 그 안에 pod가 어느 노드로 스케줄링 해야할지를 상황에 따라 컨트롤 할 수 있어야 합니다. 오늘은 pod 스케줄링 기능중에 pod anti affinity 를 사용하여 각각 다른 노드와 다른 AWS AZ에 생성되도록 구성하는 방법에 대해 알아보고 관련된 내용을 살펴보겠습니다. pod의 기본(default) 스케줄링 pod의 기본 스케줄링은 first-come, first-served (FCFS) 방식입니다. 즉, pod가 생성되면, pod의 자원 요구 사항을 충족시키는 첫 번째 유효한 노드에 배치하게 됩니다. k8s의 Scheduler는 사용할 수 있는 리소스가 가장 많은 노드부터 시작해서 사용 가능한 노드 목록을 검토하고, pod..

    [DevOps] helm template에서 loop 돌리기 (rage until 사용)

    Intro helm chart를 사용하다보면 커스텀하게 변경해야할 경우가 종종 발생합니다. 오늘은 helm chart 문법에서 rage를 사용해서 for구문 처럼 loop 돌리고 정수 값을 0,1,2,3 으로 넘버링 하는 방법을 알아 보겠습니다. 결론 먼저 결론적으로 다음과 같이 {{range $index, $element := until (int .Values.replicas) }} 구문을 사용하면 됩니다. {{range $index, $element := until (int .Values.replicas) }} --- apiVersion: v1 kind: Service metadata: name: example-{{ $index }}-svc namespace: devops spec: ports: - ..