Service 개념쿠버네티스 네트워크 → 클러스터 내 파드에 접근하는 법파드는 컨트롤러가 관리하므로 한군데에 고정되서 실행되지 않고 클러스터 안을 옮겨다닌다. → 해결 : 서비스를 사용해서 파드가 클러스터 안 어디에 있든 고정 주소를 이용해 접근한다.쿠버네티스야 nginx 웹서버 3개를 webui라는 이름으로 실행해줘 (서버 과부화 날 수도 있음) → 해결 : 쿠버네티스야 webui 파드들을 하나의 IP로 묶어서(=동일한 레이블) 관리해줘 (로드밸런싱) —>결과 : webui 서비스는 nginx 파드들에 대한 단일 진입점(Cluster IP)을 제공하고, 트래픽 자동으로 분산 시킴즉 디플로이에 서비스를 연결하고 라벨이 같은 것들끼리 하나로 묶어서 부하분산을 한다. 보통 같은 기능끼리 묶는다 web, wa..
NAT 패킷 트레이서 실습 라우팅 테이블 작성법1. static : 나에게 안 붙은 네트워크 설정2 .dynamic : 나에게 붙은 네트워크 설정Q. IP주면 라우팅 테이블에 올라오는데 왜 또 세팅해야 하는지? A. 내 네트워크 정보를 OSPF라는 언어==프로토콜 사용해서 전달한다. R1에서 OSPF 설정 걸어도 R0에서 OSPF 설정 하지 않으면 전달되지않음Q.라우터 4대 전부 OSPF 설정하면 안되는 이유 A. R0→R1 내 이더넷에 192.~가 있음 그럼 R1라우터에 사설대역올라감 인터넷 대역엔 올라가면 안되서 R1에 하면안됨R1 ~R3은 OSPF(dynamic)로 연결해주었다.0.0.0.255 =255.0.0.0R0 ==NAT 설정(static)--사설 IP 설정# int gig0/0# no sh..
NAT (Network Address Translation)주소 변환 기술 (공유기 :사설 IP를 공인 IP로 변환)탄생이유 : 공인 IP 부족 현상 완화사설 IP는 기본적으로 인터넷 안됨시나리오 192.168.0.0 > 8.8.8.8 ping8.8.8.8은 라우터에 세팅되어 있어서 request는 되는데 사설 IP대역은 없으니까 response 실패라우터에 사설 IP대역 없음 → 공유기로 사설 IP를 자기가 가진 공인 IP로 변경해야 통신 가능함라우팅이 안되는 것이 아님, 대역에 사설 IP가 없기 때문임직접 공격 받지 않으니 보안에 용이랜카드 두개여야함 : 사설IP↔공인IP를 서로 변환해야 하기 때문request : 사설 IP → 공인 IP response : 공인 IP → 사설 IPTrade-off ..
이미지 경량화이미지 크기가 커지면 컨테이너 크기도 커지기 때문에 경량화가 중요 → 빠른 배포를 위해 이미지 크기를 작게 해야함 1. 꼭 필요한 패키지 파일만 추가필요한 파일 및 패키지를 제외하여 이미지 크기 최소화 2. 컨테이너 레이어 수 줄이기&&으로 run 개수==레이어 개수를 줄어야 한다. 강제적으로 임시 이미지, 컨테이너 제거docker build --force-rm -t nodejs-server .Node.js 서버의 예시 Dockerfile : 이미지 크기를 줄이기 위해 최적화된 방법을 사용root@docker:~/01.docker-file/nodejs-server# lsDockerfile Dockerfile.alpine Dockerfile.alpine-multi Dockerfile.sl..
이미지 registry 저장소public or pravate로 나뉨hub.docker.comaws ecrhdd /var/library/docker/voulums 1.Private Registryregistry 컨테이너를 이용해 private 컨테이너 운영포트번호 무조건 5000번hub.docker.com에 올리지 않고 프라이빗에 올려서 권한 허용된 사람들만 쓰려는 목적Docker Registry 컨테이너 실행로컬에 Docker Registry를 설정 → 이미지를 Docker Hub에 올리지 않고 private 컨테이너로 로컬에서 운영--포트번호 무조건 5000 규칙!--Docker 데몬이 재시작될 때 컨테이너를 자동으로 재시작--컨테이너 이름 registry, 이미지 태그 지정 registry:2 r..
Docker 구성요소 / 접근 방법호스트에서 Docker 브리지 네트워크를 통해 웹 서버 컨테이너에 접근도커엔진 기본 : 172.17 변경 불가웹 서버와 애플리케이션 서버(예: 톰캣)가 서로 다른 포트 번호를 사용하는 이유충돌을 피하고 역할을 명확하게 구분하기 위해 통상적으로 쓰는 번호 사용 → 애초에 이미지가 다름IP를 확인해보았다.--localhost addrroot@docker:~# ip addr1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid..
커널 버전 확인root@docker:~# uname -r6.5.0-41-generic메모리 현황 확인root@docker:~# free -h 총계 사용 여분 공유 버퍼/캐시 가용메모리: 3.8Gi 716Mi 1.9Gi 34Mi 1.2Gi 2.9Gi스 왑: 3.8Gi 0B 3.8Gi현재 메모리 사이즈root@docker:~# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSloop0 7:0 0 4K 1 loop /snap/bare/5loop1 7:1 0 74.2M ..
pod 생성법 3가지1. 단독 파드 : run개별적으로 생성되어 관리삭제 시 자동 복구 X주로 테스트나 임시 작업에 사용kubectl run --image=root@k8s-masternew:~# kubectl run web1 --image=nginx:1.14 --port 80pod/web1 created 2. 배포(Deployment) 파드 : createDeployment 객체로 관리삭제 시 자동 복구 Odesired 개수 보장 (replicaset)실제 서비스 운영에 주로 사용 → 삭제해도 자동 복구되기 때문에kubectl create deployment --image=root@k8s-masternew:~# kubectl create deployment webserver --image=nginx ..
Controllerpod 개수를 보장 1. Replication Controller옛날방식 → 호환시키기 위해 남겨둠요구하는 파드의 개수를 보장 → 파드 집합 실행을 항상 안정적으로 유지하는 것이 목표요구하는 pod개수가 부족하면 template를 이용해 pod추가요구하는 pod수보다 많으면 최근 생성된 pod를 삭제기본구성selector : RC가 관리할 파드를 선택하는 라벨 셀렉터replicas : 유지하고자 하는 파드의 수template : 생성될 파드의 템플릿 (selector와 labels이 일치해야 함)일치하지 않고 실행시키면 The ReplicationController "rc-nginx" is invalid: spec.template.metadata.labels: Invalid value..
프로세스프로그램이나 명령어를 실행했을 때 메모리에 적재되어 실제로 동작하는 상태프로세스가 실행되면 프로세스 식별번호(PID, Process id)를 할당 ps램에 올라와있는 프로세스 정보 확인-- -e : 프로세스 전체 목록 출력 -- -f : PID, PPID 정보를 포함하여 출력[root@localhost ~]# ps -ef | grep firefoxroot 10149 6122 0 11:45 pts/0 00:00:00 grep --color=auto firefox-- 프로그램 실행[root@localhost ~]# firefox-- 실행하고 다시 확인했더니 수많은 프로세스가 올라온다[root@localhost ~]# ps -ef | grep firefoxroot 1..
디스크 관리기본 디스크일반적인 Desktop환경에서 사용주 파티션, 확장 파티션, 논리 드라이브를 이용하여 구성하나의 물리적인 하드 디스크를 논리적인 공간으로 분할하여 사용공간이 연속해서 존재해야 함 = 연속된 섹터들의 집합동적 디스크성능 향상 또는 가용성을 위해 사용볼륨을 이용하여 구성 함하나의 물리적인 하드 디스크의 공간을 논리적으로 분할하거나 여러 개의 물리적인 하드 디스크를 하나의 논리적인 공간으로 결합물리적으로 다른 hdd를 논리적인 공간으로 결합 df (disk free)파일 시스템에 할당된 전체 용량, 사용량, 사용 가능 용량, 사용률, 마운트 정보xml-- -h 옵션줘서 단위를 MB로 확인[root@localhost test]# df -hFilesystem Size U..
RAID (Redundant Array of Inexpensive Disk)저장장치 여러 개를 묶어 고용량, 고성능인 저장 장치 한 개와 같은 효과를 얻음여러 개의 Disk를 하나의 가상 Disk로 구성 RAID 구성 (Window 2003)1. HDD 추가 2. 디스크 초기화 : HDD라고 인식시켜줌 3. 동적 디스크로 변환 단순 볼륨 E:\ 스팬 F:\1개 이상의 동적 디스크에 있는 공간을 하나의 논리적 볼륨으로 만든다.RAID 아님 → 성능 향상, 오류 복구 기능 XE드라이브 1기가 F드라이브 3기가인 상태ex) 1.5기가 파일을 저장하면 1기가는 E 드라이브에, 나머지 500메가는 F 드라이브에 저장함. 이때 F 드라이브에 고장이 발생하면 해당 파일을 열 수 없으며, 스팬 볼륨은 데이터 복구를 ..