그래난데뭐

고정 헤더 영역

글 제목

메뉴 레이어

그래난데뭐

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (11)
    • Golang (0)
    • Language (3)
      • ..1 (3)
    • Kubernetes (2)
    • Helm (3)
    • Git (2)
    • 잡다한이야기 (0)

검색 레이어

그래난데뭐

검색 영역

컨텐츠 검색

전체 글

  • Git Token 인증 로그인 방법

    2021.11.08 by yiaw

  • Dynamic Admission Controller - MutatingWebhook

    2021.11.05 by yiaw

  • Helm Chart 구조

    2021.11.05 by yiaw

  • Helm 설치

    2021.11.05 by yiaw

  • Helm Chart 란 무엇인가. ?

    2021.11.05 by yiaw

  • URL Tree <Path Tree> - 매칭

    2021.11.05 by yiaw

  • URL Tree <Path Tree> - 생성

    2021.11.05 by yiaw

  • Dynamic Admission Controller - ValidatingWebhook

    2021.11.04 by yiaw

Git Token 인증 로그인 방법

오늘 부랴부랴 블로그 정리를 하면서 어느 정도 코드 보완을 하고 Git에 Push를 하는 도중..... 갑자기 생전 처음 보는 오류를 맞이 하였다.. remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: Authentication failed for 'https://github.com/yiaw/k8s-exampl..

Git 2021. 11. 8. 11:30

Dynamic Admission Controller - MutatingWebhook

앞선 포스팅에서 ValidatingWebhook을 구현을 통해 동작 방법을 확인해 보았습니다. Dynamic Admission Controller에서 두 번째로 소개해드릴 기능은 MutatingWebhook입니다. MutatingWebhook의 경우 사용자가 요청한 Request 내용을 강제로 변경할 수 있는 기능이 있습니다. ValidatingWebhook과 동일하게 AdmissionReview라는 메시지를 통해 검토 요청을 받은 후 별도의 내용을 Injection 하는 정보를 포함하여 메시지를 응답하게 됩니다. AdmissionReview 정보 { "kind":"AdmissionReview", "apiVersion":"admission.k8s.io/v1beta1", "request":{ "object..

Kubernetes 2021. 11. 5. 16:53

Helm Chart 구조

Helm Chart의 구조를 살펴보자 먼저 Helm Chart의 구조를 살펴 보기위해 Sample Chart를 생성 해보자 % helm create sample Creating sample % ls -altr total 4 drwx------. 20 vm vm 4096 May 17 16:50 .. drwxr-xr-x. 4 vm vm 93 May 17 22:35 sample drwxrwxr-x. 3 vm vm 20 May 17 22:35 . tree 명령어를 통해서 sample이라는 Directory 구조를 살펴 보자 tree 명령어가 존재 하지 않다면 "yum install tree" (CentOS 기준) % tree sample sample ├── charts ├── Chart.yaml ├── temp..

Helm 2021. 11. 5. 10:09

Helm 설치

k8s 환경에 주로 사용하는 패키지 매니저 중 하나인 Helm Chart를 설치해보자 Helm Chart는 2.x 3.x 버전이 있으며, 3.x 버전을 설치 하는 방법을 알아보자 아래의 명령어를 수행 하자 $ curl -fsSL -o \ > get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 $ ls get_helm.sh $ chmod 700 get_helm.sh $./get_helm.sh $ helm version version.BuildInfo{Version:"v3.5.3", GitCommit:"041ce5a2c17a58be0fcd5f5e16fb3e7e95fea622", GitTreeState:"dirty"..

Helm 2021. 11. 5. 10:09

Helm Chart 란 무엇인가. ?

k8s 에서 패키지 매니저로 사용하는 Open Source다. 패키지 매니저가 무엇을 뜻하는 것일까?. 예를들어 우리가 k8s에서 Mysql 이라는 서비스를 사용하기 위해서는 최소 pod와 클러스터 외부 또는 클러스터 내부에서 접근하기 위한 service가 필요할 것이다. (여기서 말하는 service는 k8s 리소스를 의미하는것이다. ) pod 와 service를 배포하기 위해서는 우리는 어떠한 규칙이 존재하는 YAML 형식의 파일을 작성 할 것이다. 우리가 Mysql 서비스를 사용해야할 k8s Cluster가 2개가 있다고 가정하자. Cluster1 에서 먼저 서비스를 Deploy 후 Cluster1 에서 사용한 YAML 파일들을 복사하여 Cluster2 에 설정하고 Cluster2 환경에 맞게 각 ..

Helm 2021. 11. 5. 10:09

URL Tree <Path Tree> - 매칭

앞선 포스팅에서는 Path Tree를 생성하는 코드를 소개했다. 이제 실제 URL이 들어왔을 경우 해당 URL과 Path 가 일치하는지 확인하는 작업을 한다. 먼저 Method 함수를 호출 한다. func (t *Tree) MatchURL(method, path string) (bool, string, string) { var ok bool var npath string b := []byte(path) if b[0] == '/' { b = b[1:] npath = string(b) } newPath := npath + "/" + strings.ToUpper(method) p := strings.Split(newPath, "/") if len(p) > 1 { ok = matchurl(t.root, p) }..

Language/..1 2021. 11. 5. 10:08

URL Tree <Path Tree> - 생성

Golang을 기반으로 RESTAPI를 설계하면서 권한관리 부분에 필요한 자료구조를 찾다 찾다 결국 .. 만들기로 했다. 얼추 기반을 만들어놓고 생각해 봤는데 .. Path Tree 쓰느니 .. Prefix Tree 쓰는게 좋았을수도 ... 그래도 일단 만들어 논거에 대해서 설명하자면 각 Api + Method 별 권한을 관리하기 위해서는 Tree 구조를 사용하기로 했다. 아래 URL Method가 있다고 할 경우 트리는 아래처럼 생성 된다. GET /api/v1/user DELETE /api/v1/user GET /api/v1/user/:name POST /api/v1/user/:name DELETE /api/v1/user/:name GET /api/v1/rules DELETE /api/v1/rules..

Language/..1 2021. 11. 5. 10:08

Dynamic Admission Controller - ValidatingWebhook

앞선 포스팅에서 Admission Controller에 대해 설명하는 포스팅을 진행했었습니다. 이번 포스팅에서는 ValidatingWebhook의 동작방식을 확인해보겠습니다. 전체적인 흐름을 설명 하자면 사용자의 k8s resource(pod , deployments, service... 등) 생성 요청을 kube-apiserver가 admissionController로 AdmissionReview라는 메시지 형식을 통해 검토를 요청하게 됩니다. 해당 AdmissionController에서는 메시지의 내용을 보고 resource 생성 요청을 허용할지 거절할지에 대해 결정 후 메시지를 응답하게 됩니다. AdmissionReview 정보 아래 메시지는 간략하게 축약해놓은것이니 실제 구현을 통해 메시지를 확인..

카테고리 없음 2021. 11. 4. 21:42

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
그래난데뭐 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바