본문 바로가기

전체 글210

쿠버네티스 아키텍처 -네임스페이스(namespace) 📗 namespace 단일 클러스터 내에서의 리소스 그룹 격리 단위 용도에 따라 실행해야하는 앱을 구분할 때 사용 그룹화 시키는 것에서는 deployment와 같지만 그림을 보면 쉽게 이해할 수 있음 네임 스페이스를 통해서 서비스별 리소스 할당을 조정할 수 있음 기본적으로 4개의 namespace가 존재함. pod생성시 namespace를 별도로 지정하지 않으면 default에 소속되어짐 root@ubuntu:~# root@ubuntu:~# kubectl get namespaces NAME STATUS AGE default Active 2d22h kube-node-lease Active 2d22h kube-public Active 2d22h kube-system Active 2d22h root@ubunt.. 2022. 4. 9.
쿠버네티스 명령어 훓어보기(k8s명령어) 📗 kubectl 워커 노드에 명령을 내리는 명령어 kubctl 실행전 root 권한으로 전환 후 실행시킨다. 사용방법 kubctl [command] [TYPE] [NAME] [flages] [command] create, get, delete, edit 등 자원에 실행할 명령 [TYPE] node, pod, service 자원의 타입 [NAME] 자원의 이름 어플리케이션 이름 [flags] 명령어 옵션 📗 kubectl 명령어 ⭐ 노드에 대한 상세정보 kubectl decribe node master ⭐ 파드 생성하기 webserver라는 name으로 nginx 1.14버전 80 서비스 생성 kubectl run webserver --image=nginx:1.14 --port 80 ⭐ 노드 조회하기 k.. 2022. 4. 8.
vagrant 로 vm 생성하기 vagrant명령어 📗 vagrant는 무엇인가? 테스트 환경을 코드를 통해 쉽게 구성해줄 수 있게 해주는 툴 주로 virtualbox에서 테스트하며, 검색해 본 결과 라이센스와 호환성 문제로 vmware는 잘 안 쓰는듯하다. 프로비저닝 : 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말 코드형 인프라(Infrastructure as Code, IaC)는 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝 하는 것 📗 설치 방법 아래 링크에서 최신 버전 다운로드 https://www.vagrantup.com/ 📗 초기화 cmd창을 열고 설치 위치에서 init을 한다. C:\Users\japan>cd C:\HashiCorp C.. 2022. 4. 7.
2022년 우분투 쿠버네티스(ubuntu Kubernetes) 설치 📗 설치 우분투 버전 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal 📗 설치 명령어 순서(마스터/노드) sudo apt-get update 📗 필요한 패키지 설치(마스터/노드) sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release 📗 도커 GPG key 추가(마스터/노드) curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/.. 2022. 4. 6.
[firebase] 템플릿 nodejs 설치 후 npm install -g firebase-tools@9.12.1 firebase login firebase init firestore storage hosting 선택 파이어베이스 프로젝트 선택 파이어베이스 sdk설정 및 구성 firebase serve로 서버를 구동시킨다. Uncaught FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase 해결방법 firebase.initializeApp(firebaseConfig); firebase에서 database 읽기설정 해야함 규칙수정 true const db = firebase.firestore(); db.collection('prod.. 2022. 3. 26.
mysql ERROR 1418 (HY000) at line 12460 에러 처리방법 📗 발생증상 Mysql DB복원 후 아래와 같은 에러가 출력 됨 ERROR 1418 (HY000) at line 12460: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) 📗 처리방법 mysql 접속 후 아래명령어 수행 SET GLOBAL log_bin_trust_function_creators = 1; 2022. 3. 23.
[LINUX] 시간 동기화 명령어에 따른 port 통신 📗 명령어에 따라 클라이언트가 붙는 시간동기화 port가 다르다 클라이언트가 타임서버를 통해 시간동기화를 하려면 123과 37번 포트를 사용한다. 시간동기화 하고자 하는 포트를 선택하려면 보통 옵션을 통해서 포트를 정하는데 시간동기화 명령어는 명령어에 따라 사용하는 포트가 달랐다. 명령어 수행 후 tcpdump를 수행해보면 알수 있다.(ntp 123 / time 37) ntpdate : TCP 123번 포트 사용 rdate : TCP 37번 포트 사용 rdate -u time.bora.net 옵션 u는 udp 37로 시간동기화 2022. 3. 22.
3way handshake / 4way handshake 📗 3way handshake 📗 4way handshake 2022. 3. 9.
DDOS 방어기법 대응방법 💡 서비스 서버 및 회선 이중화 DDOS로 인한 서버 장애를 대비한 서버 및 회선 이중화 💡 공격 대상의 최소화(망분리/보안점검/VPN) 외부에 노출된 서비스 외 내부용 서버는 외부에 노출되지 않도록 망분리를 한다. 💡 내부 서버의 IP/서비스가 외부에 open 되어 있는지 주기적인 스캐닝 수행 외부에서 내부망 접속 시 VPN을 통한 접속 💡 UDP 패킷 차단 서비스에 사용되는 UDP Port만 허용 후 임계치 기반 차단 정책 적용 💡 Null라우팅을 통한 패킷 폐기 라우터나 네트워크 최상단 장비에서 특정 IP에 대해 패킷을 라우팅 하지 않고 폐기하는 null Routing 설정 적용 💡 ICMP패킷 차단 ICMP Flooding 공격 대응방안 외부로부터 ICMP를 사용하지 않는 환경이라면 네트워크 상단.. 2022. 3. 9.
쿠키(Cookie)와 세션(Session)의 공통점과 차이점, 사용하는 이유 💡 쿠키와 세션을 사용하는 이유 HTTP가 비연결성(connectionless)와 상태정보 유지안함(stateless)의 특징을 갖기 때문이다. 웹 서비스를 이용하면서 유지해야될 로그인 정보와 매번 연결 시 불러와야 하는 이미지 파일과 같은 정보를 저장하여 좀 더 간편하고 빠르게 서비스를 이용하기 위함 비연결성(connectionless) 클라이언트-서버간 요청과 응답이 완료되면 연결을 유지하지 않고 종료시킴 상태정보 유지안함(stateless) 서버에서 클라이언트의 상태 정보를 가지지 않는 처리방식 💡 쿠키와 세션의 공통점 웹 통신간 유지하려는 정보(ex:로그인 정보 등)를 저장하기 위해 사용하는 것 💡 쿠키와 세션의 차이점 라이프 사이클 : 쿠키는 브라우저 종료하더라도 브라우저에서 쿠키 정보를 삭제하.. 2022. 3. 9.
반응형