i18n/zh-cn/docusaurus-plugin-content-pages/index.js (144 lines of code) (raw):

/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import React from 'react'; import clsx from 'clsx'; import Layout from '@theme/Layout'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import styles from './styles.module.css'; const features = [ { title: <>调度能力</>, imageUrl: './img/resource-scheduling.png', description: ( <> 内置全面的调度功能,包括层次队列、 跨队列的资源公平性、作业排序 (FIFO/FAIR)、 可插拔节点排序策略、抢占等。 </> ), }, { title: <>K8s 资源调度器</>, imageUrl: './img/support-k8s.png', description: ( <> 完全兼容 K8s,是默认 K8s 调度的替代方案,但功能更强大。 对现有的 K8s 应用程序完全透明。 </> ), }, { title: <>云原生</>, imageUrl: './img/cloud-native.png', description: ( <> 支持本地和云端用例。 在云上运行时,它与弹性伸缩控制器共同协作,以带来最大的资源弹性和更好的吞吐量。 </> ), }, ]; const why = [ { title: <>分层资源队列</>, imageUrl: './img/why-hierarchical-queue.svg', description: ( <> 对不同租户的资源配额进行细粒度控制,轻松映射到您的组织结构。 为队列的最小/最大资源提供了超额分配的功能,同时确保了有保障的资源。 </> ), }, { title: <>应用感知调度</>, imageUrl: './img/why-app.svg', description: ( <> 识别用户、应用程序、队列。 应用程序按特定顺序进行排队和调度。 根据资源公平性、提交时间和优先级应用排序。 您可以获得更可预测的调度结果。 </> ), }, { title: <>效率和成本节约</>, imageUrl: './img/why-save-cost.svg', description: ( <> 针对云进行了优化,并尽可能地适应弹性伸缩。 Gang Scheduling 减少了资源碎片,并主动触发扩容。 Bin-packing 在云上运行时可以改变使用曲线,并降低成本。 </> ), }, { title: <>中央管理控制台</>, imageUrl: './img/why-console.svg', description: ( <> 不再丢失跟踪租户的资源使用情况! YuniKorn 提供中央管理 UI 和一站式看板来跟踪集群、队列和应用程序的资源利用率。 让我们开始为您的团队规划和监控资源! </> ), }, ]; function Home() { const context = useDocusaurusContext(); const {siteConfig = {}} = context; return ( <Layout title={`Welcome to ${siteConfig.title}`} description="Apache YuniKorn 网页"> <header className={clsx('hero', styles.heroBanner)}> <div className="container"> <div className="row"> <div className='hero_column_main'> <h1 className="hero__title">{siteConfig.title}</h1> <p className="hero__subtitle">释放在 Kubernetes 上运行大数据和机器学习资源调度的力量!</p> <div className="container"> <div className="buttons_src-pages-"> <a className="button button--primary button--lg" href="./docs/">开始文档</a> <a className="button button--primary button--lg" href="./community/download">下载</a> <a className="button button--primary button--lg" href="./community/roadmap">路线图</a> </div> </div> </div> <div className='hero_column_logo'> <img className={styles.heroImg} src="./img/logo/yunikorn_classic_logo.png" alt="YuniKorn logo"/> </div> </div> </div> </header> <main> {features && features.length && ( <section className={styles.features}> <div className="container"> <div className="row"> {features.map(({imageUrl, title, description}, idx) => ( <div key={idx} className={clsx('col col--4')}> {imageUrl && ( <div className="text--center"> <img className={styles.featureImage} src={imageUrl} alt={title.toString()}/> </div> )} <h3>{title}</h3> <p>{description}</p> </div> ))} </div> </div> </section> )} <div className={styles.postContainer}> <h1 className={styles.whyText}>☺ 为什么选YuniKorn?</h1> {why.map(({imageUrl, title, description}) => ( <div className={styles.postContent}> <img src={imageUrl} alt={title.toString()}/> <h4>{title}</h4> <p>{description}</p> </div> ))} <h3 className={styles.learnMoreURL}><a href="./docs/get_started/core_features">了解更多 >>></a></h3> </div> </main> </Layout> ); } export default Home;