본문 바로가기
728x90
반응형
SMALL

EC225

[AWS] 도커 컴포즈 배포 도커 컴포즈 (Docker Compose)  도커 컴포즈 (docker compose)는 여러 개의 컨테이너를 가동할 때 사용하는 도커 어플리케이션이다. 도커 컴포즈를 사용하기 위해 docker-compose.yml이라는 YAML 파일을 사용한다. sudo apt-get updatesudo apt-get install docker-compose-plugindocker compose version flasktest 디렉토리 vim requirements.txtscikit-learn==1.5.0flask==3.0.3psycopg2==2.9.9gunicorn==22.0.0vim DockerfileFROM python:3.11.9WORKDIR /usr/src/appCOPY . .RUN python -m pip .. 2024. 6. 11.
[AWS] 도커 컨테이너 배포 파일 구조 확인 mv flaskapp myappmkdir flaskappmv myapp flaskappsudo apt install treetree ./ 라이브러리 버전 확인 pyenv activate py3_11_9pip list | grep -E 'scikit-learn|Flask|gunicorn|psycopg2' requirements 작성 flaskapp 디렉토리에서 requirements를 작성한다. vim requirements.txtscikit-learn==1.5.0flask==3.0.3psycopg2==2.9.9 Dockerfile 파일 생성 마찬가지로, flaskapp 디렉토리에서 Dockerfile를 생성한다.   vim DockerfileFROM python:3.11.9WORKDIR .. 2024. 6. 11.
[K8s] 크론잡 (CronJob) 크론잡 (CronJob)  크론잡은 일정한 기간마다 잡을 생성하여 수행하는 것으로 정기적이고 반복적인 작업을 만드는데 사용된다. 즉, 반복 일정에 따른 잡을 만든다. 파일 작성 vim job-cronjob02.ymlapiVersion: batch/v1kind: CronJobmetadata: name: cronjob-test02spec: schedule: "*/1 * * * *" jobTemplate: spec: template: spec: containers: - name: nginx-test02 image: nginx:1.25 command: - /bin/sh .. 2024. 6. 9.
[K8s] 잡 (Job) 잡 (Job)  잡은 하나 이상의 파드를 생성하고 지정된 수의 파드가 성공적으로 종료될 때까지 계속해서 파드의 실행을 재시도한다. 파일 생성 vim job-cronjob01.ymlapiVersion: batch/v1kind: Jobmetadata: name: job-test01spec: template: spec: containers: - name: nginx-test01 image: nginx:1.25 command: ["echo", "Hello, Kubernetes!"] restartPolicy: Never backoffLimit: 3 잡 실행 kubectl apply -f job-cronjob01.ymlkubectl get jobkube.. 2024. 6. 9.
[K8s] 인그레스 배포 파일 생성 vim ingress02-deploy.ymlapiVersion: apps/v1kind: Deploymentmetadata: name: ingress-deploy-test02spec: replicas: 3 selector: matchLabels: app: web-deploy02 template: metadata: labels: app: web-deploy02 spec: containers: - name: nginx image: nginx:1.25vim ingress02-service.ymlapiVersion: v1kind: Servicemetadata: name: ingress-service-test02spec.. 2024. 6. 9.
[K8s] nginx nginx Nginx는 경량 웹 서버이다. 클라이언트로부터 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server로 활용되기도 하고, Reverse Proxy Server로 활용하여 WAS 서버의 부하를 줄일 수 있는 로드 밸런서로 활용되기도 한다. nginx 설치 sudo apt updatesudo apt install nginxsudo systemctl status nginx 서비스 접속을 위한 포트포워딩 방법 1 kubectl get all --namespace mynginx 루트로 접근하여 EXTERNAL-IP를 추가해준다.  sudo -i cd /etc/nginx/sites-enabled/ sudo vim defaultproxy_pass http://{EXTERNAL-.. 2024. 6. 9.
[K8s] metalLB metalLB  MetalLB는 Load Balancer가 없는 Bare-metal K8s cluster를 위해  표준 라우팅 프로토콜을 사용하여  소프트웨어적으로 Network Load Balancer를 기능을 구현 해주는 솔루션이다. metalLB 설치 kubectl get configmap kube-proxy -n kube-system -o yaml | grep strictARPkubectl get configmap kube-proxy -n kube-system -o yaml | \sed -e "s/strictARP: false/strictARP: true/" | \kubectl apply -f - -n kube-systemkubectl get configmap kube-proxy -n kube-s.. 2024. 6. 9.
[K8s] 스테이트풀셋 스테이트풀셋  스테이트풀셋은 어플리케이션의 스테이트풀을 관리하는데 사용하는 워크로드 API 오브젝트이다. 파드 집합의 디플로이먼트와 스케일링을 관리하며, 파드들의 순서 및 고유성을 보장한다 . 디플로이먼트와 유사하게, 스테이트풀셋은 동일한 컨테이너 스펙을 기반으로 둔 파드들을 관리한다. 디플로이먼트와는 다르게, 스테이트풀셋은 각 파드의 독자성을 유지한다. 파드가 동일한 스펙으로 생성되었어도, 서로 교체는 불가능하다. 다시 말해, 각각은 재스케줄링 간에도 지속적으로 유지되는 식별자를 가진다. 헤드리스 서비스 생성 vim statefulset-service.ymlapiVersion: v1kind: Servicemetadata: name: sfs-service01spec: selector: app: .. 2024. 6. 9.
[K8s] 리플리카셋 조정 리플리카셋 조정 레플리카셋은 사용자가 지정한 개수만큼 복제 파드를 생성해주고 복제 컨트롤러를 이용해 해당 개수의 복제 파드가 정상 실행 중인지 항상 감시한다. kubectl create deployment deploy-nginx --image=nginx --replicas=3kubectl get deploy,rs,pokubectl get deploy,rs,po -o wide 파드 삭제 후 재생성 kubectl delete pod {파드 이름} 파드가 재생성되는 것을 확인할 수 있다. 2024. 6. 8.
[K8s] 쿠버네티스 설치 (2) 쿠버네티스 마스터 노드 설정 kubeadm certs check-expirationkubeadm config images listkubeadm config images pull --cri-socket /run/containerd/containerd.sockkubeadm init --apiserver-advertise-address={프라이빗IP} --pod-network-cidr=192.168.0.0/16 --cri-socket /run/containerd/containerd.sock 다음 명령어로 root에서 빠져 나온다. kubeadm certs check-expirationexit calico 설치 mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.con.. 2024. 6. 8.
728x90
반응형
LIST