OpenKruise - 클라우드 네이티브 응용 프로그램 자동화 엔진은 공식적으로 열

6 월 24 일 26-2019, 상하이에 KubeCon 클라우드 기본 컴퓨팅 재단 (CNCF) + CloudNativeCon + 오픈 소스 정상 회의 (상해) 주최 네이티브 클라우드 기술 회의, 중국 것입니다 곧 커튼 드레스. 이 KubeCon에서 알리 구름, OpenKruise 오픈 소스 프로젝트 오픈 클라우드 네이티브 응용 프로그램 센터 (클라우드 네이티브 앱 허브)를 포함하여 원래의 첨단 기술과 삶의 응용 프로그램을 클라우드, 알리바바 대규모 클라우드 네이티브 착륙 연습을 공유하는 전 세계 사용자에게 제공 할 것입니다 무거운 출시하면서 컨테이너, 네이티브 클라우드 애플리케이션 관리 및 전달 시스템 및 기타 제품과 서비스의 가장자리.

"구름 네이티브 응용 프로그램 자동화 엔진"축복 아래 알리 "클라우드 네이티브"

 
클라우드 원래 개념의 상승으로 점점 더 많은 애플리케이션은 클라우드 기본 토양에 작업을 시도하기 시작했다. 그래서 원래 구름이 컨테이너의 사용자가 충분히 "탄성 구름에 의해하지 적용 할 수 있도록 짧은에, 그것은"구름 ", 효율적인 건설 및 응용 방법의 집합의 전달을 활용하는 클라우드 기본 기능의 집합이며, 무엇을 장점은 인프라 변경 "을 핵심 비즈니스 가치에 초점을 맞 춥니 다.
 
현재 기본 클라우드의 진화 및 인프라 알리바바가 한창 또한 업그레이드 할 수 있습니다. 알리바바의 구름의 과정에서, 내부 알리 대규모 인터넷 장면에서 빛의 대규모 응용 프로그램을 홍보하는 등의 알리 바바 경제의 경량 용기 등의 기본 구름 개념 착륙 연습, 많은 수의 시작 컨테이너의 순서, 용기의 민첩한 사용을 달성하기 위해, 및 기타 기능을 빠르게 유사한 승진 "이중 열한"의 엄격한 기술적 요구 사항을 충족하기 위해 클라우드 전기 공급 업체 사이트 배달의 원래 개념에 맞게 일관성있는 능력을 구축하기 위해, 기본 클라우드 애플리케이션의 또 다른 예 관리, 알리바바 클라우드 네이티브, 배포 및 운영의 기술적 개념에 따라 구성 비즈니스 애플리케이션을 구동, 경제 등의 작동 및 상부 프레임의 유지 보수에 침투 애플리케이션 오케스트레이션 및 자동화 기능 등의 항목이다는 Kubernetes 것입니다.
 
클라우드 알리바바의 전반적인 경제의 전 생화학 적 과정 중, 알리 점차 상류 사회의 표준에 가깝게 기술 팀을 침전 기술의 개념과 인터넷 규모의 현장에 대한 모범 사례에 적응. 이 중 가장 중요한 응용 프로그램 버전, 운영 및 관리를 자동화하는 방법을 의심 할 여지없이.

OpenKruise : 구름 알리 경제 및 모범 사례의 원래 생화학 과정에서 소중한 경험

OpenKruise (이하 Kruise 라한다) 오픈 소스 - KubeCon 상하이에서 알리 클라우드 컨테이너 플랫폼 팀은 공식적으로 헤비급 프로젝트를 발표했다.
 
Kruise 크루즈는 Kubernetes. 말 그대로 순항, 고급 요트에 대한 'K', 동음 이의어이다. 도덕적는 Kubernetes의 응용 프로그램에 자동 크루즈, 어플리케이션 배포 관리 경험의 전체 알리바바 년.
 
Kruise 목표는 Kubernetes에 모든 것을 자동화하는 것입니다! Kruise 프로젝트는 모범 사례와 대규모 응용 프로그램, 대규모의 컨테이너 플랫폼 운영 및 유지 보수에서 그룹의 경영 팀을 게시, 수년에 걸쳐 대규모 응용 프로그램 배포 알리바바 경제 응용 프로그램에서 온다 알리 클라우드는 Kubernetes에서 능력의 설립은 고객 침전의 서비스 수천을 요구한다. 클라우드 네이티브 커뮤니티를 활용 Kruise, 학생들은 지역 사회, 산업 지침 원래 생화학 클라우드 모범 사례를 육성, 알리바바 클라우드 원래의 통합의 본질을 연습하고 우회를 피할 수 있습니다.
 
Kruise 코어는 우리가, 배포를 포함한는 Kubernetes 자동화 애플리케이션에 다른 차원을 해결, 등등 탄성 스케일링 용량, 서비스 품질 규제, 건강 검진, 마이그레이션, 복원 및 업그레이드합니다, 자동화된다. 주로 애플리케이션 배포, 업그레이드, 즉 세트 레벨 및 애플리케이션의 배치 및 동작 및 유지 보수 버전 컨트롤러 성분 강화에 Kruise 오픈 소스 콘텐츠. 이어서, 오픈 Kruise 탄성 지능형 스케일링 용량 성분을 순차적 것이며, 자체 조정 기능의 QoS 애플리케이션은 좋아.

Kruise 컨트롤러 : 결국에는 Kubernetes "컨트롤러 모드"

다음은 Kruise 컨트롤러를 설명 - 배포 관리 자동화는 Kubernetes 컨트롤러 구성 요소에 대한 응용 프로그램에 대한 하나. 우리 모두가 알다시피, 핵심 원리는 Kubernetes 프로젝트는 "컨트롤러 모드"이다. 현재는 Kubernetes 프로젝트는 배포, Statefulset, DaemonSet 같은 기본 Controller 구성 요소의 집합을 제공하고,이 컨트롤러는 풍부한 응용 프로그램 배포 및 관리 기능을 제공합니다. 상류 컨트롤러 기능이 점점 공통으로하지만, 점점 더 넓은 범위는 Kubernetes의 사용으로, 기업의 실제 규모와 장면의 비즈니스 요구가 일치하지 않습니다. 알리바바 예 : 내부 알리바바는 Kubernetes 클러스터는 여러 서비스가 50 BU, 응용 프로그램의 수천을 포함해야합니다. 몸의 볼륨이 매우 큰, 규모와 엄청난 도전의 고 가용성입니다. 동시에, 알리 구름에는 Kubernetes 서비스는 기업 고객의 수천에 액세스 수집하고 고객의 다양한 요구를 지원합니다. 이 사례의 요구와 마지막으로 알리 경제는 궁극적으로 출생 Kruise 오픈 소스 프로젝트로했다.
 
Kruise 첫 번째 단계는 다음과 같은 주요 오픈 소스 컨트롤러로 구성되어, 후속 더 추가합니다.

고급 StatefulSet이 - 풍부한 출시 전략을 가지고, StatefulSet의 업그레이드를 지원

고급 StatefulSet는 StatefulSet 네이티브 확장 두 가지 새로운 기능을 추가했습니다.

1) 업그레이드 (인 장소 업데이트 전략) 기본 StatefulSet 파괴 알리바바의 체질량 장면이 규모, 엄청난 가격의 지속적 업데이트를 수행 할 때 포드 재건 될 것이다.
자원이 있기 때문에) 우선, 포드 모든 삭제 된 응용 프로그램으로 인해 일반적으로 예약 할 수 없습니다 포드의 일정 불필요한 오버 헤드, 악화, 다시 일정을 가져 포드의 다수에, 다시 재조정 할 필요가 다른 이유 점유, 친 화성이 특징. 포드는 일반적으로 재 구축 할 수 있지만, 새로운 노드, 원래 원시 상태의 손실을 재조정하지만, 여전히 추가 오버 헤드를 가지고있다.
b)는 일정 조정 후 포드 인해 네트워크 토폴로지의 변경, 다른 시스템에 분산 될 가능성이있다, 우리는 일부 응용 프로그램에 의존 작동하지 않는 유지하기 위해 IP, IP에 대해 다시 적용해야합니다. 또한, 전송 네트워크 트래픽을 더 가져 불확실성.
컨테이너 c) 포드 복수 대체로 용인 주 용기의 결과 업그레이드 사이드카 재건 용 용기.
 
고급 StatefulSet 포드, 컨테이너 업데이트 이미지의 파괴없이, 수 업그레이드 기능의 도입. 이러한 혜택은 효율성과 안정성이다. 효율성은 물론, 포드는 다시 예약 할 필요가, 또는 원래 노드에서 실행되지 않습니다, 주 또는 로컬 스토리지의 일부가 유지 될 수있다. 유지 안정성은 IP, 네트워크 토폴로지에 반영하고 트래픽은 기본적으로 동일한 구조, 안정성과 알리바바 알리 클라우드 경제는 항상 매우 중요한 지표였다.
 
2) 구성의 최대 허용 불가능 예 (최대 불가)

커뮤니티 기본 StatefulSet 동시에 주로 순차적으로 업그레이드를 필요로하는 일부 상태 응용 프로그램에 대한 업그레이드 프로세스의 여러 인스턴스를 업그레이드 할 수 없습니다. 그러나, 알리바바의 현장에 고객, 알리 클라우드 컨테이너 플랫폼에서 많은 응용 프로그램이이 문제는 낮은 효율로 인해 발생 순서대로 순차적 인 의미에서 업그레이드 할 필요가 없습니다 것을 배웠다. 특히, 거대한 알리바바 일부 응용 프로그램 같은 경우 시나리오의 수는, 문제는 특히 중요하다. 병렬 응용 프로그램 인스턴스가 업그레이드 될 수 있도록함으로써이 문제를 해결하고 항상 사용할 수 MaxUnavailable 한계를 초과하지 인스턴스의 최대 수를 유지하기 위해 공식적인 기능을 MaxUnavailable.

방송 작업 - 작업 시간은 DaemonSet로 운영

방송 작업은 위 클러스터의 각 노드의 포드가 끝날 때까지 실행됩니다. 이 포드 BroadcastJob 결국 종료됩니다하면서 그 DaemonSet 제외 DaemonSet 유사한 지역 사회는 항상 각 노드에서 실행중인 포드 긴 서비스를 유지했다. 비교 DaemonSet는 더 이상 같은 일부 구성 요소의 노드를 업그레이드 같은 특정 시나리오에 특히 적용 방송의 종료 후 자원을 소모하지 검출 노드 구성의 일부 등 정확하고있다.

SidecarSet - 대규모 시나리오 사이드카 관리 도구

Sidecar 在Kubernetes中是一个辅助容器的概念,和主容器跑在同一个pod中。Sidecar容器一般是一些基础服务组件如monitoring容器,log collection容器等。在一个公司中,主业务容器,和基础组件容器通常由不同的团队开发和维护,多个团队同时操作和修改同一份yaml文件,同一个API资源对象,时常会产生一些冲突,且不便于管理。SidecarSet的理念在于将主业务容器和辅助容器的运维模式解耦。当业务用户提交应用时,不需要显示指定sidecar容器,由sidecar容器相应的团队编写规则负责自动注入。并且在容器运维和升级时候,利用Advanced Statefulset 原地升级的功能,业务团队,和基础架构团队分别按照自己定义的策略升级各自相应的容器,而不需要耦合在一起升级,产生不必要的影响。Istio 其实采用类似的思想自动给业务容器注入sidecar容器的功能,但是其缺乏sidecar容器后续升级运维的能力。SidecarSet有效地把Sidecar容器的部署和管理抽象出来。

OpenKruise 正在面向开源社区招募合作伙伴与子项目!

 
Kruise 社区的准则,是基于Kubernetes 的核心技术理念来构建更强大的自动化能力。目前,Kruise 正在计划发布更多的Controller来覆盖更多的场景和功能比如丰富的发布策略,金丝雀发布,蓝绿发布,分批发布等等。
 
更为重要的是,OpenKruise 是一个 Umbrella 项目,OpenKruise 的维护者们,正以最开放的姿态面向全球招募合作伙伴和贡献者。没错,我们非常期待您能够为 OpenKruise 贡献和共建新的自动化能力,或者一起来共同推 Kubernetes 云原生应用编排能力的演进与发展。

原文链接
本文为云栖社区原创内容,未经允许不得转载。

추천

출처blog.csdn.net/weixin_43970890/article/details/93622978