본문 바로가기

kubernetes68

[AWS] AWS EKS Node Drain 안녕하세요 비티시보이즈입니다. 오늘의 주제는 EKS Node Drain입니다. Kubernetes Node Drain이란? kubectl drain은 Node 관리를 위해서 지정된 Node에 있는 Pod들을 다른곳으로 이동시키는 명령입니다. Node에 있는 Pod들을 다른 Node로 옮기고, Drain을 한 Node에 Cordon을 하여 drain 후에도 다시 스케줄링 되지 않도록 해주는 명령입니다. Node Drain 순서 Node를 Drain하는 순서는 다음과 같이 진행됩니다. 먼저 drain하려는 노드의 이름을 식별합니다. 다음을 사용하여 클러스터의 모든 노드를 나열할 수 있습니다. kubectl get nodes 다음으로 Kubernetes에 노드를 비우도록 지시합니다. kubectl drain .. 2023. 8. 17.
[K8S] Service 베하~! BTC_녹차공원 팀의 하동녹차 입니다. Kubernetes Service에 대해 알아보겠습니다! 쿠버네티스 서비스(Service) 쿠버네티스 서비스(Service)는 쿠버네티스 클러스터 내에서 실행 중인 파드에 접근하기 위한 추상화된 리소스입니다. 파드는 유동적으로 생성되고 삭제되며 IP 주소가 변경될 수 있기 때문에, 직접 파드의 IP 주소로 접근하는 것은 번거로운 작업입니다. 서비스는 이러한 문제를 해결하여 파드에 고정된 가상 IP 주소를 제공하고, 그 IP 주소를 통해 파드에 접근할 수 있도록 합니다. 이를 통해 클라이언트나 다른 파드가 서비스를 통해 파드와 통신할 수 있습니다. 쿠버네티스 서비스(Service) 기능과 특징 1. 클러스터 내부 서비스: 기본적으로 서비스는 클러스터 내부에서.. 2023. 8. 1.
[K8S] NetworkPolicy 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 NetworkPolicy에 대해 알아보겠습니다! NetworkPolicy NetworkPolicy는 쿠버네티스에서 제공하는 일종의 방화벽 정책으로 Pod가 서로 통신할 때 방화벽 설정을 할 수 있어요. Pod에 대해 인바운드(Inbound traffic), 아웃바운드(Outbound traffic)에 대해 설정을 해줄 수 있답니다 !! Network Policy 에는 Inbound 에 해당하는 ingress 설정과 Outbound에 해당하는 Egress 설정이 있어요. Inbound 는 외부에서 특정 Pod의 내부로 들어오는 트래픽에 대한 방화벽 설정으로 어떤 트래픽에 Pod로 들어올것인지 설정하는 부분이랍니다. Outbound 는 특정 Pod에서.. 2023. 8. 1.
[K8S] Node Upgrade 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 Node Upgrade 하는 방법에 대해 알아보겠습니다! Node Upgrade 쿠버네티스는 활발하게 유지 보수가 되며 클라우드 CSP (AWS, Azure, GCP) 들의 호환성 개선도 포함되기 때문에 이에 맞춰 주기적으로 업그레이드를 해주어야합니다. 쿠버네티스에서는 업그레이드 할 때 한 버전씩만 업그레이드 하는 것이 권장되고있습니다. 만약 v1.10에서 v1.13으로 업그레이드를 해야한다면 v1.10 -> v1.13이 아닌 v1.10 -> v1.11 -> v1.12 -> v1.13 으로 업그레이드를 해야합니다. 실무에서 운영중인 클러스터를 업그레이드 해야 할 때 안전하게 업그레이드 하는 방법이 무엇일까요? 1. 새로운 Node를 추가할 경우 -.. 2023. 7. 20.
Rancher로 Kubernetes 환경 구축하기 - 설치 및 개요 베하~! 1-Tier팀 입니다. 오늘은 제가 23년도 1분기에 참여했던 외부 세미나 랜처 핸즈온 내용을 바탕으로 2회차에 나눠 함께 랜처에 대해 알아보기 위해서 준비했습니다! 랜처는 컨테이너와 쿠버네티스 클러스터를 관리, 배포하기에 최적화된 도구입니다. 최초버전에는 쿠버네티스 뿐만 아니라 다른 컨테이너 오케스트레이션들도 지원을 했지만 현재는 쿠버네티스만을 지원하고 있습니다. 랜처는 노드를 직접 계산하여 쿠버네티스를 설치하거나 기존에 설치되있는 쿠버네티스 클러스터를 불러올수도 있으며 모든 클러스터에 대해 인증및 역할기반 액세스 제어(RBAC)를 중앙 집중화하여 글로벌 관리자가 한곳에서 클러스터 접근을 제어할수있습니다. 또한 외부 CI/CD 시스템이나 랜처 자체 워크로드를 구현하여 파이프라인을 구축할 수 있.. 2023. 7. 6.
[K8S] Node Schedule 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 Node Schedule 정책에 대해 알아보겠습니다! kubectl 은 노드의 pod-scheduling 정책을 손쉽게 변경할 수 있도록 다양한 명령어를 제공해줘요. drain, cordon, uncordon 을 지원해주는데 각각 알아보아요 cordon cordon은 지정된 node에 더 이상 pod들이 스케줄링되지 않도록 해요. 위에서 볼 수 있듯이 node01은 cordon 명령어를 통해 SchedulingDisabled 상태가 되었어요. test3라는 새로운 pod를 생성하니 node01이 아닌 controlplane에 새로운 pod가 스케줄링 되었답니다. drain drain은 지정된 node에 존재하는 모든 pod를 제거하여 노드를 비우고.. 2023. 7. 6.
Kubeflow 개요 및 특징 베하~! 1Tier 팀 입니다. Kubeflow~! 혹시 들어보셨나요? Kubeflow는 End-toEnd AI 플랫폼으로, MLOps를 위한 머신러닝 워크플로우로 점차 상용화 되어가고 있는데요, 이번에는 Kubeflow를 한번 알아보겠습니다 Kubeflow 개요 AI플랫폼은 머신러닝 워크플로우를 자동화 해주는 역할로, 머신러닝 모델을 개발하는 모든 과정을 쉽게 개발하고 배포할 수 있도록 해줍니다. AI 플랫폼으로 퍼블릭 클라우드에는 구글 버텍스 AI(Google Vertex AI), 아마존 세이지메이커(Amazon SageMaker), 애저 머신러닝(Azure Machine Learning) 등이 있으며, 오픈소스로는 쿠브플로우(Kubeflow)가 유명합니다. Kubeflow는 모델 학습부터 모델 배포.. 2023. 6. 19.
[K8S] role & rolebinding 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 role 과 rolebinding에 대해 알아보겠습니다! role 이란? role(역할)은 특정 API나 리소스를 이용할 수 있는지 권한을 정의해 놓은것이랍니다. 쉽게 말해, 쿠버네티스의 사용권한을 정의해 놓은것이예요. role은 지정된 네임스페이스에서만 유효하답니다. role에서 verbs 라는게 있어요. verbs는 어떤 동작을 하는지 설정하는 부분이랍니다. verbs에는 여러가지가 있는데 자주 쓰이는 것들을 같이 알아보아요~ create : 새로운 리소스 생성 get : 개별 리소스 조회 list : 여러 건의 리소스 조회 update : 기존 리소스 내용 전체 업데이트 patch : 기존 리소스 중 일부 내용 변경 delete : 개별 리소.. 2023. 6. 18.