yum으로 설치 yum install dockerdocker.com 에서 설치https://docs.docker.com/get-docker/Server 항목에서 골라서 설치.CentOS 의 경우 7 이상 필요Docker 는 daemon 형태로 동작하므로, 아래
docker image docker images (=docker image ls) 다운로드된 이미지 표시 --no-trunc : docker image ID 를 긴 원본값 그대로 볼 수 있음 docker image inspect docker 이미지 상세 정보 표
docker run -d --name=mydb --env=MYSQL_ROOT_PASSWORD=mypass mariadbmysql password 설정해서 실행해야하는 것 중요.\-e MYSQL_ROOT_PASSWORD=mypass 이런 식으로도 쓸 수 있음 \* 공
Mysql DB 컨테이너 등 DB 혹은 스토리지 컨테이너의 데이터가 사라지는 문제가 있음docker run -d --name mydb --env=MYSQL_ROOT_PASSWORD=mypass --env=MYSQL_USER=myuser1 --env=MYSQL_PASSW
※ 당연히 컨테이너는 리눅스 VM의 브릿지 IP를 사용하므로, 호스트에선 해당 IP로 접근이 불가.호스트 -> 리눅스 vm 접속시 192.168.56.101 IP를 사용한다는 것을 알 수 있음.101 IP 에서 컨테이너 브릿지 IP로 포트포워딩하면\-> 101 IP로
Dockerfile 명령어 등

Pod, Replica Set, Deployment, Service 정리. kubectl 명령어 정리

수동 배포하기, ECS 로 배포하기
배포 전략, update, 배포 모니터링, rollback 하기
cluster 각 node 에서 실행, pod 에서 container 실행을 모니터링, 관리
OCI: image-spec, runtime-spec, distribution-spec 등 컨테이너 표준화하는 오픈소스 프로젝트

Control Plane, Node Plane, Addons
설치할 kubernetes, CRI-O 버전 kubernetes, CRI-O repository 추가의존성 패키지 설치yum install -y container-selinuxyum install -y cri-o kubelet kubeadm kubectlcrio 서비스
namespace 명시current namespace 가 아닌 default namespace 에 생성된다.yaml 파일로 띄우기kubectl apply -f mysql-statefulset.yamldb 접근 확인kubectl exec -it mysql-0 -- my
context, namespace 조회 등
프로메테우스에서 servicemonitorselector label 을 맞춰줘야함. pushgateway 는 별도로 구분해서 띄우기. promql 로 scrape 확인. grafana 대시보드 연동하기
`amd64`, `arm64` 아키텍처 혼합 노드 환경에서 아키텍처 의존성 있는 컨테이너 이미지를 배포하기
Access Key, Secret Access key 설정, user 확인, aws cli 로 kubeconfig 설정, kubeconfig 의 서버 확인 등
volume 에 대해 read-only file system 오류에 대한 원인 파악 및 해결 과정
프로젝트 구조 base/deployment.yaml: 기본 Deployment 정의 overlays/dev/patch-deployment.yaml: 환경별 오버라이드 (image, affinity 등) kustomization.yaml: Kustomize entrypoint Kustomize 적용 base/deployment.yaml에 기본 리소스...
Kubernetes에 배포되는 GitOps 도구지정된 Git 저장소와 클러스터 상태를 비교 (Sync)argocd cli 설치kind (Kubernetes in Docker) 설치하여 로컬에서 테스트 환경 구성포트포워딩으로 UI 접속:base: 공통 리소스 정의over
namespace : 리소스 namespace 정의 namePrefix, nameSuffix : 리소스 접두사 images : kustomize 로 override 할 이미지 목록컨테이너 이미지 태그 교체할 때 사용replicas : pod replicapatches
manual: 사용자가 Sync 눌러야 배포.automated: Git 변경 감지 시 자동 배포.prune: Git에 없는 리소스 삭제selfHeal: 드리프트 시 Git 상태로 복구allowEmpty: 매니페스트 0개여도 성공 처리CreateNamespace=true
Karpenter 기능, NodePool, NodeClass, NodeClaim 정리
karpenter 에서는 node 가 중단 프로세스중단 가능한 노드 (disruptable node) 가 있는지 식별하고, 없을 경우 중단 시작종료할 수 없는 pod (karpenter.sh/do-not-disrupt 세팅) 가 있을 경우 패스node 에 karpent
label, selector taint, tolerations