Giter VIP home page Giter VIP logo

kubeez's People

Contributors

acmexii avatar jinyoung avatar kimsanghoon1 avatar sooheon45 avatar syoung8002 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kubeez's Issues

[kuberEz] HPA와 Deployment 객체 연결 시, 리소스 사용 정보 설정 필요

Deployment 객체에 HPA(HorizontalPodAutoscaler)를 설정하려면, HPA 객체를 생성하여 Deployment 객체에 연결해야 하는데, 이때 Deployment 객체에는 WorkerNode의 리소스 사용 정보가 기술되어 있어야, 이를 기준으로 HPA가 동작하게 된다.

image

위의 예제처럼, HPA가 Deployment 객체에 attach되면,
spec > containers > resources > limits, requests > cpu 속성값 지정이 가능해야 함

[kuberEz] Kubernetes Rollback 기능에 필요한 어노테이션

쿠버네티스의 주요 기능 중 하나인 "Rollout & Rollback"은 Deployment 배포시 마다 배포 주석을 추가하여 이전 버전(또는, 배포 이력 중 특정 버전)으로의 긴급 롤백이 필요한 경우, Kubernetes 플랫폼 레벨에서도 수행 가능

이때, 가장 중요한 요소는 배포 주석으로써 매 배포시마다 YAML Spec.에 Annotation을 추가하는 것이 중요.
<e.g.>

.....
metadata:
name: nginx-deployment
labels:
app: nginx
annotataions:
kubernetes.io/change-cause="[2020-10-10] 이벤트 기능이 포함된 새로운 버전"

......
......

이렇게 배포된 서비스는 kubectl rollout history deploy nginx-deployment 명령으로 조회 시, 배포 주석이 출력되며 특정 버전으로 복원시에 활용 가능

[KuberEz] 객체 확장 어트리뷰트 룩업추가

Goal: UI 의 단순성을 유지하면서 advance 된 어트리뷰트를 필요할때면, 필요한만큼만 복잡하게 UI 를 구성해서 쓸 수 있다

Persona: 쿠버네티스와 Yaml 편집에 익숙하지 않은 초심자이면서 어느정도 kubernetes의 확장된 설정을 하는 단계에 이르러가는 학습자. 아직 두려운게 많아서 너무 복잡한 yaml 은 두렵다.

고려사항: yaml 의 내용 또한 필요한만큼만 복잡하게 표현되도록 만들고 싶다.

UI

예를 들어 pod 선언에서 필요할때만 resources 설정을 추가하는 경우라고 하면,
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

그냥 템플릿에 집어넣으면 아래와 같아진다:

object: {...
   spec: {
      containers: [
         resources: [
            limits: [
               {cpu: "100m", mem: "512Mi"}
            ]
         ]
      ]
   }
}

  • 컴포넌트 정의에 어떻게 확장 어트리뷰트들을 선언할 것인가?

방법1:

가장 무식한 방법은 path 들을 등록해놓는것이다:

data:{

  advancedAttributePaths:{
       "spec.containers[].resources[]": {
            limits: [
               {cpu: "100m", mem: "512Mi"}
            ]
        }
        ....
   }
}

단점:

방법2: 아래와 같이 wrapper 를 써서 영역을 표시하는 방법이 있다:

object: {...
   spec: {
      containers: [
         _advanced_:{
            resources: [
              limits: [
               {cpu: "100m", mem: "512Mi"}
              ]
            ]
        }
      ]
   }
}

==> advanced 필드를 만나면, 이것은 확장 프로퍼티들에 속한다고 약속하는 것.

[kuberEz] Istio > VirtualService YAML Spec에 DestinationRule별 weight 속성 정보가 포함되지 않는 이슈

이스티오에서 DestinationRule을 VirtualService 연결 시, 각 Destination들은 weight 속성을 가져야 하며, 이 weight 속성은 동일한 서비스의 서로 다른 두 버전(ex. version 1, version 2)에 대해 카나리 배포와 같은 배포 전략 등을 적용할 수 있다.
현재, 매핑 라인에 설정한 weight 속성이 Code Preview 등 생성되는 YAML Spec에 반영되고 있지 않음.

  • 서비스와 매핑된 DestinationRule을 VirtualService와 연결 할 때의 YAML Spec. 참조

image

[msaez front] 프로젝트 검색

검색기능은 전에 이야기한것처럼 서버에서 검색하게 하는게 맞으나, 지금 그게 시간이 걸리고 성능이 안나오니 내가 참조할 수 있는 모든 목록이 뜨기전까진 검색창을 disabled 해놓거나, 검색창에 입력된 처리를 모든 목록이 읽혀진 후에 적용되게 하도록 하세요…

[kuberEz] Istio 활성화에 필요한 Namespace Labels 추가

서비스 메시인 istio를 활성화하려면 Namespace에 이스티오 라벨(istio-injection=enabled)을 주입할 수 있어야 하므로,

Namespace 객체의 metadata > labels > istio-injection=""을 추가하여 데브옵스 관리자가 손쉽게 편집할 수 있도록 속성 추가

[kuberEz] PVC와 Deployment 객체 연결 시, 볼륨 마운트 Path 설정 필요

PVC와 Deployment 객체 연결 시, volumes 정보는 자동 attach되나, 해당 볼륨을 마운트할 마운트 정보가 생성되고 있지 않음.

[수정 필요 사항]
image

위의 예제처럼 pvc가 마운트되면,
spec > containers > volumeMounts > name, mountPath 를 지정할 수 있어야 함 (이때, name은 volumes > name 값과 동일)

[kuberEz] Ingress Gateway의 Routing Type에 따라 YAML 템플릿 코드가 정상 생성되도록 수정

현재, Ingress Gateway의 기본 라우팅은 연결된 서비스에 대한 path-based routing으로, 서비스별 Host Name을 부여하는 정책인 Host-based 라우팅 추가 고려.

  1. 현, Path-based 라우팅 Sample Rule
    image

  2. 추가가 필요한 Host-based Sample Rule
    image

Ingress Gateway의 Routing Type을 옵션으로 지정할 수 있는 UI 추가 필요 (아래 예시)

Routing Rule
○ Path-based ○ Host-based

[kuberEz] Namespace 안의 객체 YAML 보기 및 Code 다운로드 시에...

Namespace 내의 객체 Spec 보기 및 다운로드 되는 YAML 파일은 metadata > namespace 속성값에 객체를 둘러싼 네임스페이스 이름이 지정되어 있어야 함.

[필요해 보이는 조치]

  • 네임스페이스와 객체들간의 바인딩 작업을 통한 연결
  • 객체 내에서의 네임스페이스 이름 변경 불가 (네임스페이스 객체에서만 이름 변경 가능)

마케팅

사용법에 대한 간단한 동영상 (2~3분 미만) 작성 후 페이스북 등에 광고

동영상 참고 - msaez.io 의 대문 동영상

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.