uengine-oss / kubeez Goto Github PK
View Code? Open in Web Editor NEWKuber-ez is a web-based tool for kubernetes manifest composition and operation tool in a visual way that requires minimal understanding of Yaml and CLI
License: MIT License
Kuber-ez is a web-based tool for kubernetes manifest composition and operation tool in a visual way that requires minimal understanding of Yaml and CLI
License: MIT License
이스티오 객체 Quota, Rule 컴포넌트 추가
구성된 webkubectl에 kubectl 명령어 실행
객체 컴포넌트 resize 후 같은 타입의 객체 새로 생성시 변경된 사이즈가 적용되도록 수정
Deployment에서 ConfigMap으로 연결하여 환경변수 설정
kubernetes ServiceAccount 객체 컴포넌트 추가
쿠버네티스의 주요 기능 중 하나인 "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 명령으로 조회 시, 배포 주석이 출력되며 특정 버전으로 복원시에 활용 가능
이스티오 객체 Memory Quota 컴포넌트 추가
이스티오 Gateway 객체 컴포넌트 추가 및 VirtualService와 연결
contextmenu에 get, describe, delete, create, update 메뉴 추가하여 클릭시 webkubectl에서 명령어 실행
StatefulSet 객체 컴포넌트 추가
ClusterRole, ClusterRoleBinding 객체 컴포넌트 추가
ConfigMap 객체 컴포넌트 추가
연결 불가능한 객체 간 연결시(e.g. Service > Ingress) 점선으로 표시되도록 설정
Kubernetes 모델에 context menu 추가
PVC(PersistentVolumeClaim)와 StorageClass 객체 연결 시, StorageClass 이름이 PVC 객체의 StorageClassName 속성에 설정 되지 않는 현상의 수정 필요
이스티오 객체 VirtualService, DestinationRule 컴포넌트 추가
Role, RoleBinding 객체 컴포넌트 추가
검색창 추가하여 객체 type으로 필터링
예를 들어 pod 선언에서 필요할때만 resources 설정을 추가하는 경우라고 하면,
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
그냥 템플릿에 집어넣으면 아래와 같아진다:
object: {...
spec: {
containers: [
resources: [
limits: [
{cpu: "100m", mem: "512Mi"}
]
]
]
}
}
가장 무식한 방법은 path 들을 등록해놓는것이다:
data:{
advancedAttributePaths:{
"spec.containers[].resources[]": {
limits: [
{cpu: "100m", mem: "512Mi"}
]
}
....
}
}
단점:
object: {...
spec: {
containers: [
_advanced_:{
resources: [
limits: [
{cpu: "100m", mem: "512Mi"}
]
]
}
]
}
}
==> advanced 필드를 만나면, 이것은 확장 프로퍼티들에 속한다고 약속하는 것.
이스티오에서 DestinationRule을 VirtualService 연결 시, 각 Destination들은 weight 속성을 가져야 하며, 이 weight 속성은 동일한 서비스의 서로 다른 두 버전(ex. version 1, version 2)에 대해 카나리 배포와 같은 배포 전략 등을 적용할 수 있다.
현재, 매핑 라인에 설정한 weight 속성이 Code Preview 등 생성되는 YAML Spec에 반영되고 있지 않음.
검색기능은 전에 이야기한것처럼 서버에서 검색하게 하는게 맞으나, 지금 그게 시간이 걸리고 성능이 안나오니 내가 참조할 수 있는 모든 목록이 뜨기전까진 검색창을 disabled 해놓거나, 검색창에 입력된 처리를 모든 목록이 읽혀진 후에 적용되게 하도록 하세요…
kuber-ez 의 기본적 사용법에 대한 문서화를 README.md 에 작성하기
(https://github.com/TheOpenCloudEngine/uEngine-cloud-k8s/wiki/UI-%EC%84%A4%EB%AA%85) 참고
서비스 메시인 istio를 활성화하려면 Namespace에 이스티오 라벨(istio-injection=enabled)을 주입할 수 있어야 하므로,
Namespace 객체의 metadata > labels > istio-injection=""을 추가하여 데브옵스 관리자가 손쉽게 편집할 수 있도록 속성 추가
객체 프로퍼티 UI Panel창 스타일 및 사이즈 수정
Modified date 순으로 최신 순서로
모든 PropertyPanel 에 추가되는 기능 (공통기능)
Yaml 편집기와 스위치되어도 됨
아래의 json editor 를 yaml 과 함께 혼용해서 쓸 수 있도록 object 객체를 같이 바라봐주게 (v-model mapping) 해주면 됩니다:
https://www.npmjs.com/package/vue-json-editor
사용자가 등록할 클러스터 정보 LocalStorage에 저장하도록 변경
DaemonSet 객체 컴포넌트 추가
이스티오 객체 QuotaSpec, QuotaSpecBinding 컴포넌트 추가 및 연결 설정
StorageClass 객체 컴포넌트 추가
kuberEz 로고 이미지 변경
Istio의 Gateway객체에 VirtualService가 추가될 때마다 Gateway 객체에 Hosts 필드 value가 추가되는 문제 수정 필요
Ingress에서 Service 연결시 Service Path 속성 설정 추가
모델링 화면에 webkubectl 구성
Job, CronJob 객체 컴포넌트 추가
Secret 객체 컴포넌트 추가
VirtualService retry 속성 추가, DestinationRule 연결시 연결 Panel에서 weight, retry 값 설정
Istio의 DestinationRule 객체 프로퍼티 에디터에서 YAML과 Item 설정항목간 값 변경 시, 상호 동기화 되지 않고 있음
Namespace 내의 객체 Spec 보기 및 다운로드 되는 YAML 파일은 metadata > namespace 속성값에 객체를 둘러싼 네임스페이스 이름이 지정되어 있어야 함.
[필요해 보이는 조치]
상위 컴포넌트 RelationAbstract.vue 생성, 하위 relation 컴포넌트에서 mixins하여 사용
Autoscale 객체 Horizontal Pod Autoscaler 컴포넌트 추가
사용법에 대한 간단한 동영상 (2~3분 미만) 작성 후 페이스북 등에 광고
동영상 참고 - msaez.io 의 대문 동영상
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.