분류 전체보기

🐳 Container/K8S

[K8s] 쿠버네티스(Kubernetes) Ingress

쿠버네티스 (Kubernetes) Ingress 인그레스 컨트롤러 (Ingress Controller) 🔎 OSI 7계층 L1 : cable L2: MAC Address (LAN) L3: IP (DIP/SIP) L4: Port (SPord, Dpord) . . L7: Message (GET) LoadBalancer L4 : Port Number와 IP만 보기떄문에 Path를 못찾음 L7 : Path를 찾을 수 있음 Ingress Controller : L4 LoadBalancer를 쓰더라도 Rule을 통해 path를 찾을 수 있게 해줌 서비스 인그레스 (Service Ingress) : HTTP나 HTTPS를 통해 클러스터 내부의 서비스를 외부로 노출시키는 API 인그레스의 기능 외부 URL을 제공 트래..

👩‍💻 Develope/Python

[Pandas] 데이터 프레임 비교하기

[Pandas] 데이터 프레임 비교하기 Pandas 설치 pandas 설치 pip install pandas 라이브러리 import import pandas as pd 비교 데이터 : 학번 3000, 5000 학생의 성적이 다름 DataFrame1 : 2022년 학생 정보 df2022 = pd.DataFrame({ '학번' : [1000, 2000, 3000, 4000, 5000], '성적' : ['A', 'B', 'C', 'A', 'F'], '지도교수' : ['James', 'peter', 'jon', 'sara', 'michael'] }) DataFrame2 : 2023년 학생 정보 df2023 = pd.DataFrame({ '학번' : [1000, 2000, 3000, 4000, 5000], '성적..

🐳 Container/K8S

[K8s] 쿠버네티스(Kubernetes) 서비스

쿠버네티스 (Kubernetes) 서비스 쿠버네티스 네트워크 Pod Network : CNI에서 관리하는 Pod 간 통신에 사용되는 클러스터의 전체 네트워크 Service Network : Service discovery를 위해 Kube-proxy가 관리하는 Cluster-wide 범위의 Virtual IP 🔎 CNI : 컨테이너 간의 네트워킹을 제어할 수 있는 플러그인을 만들기 위한 표준 컨테이너들의 네트워크를 연결 컨테이너 삭제 시 할당된 자원을 제거 쿠버네티스 서비스 파드를 통해 실행되고 있는 어플리케이션을 네트워크에 노출 시키는 가상의 컴포넌트 파드가 외부와 통신할 수 있도록 클러스터 내부에서 고정적인 IP를 갖는 서비스를 이용할 수 있음 쿠버네티스 서비스 유형 1️⃣ ClusterIP (Priv..

💾 Data/SQL

[SQL] 데이터 그룹화/JOIN

데이터 그룹화 데이터 그룹화 : GROUP BY 특정 컬럼을 그룹화하여 데이터를 조회 SELECT 컬럼명, COUNT(*) FROM 테이블명 GROUP BY 기준 컬럼명; SUM, AVG, COUNT, MAX, MIN을 사용하여 활용 가능 USER ID가 같은 열에서 컬럼의 내용을 다 더한 값을 출력 SELECT user_id, SUM(컬럼명) FROM book GROUP BY user_id; USER ID가 같은 열의 컬럼의 평균을 출력 SELECT user_id, AVG(컬럼명) FROM book GROUP BY user_id; USER ID가 같은 열 중에서 해당 컬럼의 가장 큰 값을 출력 SELECT user_id, MIN(컬럼명) FROM shopdb GROUP BY user_id; USER I..

💾 Data/SQL

[SQL] 데이터 수정/데이터 제어

데이터 수정 테이블에 데이터 삽입하기 : INSERT 관계형 데이터베이스의 테이블에 값을 저장하는 명령어 컬럼을 명시하지 않으면 순서대로 값을 삽입 INSERT INTO 테이블명(컬럼1, 컬럼2, 컬럼3) VALUES('데이터1','데이터2','데이터3'); 테이블의 데이터 수정하기 : UPDATE 관계형 데이터베이스의 테이블에서 이미 저장된 값을 수정하는 명령어 UPDATE book SET title = '어린왕자' WHERE title = '돈키호테'; 테이블의 데이터 삭제하기 : DELETE 관계형 데이터베이스의 테이블에서 이미 저장된 값을 수정하는 명령어 DELETE FROM book WHERE title = '돈키호테'; 데이터 제어 ✔ 데이터가 몇 개인지 궁금할 때? 데이터 개수 세기 : CO..

🌏 OS/Linux

[Linux] 리눅스 크론탭 스케줄 (Crontab Schedule)

[Linux] 리눅스 Crontab 크론탭 유닉스, 리눅스, 맥OS 등의 운영체제에서 사용되는 작업 예약 프로그램 일정 시간마다 실행 될 커맨드나 스크립트를 정의 할 수 있음 자동적으로 실행 될 작업을 관리할 수 있도록 도와줌 크론탭 구성 (리눅스의 시간) * * * * * 순서대로 분 시 일 월 요일 분 0~59 시 0~23 일 1~31 월 1~12 요일 0 1 2 3 4 5 6 7 (0과 7 둘다 일요일) ' * ' 는 해당 필드의 모든 시간을 의미 콤마(,) 로 구분하여 여러 시간대를 지정할 수 있음 하이픈(-) 으로 시간 범위를 지정 할 수 있음 (ex. * 2-10 * * *) 슬래쉬(/)로 시간 간격을 지정할 수 있음 (ex. */3 * * * *) 크론탭 기본 명령어 예약된 작업 리스트 출력..

🐳 Container/K8S

[K8s] 쿠버네티스(Kubernetes) 컨트롤러 (2)

쿠버네티스 (Kubernetes) 컨트롤러 (2) DaemonSet DaemonSet 전체 노드에서 Pod가 한 개씩 실행되도록 보장 log 수집기, 모니터링 에이전트와 같은 프로그램 실행 시 적용 apiVersion: apps/v1 kind: DaemonSet metadata: name: ds-nginx spec: selector: matchLabels: app: web template: metadata: name: nginx-pod labels: app: web spec: containers: - image: nginx:1.14 name: nginx StatefulSet StatefulSet Pod의 상태를 유지해주는 컨트롤러 애플리케이션의 상태를 저장하고 관리 ==> 각 Pod에 대한 고정 ID를 ..

💾 Data/Airflow

[Airflow] Airflow Pipeline 생성 (2)

시나리오 1. mysql to csv 2. csv 파일 s3에 업로드 3. 실패 시 슬랙 알람 연동 ✔ 아래 링크 이어서 진행 https://heywantodo.tistory.com/20 Airflow Pipeline 생성 (1) 시나리오 1. mysql to csv 2. csv 파일 s3에 업로드 3. 실패 시 슬랙 알람 연동 1. MySQL to CSV airflow에서 mysql to csv를 실행하는 방법에는 여러가지가 있겠지만 여기선 두가지를 사용 Airflow Connection 이용 Pymys heywantodo.tistory.com 2. CSV file Upload to S3 선행작업 S3 Bucket 생성 Amazon S3 버킷 생성, 구성 및 작업 - Amazon Simple Stora..

🐳 Container/K8S

[K8s] 쿠버네티스(Kubernetes) 컨트롤러 (1)

쿠버네티스 컨트롤러 (1) 쿠버네티스 컨트롤러 쿠버네티스는 선언적 선언을 하면 그 선언에 클러스터 상태를 맞추고 감시하며 항상 제어 쿠버네티스 Pod를 관리하는 역할을 함 컨트롤러 로보틱스와 자동화에서 컨트롤 루프 는 시스템 상태를 조절하는 종료되지 않는 루프이다. 컨트롤 루프의 예시: 실내 온도 조절기 사용자는 온도를 설정해서, 사용자가 의도한 상태 를 온도 조절 kubernetes.io Replication Controller Replication Controller Pod가 항상 실행되도록 유지하는 Kubernetes Resource 어떤 이유로든 Pod가 사라지면 누락된 Pod를 감지하고 대체 Pod를 만듦 Template 필수 요소 세가지 Label Selector Replica Count Po..

🐳 Container/K8S

[K8s] 쿠버네티스(Kubernetes) 레이블(Labels)

쿠버네티스 Labels 레이블과 셀렉터 레이블 은 파드와 같은 오브젝트에 첨부된 키와 값의 쌍이다. 레이블은 오브젝트의 특성을 식별하는 데 사용되어 사용자에게 중요하지만, 코어 시스템에 직접적인 의미는 없다. 레이블로 오브 kubernetes.io Lable과 Selector 누군가가 Select 할 수 있게 하기 위해 만듦 Kubernetes가 운영되는 기준 Label Node를 포함하여 Pod, Deployment 등 모든 리소스에 할당 리소스의 특성을 분류하고, Selector를 이용해서 선택 Key-value 한 쌍으로 적용 63자 이하, 시작과 끝은 알파벳 labels: [key]: [value] Label Template apiVersion: v1 kind: Pod metadata: name:..

🐳 Container/K8S

[K8s] 쿠버네티스(Kubernetes) pod 관리

쿠버네티스 Pod 관리 쿠버네티스 Pod Pod란? 컨테이너를 표현하는 K8s API의 최소 단위 하나 또는 여러개의 컨테이너 그룹 스토리지 및 네트워크를 공유 해당 컨테이너를 구동하는 방식에 대한 명세를 가짐 Pod의 동작 방식 Pod에 설정되어있는 Hostname, IP를 같이 사용함 Pod 생성 Pod 생성 (Command) pod 생성 도움말 kubectl run --help pod 생성 (nginx ver.1.14) kubectl run web --image nginx:1.14 생성된 pod 확인 kubectl get pods kubectl describe pod web ✔ 만약 이미지 이름이나 버전이 잘못 됐을 경우엔 다운로드를 반복함 kubectl run testweb --image ngin..

🐳 Container/K8S

[K8s] 쿠버네티스(Kubernetes) node 관리

쿠버네티스 node 관리 쿠버네티스의 노드 Node는 물리 머신이거나 가상 머신 Node는 컨트롤 플레인에 의해 관리되며, Pod를 실행하는데 필요한 서비스를 포함하고 있음 컨테이너를 포함한 Pod는 Node에서 실행됨 Node와 관련된 쿠버네티스 명령어 노드 정보 보기 (get, describe) kubectl get nodes kubectl get nodes -o wide kubectl describe node [노드이름] 🔎 EKS는 사양에 따라 Pod 개수가 달라짐 ex) t2micro -> pod 5개만 사용할 수 있음 스케줄링 거부/허용 (Cordon, Uncordon) 노드 스케줄링 중단 kubectl cordon [노드이름] kubectl get nodes 노드 스케줄링 허용 kubectl..

heywantodo
'분류 전체보기' 카테고리의 글 목록 (31 Page)