테라폼으로 GKE에 노드 프로비저닝 하는 예제
·
Cloud/GCP
테라폼 공식 홈페이지 예제에서 나온대로 GKE에 노드를 프로비저닝 할때 에러가 있어서 정리하는 겸 해서 만들어봤다. 이전 글 https://jjongguet.tistory.com/170 와 연관됩니다. 공식링크: https://developer.hashicorp.com/terraform/tutorials/kubernetes/gke 0. GCP계정 생성 GCP 에 계정 및 project는 미리 생성되어있다고 가정함 예시에서 사용하는 Project ID 는 jjongjjong 이라고 지정함 1. gcloud SDK 설치 & kubectl 설치 brew install --cask google-cloud-sdk gcloud init #만약 기존에 사용중인 gcloud 계정이 있다면, 새로운 계정을 먼저 등록해야..
테라폼 에러 template v2.2.0 does not have a package available
·
Terraform
에러발생 M1맥북 에서 brew 로 설치한 terraform 에서 terraform init 했는데 다음과 같은 에러가 발생 해결방법 brew로 설치한 m1에서는 m1에서 작동하는 테라폼을 제거하고, 직접설정 brew uninstall terraform brew install tfenv TFENV_ARCH=amd64 tfenv install 1.3.3 tfenv use 1.3.7 관련링크 https://discuss.hashicorp.com/t/template-v2-2-0-does-not-have-a-package-available-mac-m1/35099/21?page=2
올바르게 일하기
·
프로젝트의 고민들
Intro 새로운 회사에서 일한 지 2달이 지났다. 입사한지 2달이 지났는데도 아직도 성과를 못 내고 있는 것 같아서, 너무 답답했다. 이대로 있으면 안 되겠다 싶어서 사장님과 면담을 진행했고, 많은 이야기를 나눌 수 있었다. 이 글은 내가 실수했던 점, 고쳐야 하는 점에 대한 내용을 담고 있다. 행동에 확신을 갖기 나 스스로가, 업무에 있어서는 내 행동에 확신이 없었다. 어떤 태스크를 수행할 때도 ‘이렇게 하면 되는 건가?’라는 생각이 있었고, 긴가민가 할 때가 많았다. 그래서, 작업 속도가 매우 느렸다. 그 이유 중 하나는 ‘내가 일을 잘못해서, 회사에 손해를 끼치면 어떻게 하지?’라는 생각 때문이었다. 내가 일을 잘못해서, 중요한 서비스를 날려버린다던가, 중요한 데이터를 날려버린다던가 걱정이었다. ..
스칼라에서 => 연산
·
DATA Engineering/Scala
1. 스칼라에서 => 와 = 의 차이 => 는 기본적으로 매개변수와 함수본문을 구분하는 역할이다. 그래서 아래의 예제가 있을때 val add = (x: Int, y: Int) => x + y 매개변수는 (x: Int, y: Int) 라고 정의하고 함수본문은 x+y 라는것을 정의한것이다. 이때 주의할점은 함수임에도 불구하고, val 자료형으로 선언되었다는 것이며, 이를 익명함수라고 하여 함수를 변수의 인자로 넣을수 있는것이라고 생각하면 편하다.(파이썬에서의 람다함수와 비슷하다) 반면, 일반적인 상황에서는 = 기호를 사용한다 def add(x: Int, y: Int): Int = x+y = 는 메소드의 반환값을 지정하는 기호로 사용되었다. 일반적인 대입연산과 똑같다. 2. 고차함수와 매개변수 => 기호를 통..
제 PC 에서는 되는데요?
·
프로젝트의 고민들
이전까지의 이야기 이전에 내가 속한 조직은 개발자위주의 조직이었고, 나는 거기서 Data Engineer 업무를 담당했다. 아무것도 모르는 상태에서 온프렘으로 K8s 클러스터를 운영하고, IaC를 지향하기까지 많은 삽질과 어려움이 있었다. 사수도 없는 상태에서, 일단 최선의 결과를 내려고 부단히 노력했다. - 누군가 도와주는 사람이 없다면, 스스로 성장해서 남을 도와주는 선순환 구조를 만들어야한다. 새로운 조직, 새로운 고민 나는 이전에 속해있던 개발자위주의 조직에서, 5명 이내의 데이터 조직으로 이동하였다. 데이터 엔지니어, 분석가, 모델러로 이루어 진 소규모조직이다. 여태까지의 나는 혼자 일을했기때문에, 타인과 개발환경을 맞추거나, 버전을 맞춰야하는 일이 없었다. 하다못해 K8s 버전이나, Airfl..
Mac에서 Scala 설치하기
·
DATA Engineering/Scala
1. brew로 Scala 를 설치합니다. brew install scala scala -version 2 z쉘에서 scala 를 등록해줍니다 #scala 가 설치된 위치를 먼저 확인 brew info scala
[구글 클라우드 쿠버네티스 스터디잼 중급] 수료했습니다 +후기
·
외부활동
빠른 인증 이번에 가장 크게 느낀점 은 “아는만큼 보인다” 라는거다. 내가 왜 이런말을 하냐면… 나는 2022년에 쿠버네티스 스터디잼 초급반을 수료했고, 2023년에 쿠버네티스 스터디잼 중급반을 수료했다. 이 두개의 강의는 쿠버네티스 + GKE에 대한 내용을 다루고 있다. 2022년의 나는 ML에 꽂혀서 쿠버네티스가 뭔지 몰랐다. 단순히, 구글 클라우드에서 진행하는 외부행사니까, 이해를 하지 못하더라도 수료에 의의를 두자는 마인드로 시작했다. 그래서 실제로 이해한것 하나도 없이 동영상 시간을 축내면서 수료만 했다. 시간이 아까웠다. 개발이나 배포를 해본것도 아니였고, 쿠버네티스가 뭔지도 모르고, 들어야 수료를 하니까, 그냥 ‘이해하는 척’ 이라도 해봤다. 그래서 수료를 했고, 모자를 받았다. (사진은 수..
[구글 클라우드 쿠버네티스 스터디잼 중급] Kubernetes Architecture 오타
·
외부활동
동영상: Google Kubernetes Engine 개념 자막 내용 03:13 단, 주의사항이 있습니다 각 노드의 CPU 및 메모리 중 일부는 클러스터의 일부로 작동하도록 하는 GEK 및 Kubernetes 구성요소를 실행하는 데 필요합니다 예를 들어 사용자가 노드에 15GB의 메모리를 할당하더라도 포드가 15GB 전체를 사용할 수 있는 것은 아닙니다 실제 말하는 내용 GEK(x), GKE(o)
[구글 클라우드 쿠버네티스 스터디잼 중급] Kubernetes Architecture
·
외부활동
동영상 : Kubernetes 개념 Kubernetes의 작동개념 객체모델: 관리하는 각각의 대상은 객체로 표시되며, 객체의 속성과 상태를 보고 변경할수 있다 선언적 관리원칙: 관리대상이 될 객체에 대해서 원하는 상태를 K8s에 알리면, K8s는 그 상태를 구현하고 유지하도록 작동한다. Kubernetes 객체 Object Spec: 원하는 스펙을 우리가 정의 Object status: 현재 상태를 Kubernetes 가 알려줌 Pod 배포 가능한 가장 작은 kubernetes 객체(not container) Container가 존재할수 있는환경을 제공함(여러개의 container도 존재할수있음) 만일 여러개의 Container가 하나의 pod안에 있다면, 각 Container에 network, stor..
[구글 클라우드 쿠버네티스 스터디잼 중급] Introductions to containers and kubernetes
·
외부활동
동영상: 소개 무엇을 배울것인지 GKE(Google Kubernetes Engine) 이 어떤건지 컨테이너란 무엇인지 앱 배포와 관련하여 어떤 이점이 있고, 어떤 방식으로 빌드되는지 자체적으로 빌드한 컨테이너 vs GKE(Google Kubernetes Engine) 비교 Cloud Build를 사용하여 컨테이너를 만드는 방법 Container Registry에 컨테이너를 저장하는 방법 동영상: 컨테이너 소개 물리적인 컴퓨터에 Application을 직접 배포하는시대 하드웨어 하나마다 역할을 지정했음 서비스를 확장하려면 물리장비 자체를 확장해야했음 가상화의 시대(하이퍼바이저) 하이퍼바이저는 OS의 종속성을 깨뜨리고, 가상머신이 동일한 하드웨어를 공유하도록하는 소프트웨어 레이어 Application 자체를..
jjongguet
뒤죽박죽 데이터엔지니어링