일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- kotlin spring
- Spring
- IntelliJ
- mysql 튜닝
- Java
- 공부
- 코틀린 코루틴의 정석
- minikube
- AWS EKS
- APM
- Pinpoint
- tampermonkey
- CKA 기출문제
- Linux
- 정보처리기사 실기 기출문제
- kotlin querydsl
- CloudWatch
- Kubernetes
- kotlin
- Elasticsearch
- Kubernetes 자격증
- PETERICA
- CKA
- AI
- MySQL
- 기록으로 실력을 쌓자
- aws
- kotlin coroutine
- 정보처리기사실기 기출문제
- 정보처리기사 실기
- Today
- Total
목록전체 글 (740)
피터의 개발이야기
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 스캐줄링에 관련된 명령어 연습 ## 목록 ## 메뉴열 스케줄링 Lable와 Selector, Taint와 Tolerations Node Affinity Resource Limits DaemonSets Static Pod Multiple Schedulers ㅁ Manual Scheduling, node를 지정하여 nginx 생성 $ cat nginx.yaml --- apiVersion: v1 kind: Pod metadata: name: nginx spec: nodeName: node01 containers: - image: nginx name: nginx $ k apply -f nginx.yaml pod/nginx created ㅇ node를 지정하거나..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 kubectl 명령문을 사용하여 pod, deployment, service를 생성 연습해 보았다. ㅁ nginx pod 생성 $ k run nginx-pod --image=nginx:alpine --dry-run=client -o yaml apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: nginx-pod name: nginx-pod spec: containers: - image: nginx:alpine name: nginx-pod resources: {} dnsPolicy: ClusterFirst restartPolicy: Always status: {} ㅁ redis P..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 쿠버네티스의 pod, deployment를 생성하기 위해 template를 작성하야 한다. kubectl로 쉽게 샘플 yaml파일 만드는 방법을 정리하였다. ## 목차 ## dry-run 옵션 사용 생성된 Pod 정보에서 샘플 얻기 kubernetes 공식문서에서 샘플 얻기 ㅁ dry-run 옵션 사용 ㅇ dry-run 옵션은 실제 구동하는 것이 아니라 테스트를 위한 옵션이다. ㅇ --dry-run=client 요청 시 client에 요청을 보내면 kubectl client가 해석을 하여 yaml 파일을 생성해 준다. $ k run nginx-pod --image=nginx:alpine --dry-run=server -o yaml apiVersion: ..
ㅁ 들어가며 맥의 트랙패드를 사용하여 파일을 드래그하여 옮길 때에 터치가 떨어지면 다시 드래그 할 때가 많다. 이럴 때에 드래그 잠금을 사용하면 편리하다. ㅁ 드래그 잠금 사용법 파일을 더블 탭하면 실행이 된다. 드래그 잠금 시에는 한번 탭하고 두번째 탭에서 멈추면 드래그가 계속 유지 된다. - 실행 및 오픈: 더블 탭 - 드래그 잠금: 탭 + 홀딩 ㅁ 드래그 잠금 설정 ㅇ 시스템 설정 > 손쉬운 사용 > 포인트 제어기 ㅇ 트랙패드 옵션... 클릭 ㅇ 드래그에 트랙패드 사용으로 변경 ㅇ 드래그 스타일을 드래그 잠금 사용으로 변경
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 클러스터 외부에서 파드로 접근할 때 주로 L7 영역의 통신을 담당하는 Ingress를 공부를 하였다. 쿠버네티스의 공식문서를 살펴 보는 중 NGINX 인그레스(Ingress) 컨트롤러로 Minikube에서 인그레스 설정하기 라는 좋은 실습내용이 있어서 내용을 정리하였다. 실습 과정 중 minikube driver가 docker인 경우 ingress 테스트가 불가하여 트러블 슈팅으로 hyperkit으로 변경하는 작업을 같이 수행하게 되었다. 이 과정은 Minikube 드라이브 Hyperkit 설치하기에 정리함. ㅁ 인그레스 컨트롤러 활성화 $ minikube addons enable ingress ㅇ 인그레스를 활성화 활성화한다. 앱 생성 및 Servic..
ㅁ 들어가며 minikube의 런타임 드라이브는 Docker Desktop이 기본이다. 인그레스(Ingress) 컨트롤러로 Minikube에서 인그레스 설정하기에서 docker로 Ingress 테스트를 진행하는데 실패하였다. 그래서 driver가 문제가 될 수 있다는 글을 보아서 drive 설치 및 docker의 네트워크 문제에 대해서 분석을 해 보았다. ㅁ Docker 안의 Docker 한계 ㅇ minikube를 사용하면서 네트워크 관련 작업을 할 때에 한계점을 만나게 된다. ㅇ minikube 드라이브를 Docker를 사용할 경우 minikube node는 Docker 컨테이너로 생성된다. ㅇ Ingress로 로드밸런스나 서비스를 생성하여 외부 접속 테스트를 할 때이면 외부에서는 쉽게 접속이 되지 않..
ㅁ 들어가며 맥 키보드의 커멘드 위치가 늘 불편하여 위치를 변경하여 사용한다. 그 변경 방법을 찾을 때마다 까먹어서 여기에 정리해 둠. ㅁ 시스템 설정 ㅇ 시스템 설정 > 키보드 > 키보드 단축키... 클릭 ㅇ 보조 키 선택 ㅇ 키보드 선택 ㅇ control과 Command 위치 변경 ㅇ 완료
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 코어 리소스 중 Service에 관한 kubectl 명령어 정리 ㅁ Service 조회 # 서비스 조회 $ kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.43.0.1 443/TCP 9m1s # 서비스 조회 간단명령어 $ k get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.43.0.1 443/TCP 9m25s ㅁ Service 상세조회 $ kubectl describe service kubernetes Name: kubernetes Namespace: d..
ㅁ 들어가며 용량이 큰 디렉토리 목록을 확인하려면 du, sort 명령어를 조합하여 사용하면 용량별 디렉토리를 쉽게 파악할 수 있다. ㅁ 디렉토리 용량별 정렬 # 디렉토리 용량 Sort, 내림차순, 큰->작 $ du -h -d 1 | sort -nr 178M. 173M./ParallelsLab 2.8M./docker-2048 1.4M./peter-2048 # 디렉토리 용량 Sort $ du -h -d 1 | sort -n, 오름차순, 작->큰 1.4M./peter-2048 2.8M./docker-2048 173M./ParallelsLab 178M. ㅁ 파일 용량별 정렬 # file 용량 Sort, 오름차순 $ du -h | sort -n 0B./ParallelsLab/.git/modules/submodu..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 코어 리소스 중 NameSpace에 관한 kubectl 명령어 정리 ㅁ NameSpace 조회 $ kubectl get namespaces NAME STATUS AGE kube-system Active 9m9s kube-public Active 9m9s default Active 9m9s kube-node-lease Active 9m9s finance Active 99s marketing Active 99s dev Active 99s prod Active 99s manufacturing Active 99s research Active 99s # 짧은 명령어 $ k get ns NAME STATUS AGE kube-system Active 28m kub..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 코어 리소스 중 Deployments에 관한 kubectl 명령어 정리 ㅁ Deployments 조회 $ kubectl get deploy NAME READY UP-TO-DATE AVAILABLE AGE frontend-deployment 0/4 4 0 3m51s # 상세조회 $ k get deployments.apps -o wide NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR frontend-deployment 0/4 4 0 6m11s busybox-container busybox888 name=busybox-pod ㅁ Deployment가 ReplicaSet를 생성 k describ..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 코어 리소스 중 ReplicaSet에 관한 kubectl 명령어 정리 ㅁ ReplicaSet 설명보기 $ kubectl explain replicaset GROUP: apps KIND: ReplicaSet VERSION: v1 DESCRIPTION: ReplicaSet ensures that a specified number of pod replicas are running at any given time. FIELDS: apiVersion APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas t..
[kubernetes] 쿠버네티스 목차 ㅁ 들어가며 kubectl 명령어 중 Core에 해당하는 Pod에 관한 명령어 정리 ㅁ Pod 관련 명령어 # nginx pod 생성 kubectl run nginx --image=nginx # pod 조회 kubectl get po NAME READY STATUS RESTARTS AGE nginx 1/1 Running 0 28s ㅁ Pod의 Node 위치는? $ kubectl get po -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx 1/1 Running 0 7m37s 10.42.0.9 controlplane newpods-ld4lk 1/1 Running 0 7..
ㅁ 들어가며 아이들 2진수 교육 겸 게임을 위해 2048게임을 알려주었는데, 이게 github에 무료로 올라와 있어서 놀랐다. Docker 공부하면서 docker 샘플 이미지 만들거나 쿠버네티스 앱 만들 때에 게임을 올리는 것도 좋을 것 같아서 이력을 남긴다. ㅁ 2048 GIT 2048게임을 gabrielecirulli 이 웹으로 만들어 주셨다. # 작업공간 생성 $ mkdir peter-2048; cd peter-2048 # git 복제 $ git clone https://github.com/gabrielecirulli/2048 ㅁ 2048 Docker 빌드 준비 경량화를 위해 apline에 nginx을 올려서 빌드한다. ㅇ nginx.conf 생성 user nginx; worker_processes..
ㅁ 들어가며 네트워크의 연결에 대해서 논할 때에 자주 듣게 되는 단어인 NAT, 브릿지, Virtual Network에 대해서 정리하였다. ㅁ NAT이란? Network Address Translation의 약자로써 네트워크 주소 변환을 의미한다. 사설 IP 주소로는 원칙적으로 외부와 통신할 수 없기 때문에 이를 공인 IP 주소로 중간에 변환해 주어 외부와 통신(인터넷 연결) 할 수 있게 해주는 것이다. 기본적으로 192.168.xx와 같은 사설(Private) IP 주소로는 외부와 통신(인터넷 연결 등) 할 수 없다. 외부와 통신할 수있는 IP주소는 오직 인터넷 IP 주소 관리 기관에서 공식적으로 발급한 공인(Public) IP 주소 뿐이다. NAT을 사용하는 목적 첫째, 인터넷의 공인 IP주소를 절약..