본문 바로가기
728x90
반응형

Cloud Side/Container > Kubernetes4

[k8s] DaemonSet으로 fluentd 구축하기 (configMap, pattern not matched) 어서와 DaemonSet은 처음이지? 회사 서비스 로그 시스템을 구축하는데 벌써 한달이 지나가고 있다. (물론 로그 시스템만 한거 아님! 메트릭 수집도 해야했고 다른 서비스도 개발해야했으니 한달 허투로 쓴거 아님!) 개발은 Docker로만 운영은 k8s로 하기 때문에 로그를 위한 fluentd도 Docker에서 벗어나 k8s에 도입하게 되었다. 근데 k8s의 새로운 kind를 만나게 되었다. 그게 바로 DaemonSet! k8s 공식 문서에서 확인한 DaemonSet의 설명이다. 한마디로 정리하면 알아서 모든 노드에 실행하게 해주는 아이다. DaemonSet을 사용하지 않을 경우 fleuntd의 pod를 각 노드마다 수동으로 생성해줘야 할것이다. 하지만 DaemonSet를 사용하면 딱히 설정해주지 않아도.. 2023. 7. 25.
[k8s] 초기화 컨테이너 적용시키기 - initContainers MongoDB 연결이 안되었다는데요? 위에는 AKS에 생성된 workloads이다. 총 9개로 아직 Ready 상태가 주황빛이지만 n초만 지나도 오른쪽처럼 초록빛들이 들어온다. 여기에서 중요한 점이 있다. 초록빛이 즉, 정상적으로 Ready 상태가 되는 순서가 뒤죽박죽이다. A라는 서비스가 먼저 Ready가 되었는데 아직 MongoDB가 Not Ready일 때 문제가 생겼다. A 서비스는 시작되면서 바로 MongoDB에 연결을 시도했다. 하지만 MongoDB가 아직 Ready가 되지 못해 통신이 되지 않으니 A 서비스는 연결 오류를 뱉어난다. 나중에 MongoDB가 Ready가 되었다고 하더라도 A 서비스는 이미 연결 오류로 끝났다. 그럼 MongoDB 연결에 timeout을 걸어 위와 같은 상황에 내가.. 2023. 4. 21.
[k8s] 쿠버네티스 명령어 모음 yaml 올리기 kubectl apply -f [파일이름].yaml Pod 조회 kubectl get pod kubectl get pod -o wide 특정 Pod 자세히 조회 kubectl describe pod [pod name] 특정 Pod 재시작 kubectl rollout restart deployment [deployment_name] 특정 Pod의 env 조회 kubectl exec [Pod 이름] -- env 특정 Pod 삭제 kubectl delete po [pod 이름] Service 조회 kubectl get service 로그 조회 kubectl logs [pod name] 컨피그맵 조회 kubectl get configmaps kubectl describe configmaps [이.. 2023. 4. 21.
[k8s] AKS exec user process caused: exec format error 오류 해결 kubectl get pods pod들을 상태를 조회해보니 STATUS가 Error일때도 있고 ImagePullBackOff 혹은 CrashLoopBackOff 일때가 있었다. kubectl logs 무슨 일인지 좀 더 상태를 구체적으로 파악하기 위해 log를 조회했다. standard_init_linux.go:228: exec user process caused: exec format error 그랬더니 위와 같은 메시지를 얻었다. 찾아보니 대부분 맥 M1 유저들한테 발생하는 문제라고 한다. docker inspect docker image의 기본 설정을 확인해보자. 그랬더니 정말로 image의 기본 설정이 arm64였다. 인제 해결하는 방법에 대해서 알아보도록 하자. 1. ACR에 올라가 있는 모든 .. 2022. 8. 5.
728x90
반응형