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

App Programming255

[K8s] 디플로이먼트 (Deployment) 디플로이먼트 (Deployment)   디플로이먼트는 파드 (pod)와 레플리카셋 (ReplicaSet)에 대한 선언적 업데이트를 제공한다 (ex: 파드 상태 업데이트, 스케일 업 등). 디플로이먼트를 활용해 새로운 레플리카셋을 생성하거나 기존에 존재하는 디플로이먼트를 제거하고 새로운 디플로이먼트를 선언할 수 있다. 레플리카셋을 직접적으로 관리하는 것은 안된다. 레플리카셋 (ReplicaSet)  레플리카셋은 여러 개의 파드를 항상 안정적으로 유지하는 것이 목적이다. 레플리카셋은 주로 특정 개수의 파드 실행을 보장하는데 사용한다. 예를 들어, 3개의 파드가 실행되어야 할 때, 3개 중 1개가 정지되면 새로운 파드를 생성해서 3개 파드의 개수를 맞춘다. 디플로이먼트는 레플리카셋보다 상위 개념이다. 디플로이.. 2024. 6. 8.
[K8s] 매니페스트 (Manifest) 매니페스트 (Manifest)  매니페스트란 쿠버네티스 오브젝트를 생성하기 위한 메타 정보를 YAML로 기술한 파일이다. vim nginx-test01.ymlapiVersion: v1 # 해당 오브젝트를 생성하기 위해 사용하는 쿠버네티스 API 버전kind: Pod # 생성하고 싶은 오브젝트 종류metadata: # 오브젝트를 유일하게 식별할 수 있는 데이터 name: nginx01 # 오브젝트 이름spec: # 생성하고자 하는 오브젝트 스펙 containers: # 컨테이너 - name: nginx-test01 # 컨테이너 이름 image: nginx:latest # 컨테이너 생성을 위해 사용할 이미지kubectl apply -f {파일 이름}apply 명령어는 쿠버네티스 리소.. 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.
[K8s] 쿠버네티스 설치 (1) swap 메모리 비활성화 modprobe : 리눅스 커널 모듈 관리 도구, 특정 모듈을 로드하거나 제거 가능br_netfilter : 네트워크 패킷 처리 관련 커널 모듈, iptables / netfilter 규칙을 적용되게 한다. 즉, 컨테이너와 호스트 간의 인터페이스 등에서 발생하는 트래픽에 대해 규칙을 적용하여 트래픽을 관리한다. sudo modprobe br_netfiltersudo sysctl net.bridge.bridge-nf-call-iptables=1sudo sysctl net.ipv4.ip_forward=1sudo vim /etc/sysctl.confnet.bridge.bridge-nf-call-iptables=1net.ipv4.ip_forward=1cat /proc/swaps cont.. 2024. 6. 8.
[AWS] Flask에 PostgreSQL 적용 pyenv pyenv로 파이썬 3.11.9 버전을 활성화시킨다. pyenv activate py3_11_9 초기 디렉토리에서 flaskapp 디렉토리를 생성한다. mkdir flaskapp  flask vim 에디터로 main 파이썬 파일을 생성한다.  vim main.pyimport numpy as npfrom sklearn.linear_model import LinearRegressionimport psycopg2from flask import Flask, request, jsonifyapp = Flask(__name__)np.random.seed(0)X = np.random.rand(10, 1)y = 2 * X + 1 + 0.1 * np.random.randn(10, 1)model = LinearR.. 2024. 5. 31.
[AWS] PostgreSQL 설치 PostgreSQL 설치 sudo apt install curl ca-certificatessudo install -d /usr/share/postgresql-common/pgdgsudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --failsudo sh -c 'echo "deb [signed-by=/usr/share/postgresqlcommon/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list’sudo apt updatesudo apt -.. 2024. 5. 31.
[AWS] 도커 설치 도커 설치 sudo apt-get updatesudo apt-get install ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.ascecho \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && ech.. 2024. 5. 30.
[AWS] EC2 Jupyter 서버 원격 서버 접속 ssh 명령을 이용하여 로컬 컴퓨터에서 서버 컴퓨터로 원격 접속한다.  ssh -i @ 환경 설정을 위해 scp 명령어로 폴더를 전송한다. scp -ri @:  pyenv source ~/env/pyenv.sh 파이썬 기본 버전을 3.8.5로 설정한다. pyenv global 3.8.5 requirements.txt에 정의된 파이썬 패키지를 설치한다. pip install -r ~/env/requirements.txt 주피터 서버 설치 및 설정 주피터 서버 설정 파일 생성한다. jupyter notebook --generate-configjupyter lab --generate-config 상호작용할 수 있는 ipython을 실행한다.  ipythonIn [1]: from jupyt.. 2024. 5. 21.
[AWS] EC2 MySQL 접속 MySQL 설치 EC2 인스턴스에 접속하여 다음 명령어로 MySQL을 설치한다. sudo apt-get install mysql-server mysql-client 설치 확인을 위해 sudo systemctl status mysql 명령어로 MySQL의 상태가 active (running)인지 확인한다.  MySQL 초기 설정 MySQL의 초기 설정은 다음과 같이 진행된다. 초기 비밀번호 설정외부 접속 허용 설정MySQL 계정 생성 터미널에서 sudo mysql을 입력하고 MySQL에 접속한다. 초기 비밀번호 아래의 명령어를 입력하고 Query OK가 나와야 한다. alter user 'root'@'localhost' identified with mysql_native_password by '{초기 비밀.. 2024. 5. 16.
[Flask] AWS EC2에서 머신러닝 서버 구축 파이썬 파일 생성 터미널에서 다음을 명령한다. vim test.py 그리고 test.py에 다음 코드를 편집하여 추가한다. import numpy as npfrom sklearn.linear_model import LinearRegressionfrom flask import Flask, request, jsonifyapp = Flask(__name__)np.random.seed(0)X = np.random.rand(10, 1)y = 2 * X + 1 + 0.1 * np.random.randn(10, 1)model = LinearRegression()model.fit(X, y)@app.route('/')def welcome(): return 'HELLO, ML API SERVER'@app.route('/p.. 2024. 5. 14.
728x90
반응형
LIST