본문 바로가기
반응형

분류 전체보기76

[자료구조] Array(배열) - 정의, 예제, 시간복잡도, 장단점 # 자료 구조 시리즈 1. Array (배열) 2. Linked List (연결 리스트) 3. Stack 4. Queue 5. Tree (Binary / Segment) 6. Graph 7. Deque 8. Heap & Priority Queue 9. Trie 자료구조(Data Structure)에서는 자료에 효율적으로 접근하고 수정할 수 있도록, 데이터를 구성하고 저장하는 방법을 공부합니다. 자료구조는 데이터의 형태에 따라 크게 선형과 비선형으로 구분됩니다. 선형 자료구조는 데이터가 일렬로 나열되어 있는 반면, 비선형 자료구조는 데이터가 특정한 형태를 띄고 있다는 것이 핵심입니다. 전자의 예시로는 Array, Linked List, Stack, Queue 등이 있으며 후자에는 Tree, Graph 등이.. 2023. 1. 4.
[Istio] Batch Job에서 불가능한 Side-car 패턴(Envoy proxy)의 한계를 극복해보자 (Kubernetes, Pod, Container, CronJob) 참고 자료 - https://stackoverflow.com/questions/72645650/terminate-istio-proxy-after-cronjob-completion - https://github.com/wafflestudio/waffle-world/blob/main/apps/snutt-dev/snutt-core/snutt-core.yaml - https://www.howtogeek.com/devops/how-to-clean-up-old-kubernetes-jobs/ - https://kubernetes.io/docs/concepts/workloads/controllers/job/#clean-up-finished-jobs-automatically 1. 문제 정의 apiVersion: batc.. 2022. 12. 26.
[Kubernetes] NetworkPolicy를 통해 Pod끼리의 트래픽을 통제해보자. (Ingress/Egress, from/to, namespaceSelector, podSelector, port) [ NetworkPolicy ] 1. Ingress vs Egress 네트워크 트래픽은 외부로부터 유입되는 Ingress(inbound)와 내부로부터 외부로 나가는 Egress(outbound)로 구분됩니다. 우리가 공부하고 있는 쿠버네티스는 기본적으로 non-isolated 네트워크이므로 클러스터 내부 Pod끼리의 트래픽 흐름은 자유롭습니다. 하지만 Namespace(네임스페이스)로 단일 클러스터의 리소스 격리 매커니즘을 사용하여 논리적인 가상 클러스터를 만드는 것처럼, 일부 환경에서는 다른 네임스페이스의 애플리케이션을 적절히 격리하거나 트래픽 제어를 할 필요가 있습니다. Ingress라는 이름의 API 오브젝트도 있으나, HTTP/HTTPS로 요청하는 주소를 구분하여 애플리케이션 서비스에 라우팅할 수.. 2022. 12. 14.
[Kubernetes] Authentication/Authentication(인증/인가) 프로세스 및 User/Role 생성(User, CSR, RBAC, RoleBinding) 1. 쿠버네티스에서의 User 개념 쿠버네티스에서는 User(human)와 ServiceAccount(machine) 두 종류의 사용자가 존재합니다. User에는 클러스터 관리자 및 사용자(일반 개발자)가 있으며, ServiceAccount는 Prometheus, Jenkins 등의 Pod 단위로 동작하는 컨테이너들이 API를 사용하기 위해 권한을 부여받은 machine을 뜻합니다. 쿠버네티스에는 우리가 일반적으로 이해하고 있는 User Account과 매칭되는 개념의 객체가 존재하지 않습니다. 즉, 일반적인 방식인 API Call을 통해서는 클러스터에 '지금 사용자가입하니깐 DB 같은데 등록해놔라~'라고 등록할 수 없다는 말입니다. 대신, 클러스터의 인증 기관(CA)이 서명한 유효한 인증서를 제시하는 .. 2022. 12. 13.
반응형