본문 바로가기
반응형

k8s21

Kubernetes 물리서버 vs 가상서버 IT관리자들은 리소스를 효율적으로 사용하기 위해서, 가상환경과 컨테이너 환경을 고민하게 되고, 컨테이너 환경을 처음 구성하고자 하면 이러한 궁금증이 생길것이다. 컨테이너 환경을 물리환경 위에 올릴까? 가상환경 위에 올릴까? 더불어, 가상환경위에 컨테이너를 올려도 문제는 없을까? 먼저 가상환경위에 컨테이너를 올려도 문제가 없을까? 라는 고민에 대한 답은. 아무런 문제가 없다! 이다. 아주 쉽게 생각해보면, 컨테이너 환경을 제공하는 AWS, Azure 서비스를 보았을것이다. 이러한 대규모 서비스를 제공하는 AWS, Azure에서 물리서버에 기반에서 서비스를 제공할까? 절대 그렇지 않다. 모두 가상환경에서 제공하고 있다. 따라서, 이미 가상환경 위에서 컨테이너 환경을 구축하는데는 아무런 문제가 없다고 생각해도.. 2021. 8. 4.
Kubernetes Serivce 리소스의 역할 및 타입 Kubernetes의 리소스 중에 하나인 Service에 대해서 작성합니다. Service 는 Kubernetes에서 네트워킹을 담당하는 리소스로서 간략한 도표는 아래와 같습니다. 기존에는 Client가 직접 Pod에 접근하여 Request를 보냈는데, Service의 등장으로, Service를 통한 Pod에 접근 방식으로 변경할 수 있습니다. 외부에서 트래픽을 받는 포트 : Port(80) 내부 Pod로 전달하는 포트 : TargetPort(8080) 서비스로 수신된 Request는 LabelSelector를 통해서 어떤 Pod로 트래픽을 전송할 지 결정할 수 있습니다. ex) Service의 Default 앱 정의서 apiVersion : v1 kind : Service metadata: name: .. 2021. 2. 8.
Kubernetes 별칭 및 자동완성 Kubernetes를 사용하다보면, 자주 kubectl을 입력해야 한다. 매번 kubectl을 입력하기전에 별칭 및 탭 완성을 설정해서 좀 더 편리하게 쓸 수 있도록 몇분만 투자해보자 [별칭] Kubernetes에 명령을 내리려면, kubectl을 사용해야겠지만, k와 이 짧은 별칭을 설정한다면 매번 kubectl을 입력할 필가 없다. ~/.bashrc 또는 이와 준하는 파일에 아래와 같이 추가 한다. Alias k=kubectl [탭완성] 1. Bash-completion 이라는 패키지를 설치해야 한다. (ex. yum install bash-completion) 2. ~/.bashrc 파일에서 이를 수동으로 소스(source)해야 한다. "Source /usr/share/bash-completion/.. 2021. 1. 22.
kubernetes Deploy Strategy(배포전략) 대표적인 무중단 배포 전략 세 가지를 기술한다. 무중단 배포란? 서비스적인 장애와 배포에 있어서 부담감을 최소화 하고, 서비스가 중단되지 않도록 배포하는 기술 Rolling Update Blue/Green Canary 롤링(Rolling) 구 버전을 하나 제거하고 새 버전을 하나 추가하는 과정을 반복하는 방식(V1에서 V2로 점진적으로 전환) 이전버전(v1)과 새버전(v2)의 인스턴스가 동시에 존재할 수 있다는 단점이 있음. (버전 차이로 인해 발생하는 상황을 고려해야한다. ) 서버 수의 제약이 있을 경우, 배포중에 인스턴스 수가 감소된다. 블루/그린(Blue/Green) 이전버전과 새버전을 동시에 나란히 구성 후 트래픽을 일제히 전환한다. 롤링에서 존재하는 버전차이에 대한 문제를 해결할 수 있다. 문제.. 2020. 12. 29.
kubernetes의 포드(Pod) 소개 쿠버네티스에서는 Pod라는 단위로 컨테이너를 묶어서 관리한다. 1개의 Pod는 1개의 컨테이너 or 2개 이상의 컨테이너를 포함한다. (일반적으로는 단일 컨테이너를 포함해서 사용한다) 다수의 컨테이너를 포함할 경우, 항상 포드 전체가 단일 워커노드에서 실행된다. (다시 말해, 1개의 포드가 여러 워커노드에 걸쳐있을 수 없다는 말이다) 왜 여러 개의 컨테이너를 Pod단위로 묶어서 배포할까? 여러개의 프로세스를 하나의 컨테이너로 묶으면 안되기 때문에, 컨테이너를 단일 단위로 관리할 수 있는 상위 레벨 구조가 필요하다. 이를 통해, 마치 하나의 컨테이너에서 실행되는것 처럼 환경을 제공하면서 다소 격리된 상태로 유지할 수 있다. Pod 특성 Pod는 자체IP주소를 가지며, pod내의 컨테이너는 IP와 Port를.. 2020. 12. 28.
Kubernetes, Docker 지원중단(Deprecation) 발표 12.02 Kubernetes v1.20 릴리즈의 일부분으로 Dockershim 지원중단 발표. 왜 Docker를 더 이상 지원하지 않는가? Kubernetes에서는 유지관리의 부담을 줄이고, 다양한 컨테이너 런타임의 원활한 상호 운용을 위해서 'CRI 표준'을 사용할 것이다. Docker는 컨테이너 런타임 인터페이스인 CRI를 준수하지 않습니다. 따라서, 사용자는 컨테이너 런타임을 Docker에서 지원되는 다른 컨테이너 런타임으로 변경하기만 하면 됩니다. 해야할 일 Docker 런타임 지원이 향후 v1.22 이후 제거되면 더 이상 지원하지 않으므로, containerd or CRI-O와 같은 다른 컨테이너 런타임 중 하나로 전환해야 합니다. 언제부터 지원 중단 예정인가? Dockershim이 없는 가장 빠른 릴리.. 2020. 12. 22.
반응형