본문 바로가기
INFRA/DevOps

[K8S] SideCar

by BTC_민물공원 2023. 10. 16.

베하~! BTC_녹차공원 팀의 민물공원 입니다.

이번주는 SideCar에 대해 알아보겠습니다!

 

 

SideCar


사이드카 패턴은 사용하고자 하는 기본 컨테이너의 기능을 확장시키거나 향상하는 용도의 컨테이너를 추가하는 패턴이예요. 기본 컨테이너와 별도로 독립적으로 동작해서 어플리케이션 컨테이너의 변경이나 수정 없이도 자유롭게 컨테이너를 활용할 수 있어요.

사이드카 패턴에서는 기본 컨테이너가 있고 협업 활동을 향상 시키는 보조 컨테이너가 있어요.

기본 컨테이너는 컨테이너 목록에서 첫번째에 위치한 컨테이너예요. 보조 컨테이너는 기본 컨테이너가 런타임할때에 협업을 가능하게 하며 서로 다른 프로그래밍 언어를 사용함으로써 기본 컨테이너의 치환성과 재사용성을 높여줘요.

간단한 실습 예제를 통해 SideCar 에 대해 자세히 알아보아요!

 

 

SideCar 실습


이번 실습도 KillerCoda 에서 따라해보아요.

https://killercoda.com/

 

Killercoda Interactive Environments

Learn DevOps Linux Kubernetes CKS CKA CKAD Git Cassandra etc | Katacoda compatible

killercoda.com

 

nginx가 실행중인 pod에 busybox container를 sidecar 패턴으로 추가해보는 실습을 해볼거예요.

 

먼저 nginx pod를 실행합니다.

kubectl run nginx --image=nginx

 

nginx의 yaml 파일을 저장합니다.

kubectl get pod nginx -o yaml > nginx.yaml

 

nginx pod 에 busybox를 추가합니다.

  - image: busybox
    name: sidecar
    volumeMounts:
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-c5l8p
      readOnly: true

 

기존 nginx pod를 삭제 후 새로 작성한 nginx.yaml 파일을 이용해 pod를 새로 생성합니다.

kubectl delete pods nginx

kubectl apply -f nginx.yaml

 

그 후 새로 생성한 pod의 상태를 확인합니다.

kubectl get pods nginx -o wide

 

이렇게 오늘은 SideCar 에 대해 알아보았는데요.

다음번에는 더 흥미로운 주제로 찾아뵙겠습니다.

 

이상 BTC_녹차공원 팀이였습니다!

베빠~!

'INFRA > DevOps' 카테고리의 다른 글

Terraform Import  (0) 2023.10.27
[K8S] Resource  (0) 2023.10.16
kind  (1) 2023.10.13
Flask + gunicorn + nginx 연동  (1) 2023.10.11
[Git] Rebase  (0) 2023.10.04

댓글