목록전체 글 (206)
클라우드 엔지니어 꿈나무
생성 NameSpace 생성 vi name.yml --- apiVersion: v1 kind: Namespace metadata: name: n1 --- apiVersion: v1 kind: Namespace metadata: name: n1 kubectl apply -f name.yml POD 생성 kubectl run test-http --image httpd --port 80 --namespace n1 kubectl get pods Service 외부 노출 kubectl expose pod test-http --type=NodePort kubectl get service -o wide -n n1 30935 포트를 사용하는 것을 확인할 수 있음 인터넷창 각 IP 주소에 :30935 를 붙이면 하기와 ..
1. centos7-1 haproxy 설치 2. ceonts7-1에 httpd 를 이용한 webserver container h1,h2 구성 출력은 KANG+DOCKER+HTTP+WEBSERVER 1 -> h1 (60080:80) 출력은 KANG+DOCKER+HTTP+WEBSERVER 2 -> h2 (60180:80) 3. centos7-1에 nginx 를 이용한 webserver container n1,n2 구성 출력은 KANG+DOCKER+NGINX+WEBSERVER 1 -> n1 (60280:80) 출력은 KANG+DOCKER+NGINX+WEBSERVER 2 -> n2 (60380:80) 4. Host PC(실제 PC에서) 브라우저 실행 후, 10.0.0.1 접속 그리고 새로고침 했을 때 위에 4개..
docker --link 기능이 더 이상 제공되지 않으므로 docker network 기능 사용 컨테이너는 IP를 동적(DHCP)를 사용하므로 매번 동일한 IP를 사용하지 않을 가능성 있음. 즉, 추후 다시 컨테이너를 실행한다면 다른 IP 주소 할당되어 접근을 못할 확률 다분. Network 는 컨테이너의 IP가 변경되어도 통신을 유지할 수 있게 하는 기능 docker network crate n1 => n1이라는 이름의 network 생성 docker network ls => network 조회 docker run -itd --name c1 --network n1 centos:7 docker run -itd --name c2 --network n1 centos:7 docker exec -it c2 pi..
docker hub 내 레포지토리 생성 docker login docker tag httpd:latest hiheey/h1:httpd => docker hub 내 리포지토리 명과 일치해야 함 docker push hiheey/h1:httpd 도커 허브 내 이미지 업로드 확인 가능
xVirtual Box 다운로드 : https://www.virtualbox.org/wiki/Download_Old_Builds_6_1Rocky 9 dbd 다운로드 : https://rockylinux.org/download/ Virtual Box 실행환경 설정 - 네트워크 내 MyNAT 추가가상 머신 만들기appserv 가상 하드 디스크 크기 - 8Gbastion 가상 하드 디스크 키기 - 20G Software Selection - appservSoftware Selection 및 Installation Destination - bastion Installation Destination - appservbastion 및 appserv에서 NAT 네트워크 - MyNAT 설정Workstation su..
Virtual Network Editor 설정 값 ncpa.cpl VMware NEtwork Adapter VMnet8 설정 VMware Network Adater VMnet1 설치 가상 머신 설치 Custom(advanced)로 설정 이미지 Centos-7 선택, 이름은 CetOS7-T로 지정 core processor 개수는 2개, 메모리 크기는 2G Network Type, I/O Controller Type, Disk Type 은 다 권장으로 설 Disk 용량은 50G, 관리가 용이한 single file로 선택하여 설치 필요 없는 기능은 제거 및 Finish 버튼 클릭 Install CentOS 7 클릭 날짜 & 시간은 컴퓨터 설정과 동일하게 지정, 설치 대상 부분은 자동 파티션 설정 선택, K..
Helm Kubernetes chart(Package) 관리 시스템 설치 참고 : https://helm.sh/ko/docs/intro/install/ 설치 curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh helm repo add stable https://charts.helm.sh/stable : helm 공식 리포지토리 추가 helm search repo : 리포지토리 chart 확인 helm repo update : 리포지토리 업데이트 helm list : helm으로 설치된 chart 확인 git 미설치 시, 하기와..
Pod 통신 CNI(Container Network Interface*) 이용 - Weave *CNI: 컨테이너 기반 오케스트레이션 시스템에서 컨테이너 네트워크를 관리하고 설정하기 위한 표준 인터페이스 yum install -y traceroute ip address vi alpine.yml node1과 node2에 각각 al1과 al2를 생성 apiVersion: v1 kind: Pod metadata: name: al1 spec: containers: - name: alpine1 image: alpine imagePullPolicy: IfNotPresent command: ["/bin/sh", "-c", "while true; do sleep 1000; done"] nodeName: node1 ---..
AutoScaling을 사용하기 위해 자원 측정이 필수이기 때문에 HPA 설치 예정 (HPA의 필수 요소인 Metrics Server도 설치) HPA (Horizontal Pod Autoscaling) 워크로드 Resource를 자동으로 업데이트하며 워크로드 크기를 수요에 맞게 자동으로 스케일링 부하량이 줄어든 후, 파드의 수가 최소 설정값 이상일 때 HorizontalPodAutoscaler는 워크로드 Resource 에게 Scale 다운 지시 크기 조절이 불가능한 Object에는 적용 불가 쿠버네티스 API Resource 또는 Controller 형태로 구현 HPA API 자원은 Controller의 행동을 결정 쿠버네티스 Control Plane 내 실행되는 HPA 컨트롤러는 평균 CPU 사용률,..
Blueprint URL과 함수의 매핑을 관리하기 위해 사용하는 도구 라우팅 경로 지정 __init__.py from flask import Flask def create_app(): app = Flask(__name__) from .views import main_views app.register_blueprint(main_views.bp) return app main_views.py from flask import Blueprint bp = Blueprint('main', __name__, url_prefix='/') @bp.route('/hello') def hello_pybo(): return 'Hello, Pybo!' @bp.route('/') def index(): return 'Pybo i..