본문 바로가기
반응형

IT Knowledge/Kubernetes26

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.
Kubernetes 기본 명령어 정리(kubectl) Kubernetes에서는 kubectl 이라는 명령어를 사용한다. 이 명령어를 입력받은 apiserver가 해당 명령어를 수행한다. 대부분 CLI환경에서 조작이 가능하기 때문에, 이 kubectl 명령어를 사용할 줄 알아야 한다. Kubectl [Command] [Type] [Name] [Flags] Command : 하나 이상의 리소스에서 수행하려고 하는 동작을 지정한다(ex. Create, get, describe…) Type : 리소스 타입을 지정(대소문자 구분X , 단수형 복수형 약어 모두 지정할 수 있다.) Name : 리소스 이름을 지정(대소문자 구분O, 이름을 생략하면 모든 리소스) (ex. Kubectl get pod example-pod1 example-pod2…) Flags : 선택적 .. 2020. 12. 21.
반응형