1. BusyBox이란?
BusyBox는 Unix/Linux에서 자주 쓰이는 400개 가량의 명령어를 가진 오픈소스이다. BusyBox에서는 자주 쓰이지 않는 명령어 옵션들은 제거됐다. 모든 것이 1MB 아래로 존재하며, 이러한 작은 이미지가 인베디드 시스템과 IOT 도메인, 클라우드 컴퓨팅 세계에서 사랑받는 이유이다.
BusyBox는 점점 인기를 얻고 있으며, 작은 크기의 이미지를 제공하기에 Docker 사용자에게 사랑받는다.
2. BusyBox.yml 생성하기
vim 에디터로 busybox.yml 파일을 생성하고, 코딩해 준다.
vim busybox.yaml
아래는 busybox.yml에 들어가는 내용이다.
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: busybox
namespace: default
labels:
app: busybox
spec:
replicas: 1
selector:
matchLabels:
app: busybox
template:
metadata:
labels:
app: busybox
spec:
containers:
- name: busybox-container
image: busybox:latest
# Keep the container running
command: [ "/bin/sh", "-c", "--" ]
args: [ "while true; do sleep 30; done;" ]
resources:
requests:
cpu: 30m
memory: 64Mi
limits:
cpu: 100m
memory: 128Mi
그리고 kubernate에 busybox.yml 파일을 적용시킨다.
이는 kubuernate가 실행 중이어야 한다.
kubectl apply -f busybox.yml
아래는 실행화면이다.
apply로 생성이 되고, get pods로 잘 생성이 되는지 확인한다.
실행화면
3. Pod의 IP 상태 확인하기
내 컴퓨터에는 developement라는 namespace를 가졌고 pod를 3개 가진다.
이의 ip를 확인하는 명령어이다.
여기 코드의 developement는 내가 생성한 namespace이므로 각자 만든 namespace에 맞게 수정해 주자.
kubectl get pods -n development -o wide
실행화면
4. BusyBox에서 Application 상태 확인하기
먼저 생성한 BusyBox의 이름을 가져온다. 그림 1의 빨간색으로 밑줄 친 부분이다.
저기 busybox-6b95744666-czdp9는 자신의 BusyBox 이름으로 수정해 주자.
성공적으로 실행됐다면 쉘로 들어가게 된다.
kubectl exec -it busybox-6b95744666-czdp9 -- /bin/sh
여기서 아까 확인한 Pod의 IP 주소를 이용해서 http 연결을 시도해 본다.
wget 다음 부분의 ip 주소는 자신의 Pods의 Ip 주소로 수정해 주자.
여기서 10.2440.6:3000의 3000은 내가 Pod를 생성할 때 쓴 container port 번호이다.
Pod를 만들 때 쓴 yml파일에서 container port 번호를 확인하고 바꿔주자.
wget 10.244.0.6:3000
성공적으로 완료가 됐다면 saving to 'index.html'이라는 문구가 나올 것이다.
index.html 파일을 확인하고 싶다면 아래 명령어를 사용하자.
cat index.html
cat으로 확인하면 잘 통신함을 확인할 수 있다.
쉘을 나가고 싶다면 exit으로 나가면 된다.
실행화면
Reference
Linkedin/ Learning kubernates/ Kim Schlesinger
'데이터 사이언스' 카테고리의 다른 글
[Window][Docker] 도커에서 파일 실행 시 오류 (0) | 2023.05.24 |
---|---|
[VirtualBox][Kubernates] LoadBalancer로 애플리케이션 인터넷에 연결하기 (0) | 2023.04.22 |
[YAML] YAML이란? 기본 특징, 데이터 타입, 문법 (0) | 2023.04.22 |
[VirtualBox][Kubernate] namespace 생성하기 (0) | 2023.04.21 |
[VirtualBox] Ubuntu에 minikube 터미널로 설치하기 (설치 시 각종 오류 해결 ) (0) | 2023.04.19 |