쿠버네티스를 공부하다보니, 이제 어느정도 명령어에 익숙해지기도 했고
우분투 컨테이너 정도는 쿠버네티스 명령어 한 줄로 실행가능 하다는 것을 알았다.
이게 바로 쿠베를 쓰는 이유가 아닐까 쉽다.
도커로도 물론 쉽게 할 수 있지만
쿠버네티스를 사용하게 되면 더더욱 직관적이고, 훨씬 간단하다. 명령어 한 줄로도 실행이 가능하다.
우선 쿠버네티스 데스크탑이 깔려있다는 전제하에 설명해본다.
# alias k='kubectl'
# 한 줄 실행
$ k run ubuntu --image=ubuntu:latest --command -- sleep 3600
# 매니페스트 생성 후 실행
$ k run ubuntu --image=ubuntu:latest --dry-run=client -o yaml --command -- sleep 3600 > ubuntu.yaml
$ k create -f ubuntu.yaml
여기서sleep 3600 을 주지 않으면 CrashLoopBackOff 에러가 발생한다.
이렇게 하면 우분투 파드는 생성이 되는데, 이 파드에서 명령어를 실행하려면 다음과 같은 명령어를 사용한다.
$ k exec -it ubuntu -- [command]
# 단순 파일 리스팅
$ k exec -it ubuntu -- ls -al
# ubuntu 파드에 접속하여 실행
$ k exec -it ubuntu -- /bin/bash
너무 간단해서 더 설명할 것이 없다..
그리고 삭제는 다음과 같이 삭제한다.
# 매니페스트 파일로 생성했다면
$ k delete -f ubuntu.yaml
# 리스트에서 확인 후 실행 중인 파드 삭제
$ k delete pod ubuntu
# 강제 & 바로 삭제
$ k delete pod ubuntu --force --grace-period 0
서비스 쪽 리소스 타입을 쓰면 로컬에서도 바로 사용이 가능한 서비스 (ex: nginx 같은 웹서버나 db) 를 바로 띄우거나
매니페스트 안에서 생성된 컨테이너들 끼리 통신도 가능하게 작업하는 것이 가능하다고 알고 있는데 이 부분도 좀 더 공부를 해야된다.
쿠버네티스를 자유자재로 쓰게 되는 그 날까지~
'Dev > Kubernetes' 카테고리의 다른 글
[CKAD] section 7. Ingress (2) (0) | 2022.05.01 |
---|---|
[CKAD] section 7. Services (1) (0) | 2022.04.28 |
[CKAD] section 6. POD Design (2) - Job & CronJob (0) | 2022.04.17 |
[CKAD] section 6. POD Design (1) - Labels & Rolling Update (0) | 2022.04.12 |
[CKAD] section 5. Observability (0) | 2022.04.07 |