전체326 [CKA] 2023-04-22 합격 후기 4월 22일에 CKA를 땄다. 이전부터 따야지 따야지 했었는데, 막상 일 하면서 병행으로 준비하기가 힘들었었는데 (사실 의지 부족...) 이직하면서 백수 기간이 3주 생기면서 이참에 따게 되었다. 백수 기간 3주 중 첫 1주는 롤체로 버리고 😅 2주동안 준비하여 시험을 보게 되었다. 다만 난 이전에 준비를 하다 만 적이 있었고, 쿠버네티스 운영을 업무로 해왔기 때문에 남들보다 적게 준비했던 것 같다. 어디 오픈톡방에서 누가 알려줘서 30%쿠폰을 사용하여 등록했다. 몰랐는데, 시험 등록 == 시험 일정 잡기 가 아니었고, 시험을 등록해 두면 1년 내로만 시험을 치면 되는 구조였다. 재시험의 기회도 있었고... 남들 하는대로 뭄샤드 강의 들었고, 뭄샤드 강의 끝 Mock Exam 여러 번 열심히 풀었다. C.. 2023. 4. 30. [NHN Cloud] VPC부터 Instance 접속까지 (AWS와 비교) 기회가 되어 NHN Cloud를 좀 뒤적거려 봤다. 기본적인 세팅 했던 방법을 남기며 AWS와의 다른점 등을 같이 남겨두려고 한다. 계정 및 프로젝트 세팅은 다루지 않는다. # 0. Architecture 간단하게 아래 아키텍처를 세팅하고, Public Subnet의 Bastion Instance를 통해 Private Instance까지 SSH 접속을 해보도록 하겠다. 아키텍처를 보면 알겠지만 AWS와는 벌써 다른 부분이 보인다 : Subnet은 가용 영역(AZ) 종속이 아니다. 일단 해보자! 🚀 # 1. VPC 세팅 1-1 VPC Network > VPC > + VPC 생성 원하는 VPC 이름과 CIDR Block을 작성해준 후 생성 완료 1-2 Internet Gateway Network > Inte.. 2023. 3. 11. [Terraform/AWS] EC2를 Directory Service에 Seamlessly하게 join시키기 콘솔에서 진행 시엔 적절한 EC2 Role과 Directory Service를 지정해주면 된다. 그러나 API로는 EC2 생성 시 Directory Service를 연결해주는 옵션이 없고, SSM Document를 사용해야 한다. locals { domain = "honglab.com" ec2role_policies = [ "arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore", "arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess", ] } ## Directory Service resource "aws_directory_service_directory" "this" { name = local.domain ## 필.. 2023. 1. 16. [kubernetes] Taints, Tolerations vs Node Affinity (요약) # Ref 유데미 뭄샤드 강의 # Taints & Tolerations 특정 Pod가 특정 Node에 스케줄될 수 있는지에 대한 제한 Taint : Node에 설정 해당 Taint를 Toleration할 수 있는 Pod만 해당 Node에서 뜰 수 있음 그러나 해당 Pod는 해당 Node를 Prefer (선호)할 뿐, 무조건 해당 Node에만 뜨는 것은 아님. 즉, A Pod만이 Node01에 뜰 수 있도록 보장할 순 있지만, A Pod가 Node01에 배치되는걸 보장할 수 없음 Blue Taint-Toleration / Red Taint-Toleration 되어있을 때, A : 1을 선호하지만 3에도 배치 가능 B : 2를 선호하지만 3에도 배치 가능 C : 1, 2에 배치 불가능하기 때문에 3에만 배치.. 2022. 12. 13. [Python] 파이썬 실행 & 메모리 관리 방식, mutable & immutable 객체, 깊은 복사 (deep copy) # Ref https://yomangstartup.tistory.com/105 https://pro-jy.tistory.com/38 https://wikidocs.net/91520 https://cjh5414.github.io/about-python-and-how-python-works/ http://irakla.egloos.com/v/7444165 https://crackerjacks.tistory.com/14 # 컴파일러와 인터프리터 고급 프로그래밍 언어를 어셈블리어로 번역해주는 방식의 차이 컴파일러 (complier) 전체 파일을 스캔하여 한번에 번역 -> 한 번 실행 파일이 만들어지고 나면 빠름 기계어 번역 과정에서 더 많은 메모리 사용 전체 코드를 스캔 후 오류를 출력하기 때문에 실행 전에 오류.. 2022. 12. 4. [Terraform/AWS] VPC Peering Module을 만들 때 고려할 점 테라폼은 aws의 api를 사용해서 aws의 리소스를 제어한다.aws의 콘솔은 aws에서 api를 ui로 보기좋게(?) 제공하는 서비스이기 때문에, api를 직접 쓰는 것과는 다른 점들이 존재한다.(콘솔에선 못하지만 api로는 가능한 작업이 있는 점 등등..) 따라서 aws의 콘솔 작업과 aws api 작업 은 차이점이 분명히 존재하며,멱등성을 제공하는 IaC도구인 terraform의 경우 별도로 고려해야 할 점들이 불가피하게 생긴다. 그 중에서도 최근에 날 괴롭혔던게(?) VPC Peering이었는데,너무 쉬운 서비스라고 평소에 생각해왔기 때문에 의외로 애를 더 먹어버렸다. 바로 가보자! # 확장성(multi provider)을 고려한 Peering Module지금까지 TGW를 메인으로 써왔기 때문에,.. 2022. 10. 30. [AWS] Session Manager 중앙 집중식 로깅 구현 : SSM Session Manager Cross Account S3 Logging Session Manager Logging은 세션 접속한 동안의 명령까지도 모두 로깅으로 남는다. Multi Account AWS 환경에서 각 계정의 Session Manager Logging을 로깅 계정의 S3로 쌓도록 설정해보자. Encrypt 설정은 하지 않는다. 하게 되면 S3 Bucket 정책 등이 달라져야 할 것이다. # Architecture # 1. SSM Logging 설정 Console에서 하는 법 Systems Manager > Session Manager > Preferences 에서 설정 가능 (CLI, IaC등 API로는 불가) Bucket 이름과 Prefix를 지정해준다 API(CLI or IaC)로 하는 법 SSM-SessionManagerRunShell 문서를 직접 수정 C.. 2022. 8. 28. [Terraform/k8s] k8s YAML 리소스로 Terraform Code를 쉽게 작성하는 3가지 방법 Terraform으로 kubernetes를 관리하는 경우, yaml 리소스를 한땀한땀 HCL Code로 변경하는건 매우 귀찮다 (너무 당연하게도) 노가다를 자동으로 돌려주는 오픈소스가 이미 있었다 1. k2tf (Open Source) 공식 k8s provider에서 제공하는 API를 사용하는 경우, k2tf를 사용해 간편하게 변환할 수 있다 https://github.com/sl1pm4t/k2tf GitHub - sl1pm4t/k2tf: Kubernetes YAML to Terraform HCL converter Kubernetes YAML to Terraform HCL converter. Contribute to sl1pm4t/k2tf development by creating an account o.. 2022. 8. 21. [git stash] error: 다음 파일의 로컬 변경 사항을 체크아웃 때문에 덮어 쓰게 됩니다 문제 상황 main에서 작업해야 할 것들을 모르고 branch에서 작업하고 있었음 중간에 깨닫고 checkout main을 시도했으나 아래와 같은 에러가 발생함 해결 git stash && git checkout main && git stash pop git stash란? 현재까지 작업한 내용을 커밋하지 않고 별도의 임시 저장소에 저장하는 명령 즉 작업중인 파일들을 숨겨둘 수 있음 따라서 위 해결 명령을 다시 살펴보면... git stash : 작업 내용을 스택에 넣어둠 git checkout main : 원래 하려던 작업 (checkout or pull) git stash pop : 스택에 넣어둔 변경 사항을 적용하고, 스택에서 제거 끝 Ref https://blog.hodory.dev/2020/02/.. 2022. 8. 13. [Active Directory] hosts file을 AD로 제공하는 방법 (정방향 조회 영역 추가) # hosts file이란? host 이름에 대응하는 IP 주소를 저장하여 DNS를 통하지 않고도 서버의 위치를 찾게 해주는 file 리눅스or맥 : /etc/hosts 윈도우 : C:\windows\system32\drivers\etc\hosts 작성 원칙 [IP] [host name] # AD 내부 사용자들이 동일한 host를 찾을 수 있게 해주고 싶다면? -> AD DNS 관리자에서 정방향 조회 영역을 만들어주면 된다 정방향 영역은 도메인 이름에 대한 IP 주소를 관리한다. 즉 hosts file과 동일한 역할을 한다 # 정방향 영역 추가하는 법 AD Controller Server에 접속 Command + R 새 영역 > 원하는 영역 이름 적고 완료 A type 호스트 생성 > 원하는 이름과 IP.. 2022. 7. 30. [Kafka] Connect와 Connector # Ref https://scorpio-mercury.tistory.com/30 https://bagbokman.tistory.com/8 https://marrrang.tistory.com/91 https://velog.io/@ehdrms2034/Kafka- [Kafka] 카프카 개요 (이전 글) # Kafka Connect 개요 Producer : Kafka Message 생산 Consumer : Kafka Message 소비 Broker : Kafka Message 저장 Server 각 Broker는 여러 Topic을 가지고 있으며, 이 Topic에 Message가 저장됨 연동해야 할 애플리케이션과 DB가 늘어난다면? 개발해야 할 Producer와 Consumer도 동일하게 늘어나게 됨... -> K.. 2022. 7. 24. [Kafka] Kafka Broker, Zookeeper, Cluster Ref https://engkimbs.tistory.com/691 https://waspro.tistory.com/645 https://devbksheen.tistory.com/entry/Kafka-Broker-Zookeeper https://epicdevs.com/17 [공부/Kafka] - [Kafka] 카프카 개요 (이전 글) Broker Kafka에서 데이터를 수신, 전달하는 서비스이자 실행되는 Kafka Application Server 하나의 Server 당 하나의 데몬 프로세스로 동작 보통 가용성을 위해 3 Node Broker로 구성함 Zookeeper 분산 코디네이션 시스템, Broker와 1:1 로 구성 (마찬가지로 주로 3 Node Zookeeper 구성) 하는 일 Broker는 상태.. 2022. 7. 19. [Kafka] 카프카 개요 Ref 실전 아파치 카프카 (사사키 도루 외 4인) 책 (아래 포스팅에 있는 내용(1장)만 추가 정리) https://www.hanbit.co.kr/media/channel/view.html?cms_code=CMS9400468504 https://kuckjwi0928.tistory.com/14 Apache Kafka란? 실시간으로 데이터 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산 데이터 스트리밍 플랫폼 대용량/대규모 메시지 데이터를 빠르게 처리하는 분산 메시징 시스템(플랫폼) 아래 4가지 실현 가능 확장성 (Scale Out) : 데이터 양에 따라 시스템 확장 가능 영속성 (Persistence) : 언제라도 데이터를 읽을 수 있음 유연성 (Flexibility) : 연계할 수 있는 제품이 많.. 2022. 7. 19. [Terraform/EKS/k8s] import 시 Kubernetes: Unauthorized 상황 Terraform의 한 모듈 내에서 EKS Cluster와 k8s 리소스들을 같이 프로비저닝 중 k8s 리소스 블럭들을 추가하였고, 기존 cluster 내부 리소스들을 import 해야하는 상황 ## k8s provider 설정 data "aws_eks_cluster_auth" "cluster" { name = aws_eks_cluster.this.id } provider "kubernetes" { host = aws_eks_cluster.this.endpoint token = data.aws_eks_cluster_auth.cluster.token cluster_ca_certificate = base64decode(aws_eks_cluster.this.certificate_authority[0].d.. 2022. 6. 28. [AWS] ElastiCache RI API로 구매하기 (AWSCLI, Python boto3) AWS Console에서 ElastiCache RI 구입 시엔 아래와 같이 Engine, Node type, Term, Offering Type만 지정해주면 된다 (node ID : 그냥 이름 정할거면 정하라는 것) 그러나 CLI나 SDK로 다량구매를 하고싶어 찾아보니,,,, https://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/red-ug/reserved-nodes-purchasing.html 예약 노드 구입 - Amazon ElastiCache for Redis 예, 구매를 선택하면 선택한 예약 노드에 요금이 부과됩니다. 요금이 부과되지 않도록 하려면 [Cancel]을 선택합니다. docs.aws.amazon.com engine이나 node type.. 2022. 5. 29. 이전 1 ··· 5 6 7 8 9 10 11 ··· 22 다음