From df03a1ae8eebe0321cc575fafcf96ff7999b5c3f Mon Sep 17 00:00:00 2001 From: Jianbo Sun Date: Sat, 4 Jun 2022 09:45:30 +0800 Subject: [PATCH] Chore: update docs for faq and sidebar Signed-off-by: Jianbo Sun --- docs/developers/references/devex/faq.md | 29 +- .../current.json | 3 + .../developers/extensions/set-autoscale.md | 2 +- .../developers/references/devex/faq.md | 305 ----------------- .../platform-engineers/oam/oam-model.md | 2 +- .../platform-engineers/oam/x-definition.md | 2 +- .../version-v1.3.json | 71 ++-- .../version-v1.4.json | 312 ++++++++++++++++++ .../developers/extensions/set-autoscale.md | 2 +- .../developers/references/devex/faq.md | 305 ----------------- .../platform-engineers/oam/oam-model.md | 2 +- .../platform-engineers/oam/x-definition.md | 2 +- .../developers/references/devex/faq.md | 29 +- 13 files changed, 426 insertions(+), 640 deletions(-) delete mode 100644 i18n/zh/docusaurus-plugin-content-docs/current/developers/references/devex/faq.md create mode 100644 i18n/zh/docusaurus-plugin-content-docs/version-v1.4.json delete mode 100644 i18n/zh/docusaurus-plugin-content-docs/version-v1.4/developers/references/devex/faq.md diff --git a/docs/developers/references/devex/faq.md b/docs/developers/references/devex/faq.md index 4eedd40a..b5dee3b7 100644 --- a/docs/developers/references/devex/faq.md +++ b/docs/developers/references/devex/faq.md @@ -6,9 +6,25 @@ title: FAQ Refer to the [comparison details](https://kubevela.io/docs/#kubevela-vs-other-software). -## You have reached your pull rate limit +## You have reached rate limit for Docker Image Registry -When you look into the logs of Pod kubevela-vela-core and found the issue as below. +By default, the community use images from docker registry for installation. You can use the following alternatives: + +1. You can use github container registry, check the [list of official images](https://github.com/orgs/kubevela/packages) for more details. Use it like: + +``` +docker pull ghcr.io/kubevela/kubevela/vela-core:latest +``` + +2. Alibaba Container Registry also sponsor KubeVela community, you can use `acr.kubevela.net/` as prefix, acr has a sync for each KubeVela official images. Use it like: + +``` +docker pull acr.kubevela.net/oamdev/vela-core:latest +``` + +* You can check if the error occurs by: + +Check the logs of Pod kubevela-vela-core and found the issue as below. ``` kubectl get pod -n vela-system -l app.kubernetes.io/name=vela-core @@ -27,4 +43,13 @@ You can use github container registry instead. docker pull ghcr.io/kubevela/kubevela/vela-core:latest ``` +## Do yo support Crossplane, what's the difference between terraform and corssplane in KubeVela? + +KubeVela natively support Crossplane as they're already CRDs, while terraform was not a CRD controller, so the KubeVela community author a [terraform controller](https://github.com/kubevela/terraform-controller) for integration. You can choose any of them as you wish. + + +### What's the relationship between KubeVela and OAM? What will KubeVela mainly focus? + +* OAM(Open Application Model) is the model behind KubeVela, it provides a platform-agnostic application model including the best practices and methodology for different vendors to follow. The evolution of the model depends primarily on the practices of KubeVela currently. +* KubeVela is the control plane running on Kubernetes, it works as a CRD controller and brings OAM model into your Cloud Native PaaS along with lots of addon capabilities. KubeVela will mainly focus on application delivery, the goal is to make deploying and operating applications across today's hybrid, multi-cloud environments easier, faster and more reliable. diff --git a/i18n/zh/docusaurus-plugin-content-docs/current.json b/i18n/zh/docusaurus-plugin-content-docs/current.json index f1a4840f..ae331e00 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current.json +++ b/i18n/zh/docusaurus-plugin-content-docs/current.json @@ -305,5 +305,8 @@ }, "sidebar.docs.category.General CD Features": { "message": "通用功能" + }, + "sidebar.docs.category.UX Customization": { + "message": "定制 UI" } } \ No newline at end of file diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/developers/extensions/set-autoscale.md b/i18n/zh/docusaurus-plugin-content-docs/current/developers/extensions/set-autoscale.md index b9aa9b61..e1179ace 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/developers/extensions/set-autoscale.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/developers/extensions/set-autoscale.md @@ -23,7 +23,7 @@ Install auto-scaler trait controller with helm ```shell script helm install --create-namespace -n vela-system autoscalertrait oam.catalog/autoscalertrait -Autoscale depends on metrics server, please [enable it in your Kubernetes cluster](../references/devex/faq#autoscale-how-to-enable-metrics-server-in-various-kubernetes-clusters) at the beginning. +Autoscale depends on metrics server, please enable it in your Kubernetes cluster at the beginning. > Note: autoscale is one of the extension capabilities [installed from cap center](../cap-center), > please install it if you can't find it in `vela traits`. diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/developers/references/devex/faq.md b/i18n/zh/docusaurus-plugin-content-docs/current/developers/references/devex/faq.md deleted file mode 100644 index 91db96a2..00000000 --- a/i18n/zh/docusaurus-plugin-content-docs/current/developers/references/devex/faq.md +++ /dev/null @@ -1,305 +0,0 @@ ---- -title: FAQ ---- - -## 对比 X - -### KubeVela 和 Helm 有什么区别? - -KubeVela 是一个平台构建工具,用于创建基于 Kubernete 的易使用、可拓展的应用交付/管理系统。KubeVela 将 Helm 作为模板引擎和应用包的标准。但是 Helm 不是 KubeVela 唯一支持的模板模块。另一个同样最优先支持的是 CUE。 - -同时,KubeVela 被设计为 Kubernetes 的一个控制器(即工作在服务端),即使是其 Helm 部分,也会安装一个 Helm Operator。 - - -## 常见问题 - -### 目前 KubeVela 中使用的 Crossplane 云资源数量支持比较有限的,是否有计划加快开发、增加云资源数量? - -目前 KubeVela 支持 Crossplane 和 Terraform Controller 两种模式提供云资源,Terraform Controller 可以直接使用现成的 Terraform 模块,所以支持的云资源广度和数量都相对庞大,对于 Crossplane 不支持的云资源,可以考虑使用 Terraform Controller。目前 KubeVela 正在添加常用的云资源最佳实践用例,到 1.2 版本常用云资源都可以开箱即用。 - -另一方面,Crossplane 中 阿里云的云资源支持也是由 KubeVela 的维护团队在负责维护,我们也非常乐意支持比较常用的云资源,在 Crossplane 项目中做更精细化的支持,所以比较倾向于使用 Crossplane 的用户可以在社区提 Issue 表达诉求,我们会根据用户的意愿确定开发计划。 - -### Kubevela 未来具体要往哪个方向发展,是基于 GitOps 的 CD 工具,还是基于Workflow 的类似于 Tekton 或 Argo Worflow 这样的 Pipeline,还是重点在 OAM 的实现上? - -KubeVela 和 OAM 是一体的,OAM 是 KubeVela 背后的模型,随着 KubeVela 的演进,OAM 模型也会随之迭代发展。 - -从最开始我们提出 OAM 模型,希望能够通过关注点分离的理念,降低云原生应用管理的复杂度,到后来出现 KubeVela 开箱即用的应用管理引擎,再到 v1.1 发布了混合云应用交付功能和工作流引擎。KubeVela 和 OAM 要解决的问题一直都是“让云原生的应用交付和应用管理更简单”。 - -为了让云原生应用交付和管理更简单,我们需要标准化的模型,以应用为中心降低用户使用门槛和心智负担,同时支持工作流、多集群等技术,也是为了让应用交付可以更流畅、更高效、成本更低。整个理念和发展方向都是一致的。 - -整体来说:Kubevela 正在向一款:原生面向混合云环境,以应用为中心的发布流水线一体化平台演进。 - -### Error: unable to create new content in namespace cert-manager because it is being terminated - -你可能偶尔会碰到如下问题。它发生在上一个 KubeVele 版本没有删除完成时。 - -``` -$ vela install -- Installing Vela Core Chart: -install chart vela-core, version 0.1.0, desc : A Helm chart for Kube Vela core, contains 35 file -Failed to install the chart with error: serviceaccounts "cert-manager-cainjector" is forbidden: unable to create new content in namespace cert-manager because it is being terminated -failed to create resource -helm.sh/helm/v3/pkg/kube.(*Client).Update.func1 - /home/runner/go/pkg/mod/helm.sh/helm/v3@v3.2.4/pkg/kube/client.go:190 -... -Error: failed to create resource: serviceaccounts "cert-manager-cainjector" is forbidden: unable to create new content in namespace cert-manager because it is being terminated -``` - -稍事休息,然后在几秒内重试。 - -``` -$ vela install -- Installing Vela Core Chart: -Vela system along with OAM runtime already exist. -Automatically discover capabilities successfully ✅ Add(0) Update(0) Delete(8) - -TYPE CATEGORY DESCRIPTION --task workload One-off task to run a piece of code or script to completion --webservice workload Long-running scalable service with stable endpoint to receive external traffic --worker workload Long-running scalable backend worker without network endpoint --autoscale trait Automatically scale the app following certain triggers or metrics --metrics trait Configure metrics targets to be monitored for the app --rollout trait Configure canary deployment strategy to release the app --route trait Configure route policy to the app --scaler trait Manually scale the app - -- Finished successfully. -``` - -手动应用所有 WorkloadDefinition 和 TraitDefinition manifests 以恢复所有功能。 - -``` -$ kubectl apply -f charts/vela-core/templates/defwithtemplate -traitdefinition.core.oam.dev/autoscale created -traitdefinition.core.oam.dev/scaler created -traitdefinition.core.oam.dev/metrics created -traitdefinition.core.oam.dev/rollout created -traitdefinition.core.oam.dev/route created -workloaddefinition.core.oam.dev/task created -workloaddefinition.core.oam.dev/webservice created -workloaddefinition.core.oam.dev/worker created - -$ vela workloads -Automatically discover capabilities successfully ✅ Add(8) Update(0) Delete(0) - -TYPE CATEGORY DESCRIPTION -+task workload One-off task to run a piece of code or script to completion -+webservice workload Long-running scalable service with stable endpoint to receive external traffic -+worker workload Long-running scalable backend worker without network endpoint -+autoscale trait Automatically scale the app following certain triggers or metrics -+metrics trait Configure metrics targets to be monitored for the app -+rollout trait Configure canary deployment strategy to release the app -+route trait Configure route policy to the app -+scaler trait Manually scale the app - -NAME DESCRIPTION -task One-off task to run a piece of code or script to completion -webservice Long-running scalable service with stable endpoint to receive external traffic -worker Long-running scalable backend worker without network endpoint -``` - -### Error: ScopeDefinition exists - -你可能偶尔会碰到如下问题。它发生在存在一个老的 OAM Kubernetes Runtime 发行版时,或者你之前已经部署过 `ScopeDefinition` 。 - -``` -$ vela install - - Installing Vela Core Chart: - install chart vela-core, version 0.1.0, desc : A Helm chart for Kube Vela core, contains 35 file - Failed to install the chart with error: ScopeDefinition "healthscopes.core.oam.dev" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "kubevela": current value is "oam"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "vela-system": current value is "oam-system" - rendered manifests contain a resource that already exists. Unable to continue with install - helm.sh/helm/v3/pkg/action.(*Install).Run - /home/runner/go/pkg/mod/helm.sh/helm/v3@v3.2.4/pkg/action/install.go:274 - ... - Error: rendered manifests contain a resource that already exists. Unable to continue with install: ScopeDefinition "healthscopes.core.oam.dev" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "kubevela": current value is "oam"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "vela-system": current value is "oam-system" -``` - -删除 `ScopeDefinition` "healthscopes.core.oam.dev" 然后重试. - -``` -$ kubectl delete ScopeDefinition "healthscopes.core.oam.dev" -scopedefinition.core.oam.dev "healthscopes.core.oam.dev" deleted - -$ vela install -- Installing Vela Core Chart: -install chart vela-core, version 0.1.0, desc : A Helm chart for Kube Vela core, contains 35 file -Successfully installed the chart, status: deployed, last deployed time = 2020-12-03 16:26:41.491426 +0800 CST m=+4.026069452 -WARN: handle workload template `containerizedworkloads.core.oam.dev` failed: no template found, you will unable to use this workload capabilityWARN: handle trait template `manualscalertraits.core.oam.dev` failed -: no template found, you will unable to use this trait capabilityAutomatically discover capabilities successfully ✅ Add(8) Update(0) Delete(0) - -TYPE CATEGORY DESCRIPTION -+task workload One-off task to run a piece of code or script to completion -+webservice workload Long-running scalable service with stable endpoint to receive external traffic -+worker workload Long-running scalable backend worker without network endpoint -+autoscale trait Automatically scale the app following certain triggers or metrics -+metrics trait Configure metrics targets to be monitored for the app -+rollout trait Configure canary deployment strategy to release the app -+route trait Configure route policy to the app -+scaler trait Manually scale the app - -- Finished successfully. -``` - -### You have reached your pull rate limit - -当你查看 Pod kubevela-vela-core 的日志并发现如下问题时。 - -``` -$ kubectl get pod -n vela-system -l app.kubernetes.io/name=vela-core -NAME READY STATUS RESTARTS AGE -kubevela-vela-core-f8b987775-wjg25 0/1 - 0 35m -``` - ->Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by ->authenticating and upgrading: https://www.docker.com/increase-rate-limit - -你可以换成 github 的镜像仓库。 - -``` -$ docker pull ghcr.io/kubevela/kubevela/vela-core:latest -``` - -### Warning: Namespace cert-manager exists - -如果碰到以下问题,则可能存在一个 `cert-manager` 发行版,其 namespace 及 RBAC 相关资源与 KubeVela 存在冲突。 - -``` -$ vela install -- Installing Vela Core Chart: -install chart vela-core, version 0.1.0, desc : A Helm chart for Kube Vela core, contains 35 file -Failed to install the chart with error: Namespace "cert-manager" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "kubevela"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "vela-system" -rendered manifests contain a resource that already exists. Unable to continue with install -helm.sh/helm/v3/pkg/action.(*Install).Run - /home/runner/go/pkg/mod/helm.sh/helm/v3@v3.2.4/pkg/action/install.go:274 -... - /opt/hostedtoolcache/go/1.14.12/x64/src/runtime/asm_amd64.s:1373 -Error: rendered manifests contain a resource that already exists. Unable to continue with install: Namespace "cert-manager" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "kubevela"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "vela-system" -``` - -尝试如下步骤修复这个问题。 - -- 删除 `cert-manager` 发行版 -- 删除 `cert-manager` namespace -- 重装 KubeVela - -``` -$ helm delete cert-manager -n cert-manager -release "cert-manager" uninstalled - -$ kubectl delete ns cert-manager -namespace "cert-manager" deleted - -$ vela install -- Installing Vela Core Chart: -install chart vela-core, version 0.1.0, desc : A Helm chart for Kube Vela core, contains 35 file -Successfully installed the chart, status: deployed, last deployed time = 2020-12-04 10:46:46.782617 +0800 CST m=+4.248889379 -Automatically discover capabilities successfully ✅ (no changes) - -TYPE CATEGORY DESCRIPTION -task workload One-off task to run a piece of code or script to completion -webservice workload Long-running scalable service with stable endpoint to receive external traffic -worker workload Long-running scalable backend worker without network endpoint -autoscale trait Automatically scale the app following certain triggers or metrics -metrics trait Configure metrics targets to be monitored for the app -rollout trait Configure canary deployment strategy to release the app -route trait Configure route policy to the app -scaler trait Manually scale the app -- Finished successfully. -``` - -### 如何修复问题:MutatingWebhookConfiguration mutating-webhook-configuration exists? - -如果你部署的其他服务会安装 MutatingWebhookConfiguration mutating-webhook-configuration,则安装 KubeVela 时会碰到如下问题。 - -```shell -- Installing Vela Core Chart: -install chart vela-core, version v0.2.1, desc : A Helm chart for Kube Vela core, contains 36 file -Failed to install the chart with error: MutatingWebhookConfiguration "mutating-webhook-configuration" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "kubevela"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "vela-system" -rendered manifests contain a resource that already exists. Unable to continue with install -helm.sh/helm/v3/pkg/action.(*Install).Run - /home/runner/go/pkg/mod/helm.sh/helm/v3@v3.2.4/pkg/action/install.go:274 -github.com/kubevela/kubevela/pkg/commands.InstallOamRuntime - /home/runner/work/kubevela/kubevela/pkg/commands/system.go:259 -github.com/kubevela/kubevela/pkg/commands.(*initCmd).run - /home/runner/work/kubevela/kubevela/pkg/commands/system.go:162 -github.com/kubevela/kubevela/pkg/commands.NewInstallCommand.func2 - /home/runner/work/kubevela/kubevela/pkg/commands/system.go:119 -github.com/spf13/cobra.(*Command).execute - /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:850 -github.com/spf13/cobra.(*Command).ExecuteC - /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:958 -github.com/spf13/cobra.(*Command).Execute - /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:895 -main.main - /home/runner/work/kubevela/kubevela/references/cmd/cli/main.go:16 -runtime.main - /opt/hostedtoolcache/go/1.14.13/x64/src/runtime/proc.go:203 -runtime.goexit - /opt/hostedtoolcache/go/1.14.13/x64/src/runtime/asm_amd64.s:1373 -Error: rendered manifests contain a resource that already exists. Unable to continue with install: MutatingWebhookConfiguration "mutating-webhook-configuration" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "kubevela"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "vela-system" -``` - -要解决这个问题,请从 [KubeVela releases](https://github.com/kubevela/kubevela/releases) 将 KubeVela Cli `vela` 版本升级到 `v0.2.2` 以上。 - -## 运维 - -### Autoscale: 如何在多个 Kubernetes 集群上开启 metrics server ? - -运维 Autoscale 依赖 metrics server,所以它在许多集群中都是开启的。请通过命令 `kubectl top nodes` 或 `kubectl top pods` 检查 metrics server 是否开启。 - -如果输出如下相似内容,那么 metrics 已经开启。 - -```shell -$ kubectl top nodes -NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% -cn-hongkong.10.0.1.237 288m 7% 5378Mi 78% -cn-hongkong.10.0.1.238 351m 8% 5113Mi 74% - -$ kubectl top pods -NAME CPU(cores) MEMORY(bytes) -php-apache-65f444bf84-cjbs5 0m 1Mi -wordpress-55c59ccdd5-lf59d 1m 66Mi -``` - -或者需要在你的 kubernetes 集群中手动开启 metrics 。 - -- ACK (Alibaba Cloud Container Service for Kubernetes) - -Metrics server 已经开启。 - -- ASK (Alibaba Cloud Serverless Kubernetes) - -Metrics server 已经在如下 [Alibaba Cloud console](https://cs.console.aliyun.com/) `Operations/Add-ons` 部分开启。 - -![](../../../resources/install-metrics-server-in-ASK.jpg) - -如果你有更多问题,请访问 [metrics server 排错指导](https://help.aliyun.com/document_detail/176515.html) 。 - -- Kind - -使用如下命令安装 metrics server,或者可以安装 [最新版本](https://github.com/kubernetes-sigs/metrics-server#installation)。 - -```shell -$ kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml -``` - -并且在通过 `kubectl edit deploy -n kube-system metrics-server` 加载的 yaml 文件中 `.spec.template.spec.containers` 下增加如下部分。 - -注意:这里只是一个示例,而不是用于生产级别的使用。 - -``` -command: -- /metrics-server -- --kubelet-insecure-tls -``` - -- MiniKube - -使用如下命令开启。 - -```shell -$ minikube addons enable metrics-server -``` - - -享受在你的应用中 [设置 autoscale](../../extensions/set-autoscale)。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/platform-engineers/oam/oam-model.md b/i18n/zh/docusaurus-plugin-content-docs/current/platform-engineers/oam/oam-model.md index 22260087..27527f7a 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/platform-engineers/oam/oam-model.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/platform-engineers/oam/oam-model.md @@ -56,7 +56,7 @@ spec: 在实际使用时,用户通过上述 Application 对象来引用预置的组件、运维特征、应用策略、以及工作流节点模块,填写这些模块暴露的用户参数即可完成一次对应用交付的建模。 -> 注意:上诉可插拔模块在 OAM 中称为 X-Definitions,Application 对象负责引用 X-Definitions 并对用户输入进行校验,而各模块具体的可填写参数则是约束在相应的 X-Definition 文件当中的。具体请参考: [模块定义(X-Definition)](./x-definition) 章节。 +> 注意:上诉可插拔模块在 OAM 中称为 X-Definitions,Application 对象负责引用 X-Definitions 并对用户输入进行校验,而各模块具体的可填写参数则是约束在相应的 X-Definition 文件当中的。具体请参考: [模块定义(Definition)](./x-definition) 章节。 ## 组件(Component) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/platform-engineers/oam/x-definition.md b/i18n/zh/docusaurus-plugin-content-docs/current/platform-engineers/oam/x-definition.md index b6b16ef0..26f0c92e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/platform-engineers/oam/x-definition.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/platform-engineers/oam/x-definition.md @@ -1,5 +1,5 @@ --- -title: 模块定义(X-Definition) +title: 模块定义(Definition) --- KubeVela 是完全可编程的,它可以轻松的根据你的需求实现原地定制和扩展。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-v1.3.json b/i18n/zh/docusaurus-plugin-content-docs/version-v1.3.json index 8633e66c..97f0ecd4 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-v1.3.json +++ b/i18n/zh/docusaurus-plugin-content-docs/version-v1.3.json @@ -11,7 +11,7 @@ "message": "核心概念", "description": "The label for Core Concepts in sidebar docs" }, - "sidebar.docs.category.Learning CUE": { + "sidebar.docs.category.CUE in KubeVela": { "message": "CUE 语言", "description": "The label for category Learning CUE in sidebar docs" }, @@ -35,13 +35,13 @@ "message": "实践实验室", "description": "The label for category Hands-on Lab in sidebar docs" }, - "sidebar.docs.category.Appfile": { - "message": "Appfile", - "description": "The label for category Appfile in sidebar docs" + "sidebar.docs.category.Authentication and Authorization": { + "message": "认证和授权", + "description": "The label for category Authentication and Authorization in sidebar docs" }, - "sidebar.docs.category.Roadmap": { - "message": "路线规划", - "description": "KubeVela 未来的发展计划" + "sidebar.docs.category.Conventions": { + "message": "开发规约", + "description": "KubeVela developer Conventions" }, "sidebar.docs.category.Application Deployment": { "message": "Application Deployment", @@ -99,6 +99,10 @@ "message": "工作流系统", "description": "The label for category Workflow System in sidebar docs" }, + "sidebar.docs.category.Patch and Override": { + "message": "配置覆盖", + "description": "The label for category Patch and Override in sidebar docs" + }, "sidebar.docs.category.Operator Manual": { "message": "运维手册", "description": "The label for category Operator Manual in sidebar docs" @@ -159,8 +163,8 @@ "message": "调试指南", "description": "The label for category Debugging in sidebar docs" }, - "sidebar.docs.category.Extension": { - "message": "平台扩展", + "sidebar.docs.category.Contribute Extension": { + "message": "贡献平台扩展", "description": "平台扩展参考文档" }, "sidebar.docs.category.Simple Template": { @@ -203,16 +207,16 @@ "message": "触发器管理", "description": "通过 Dashboard 对应用触发器的管理操作说明" }, - "sidebar.docs.category.Manage integration configs": { + "sidebar.docs.category.Manage Config of Integration": { "message": "集成配置管理", "description": "外部系统集成相关配置的管理说明" }, - "sidebar.docs.category.Manage resource": { + "sidebar.docs.category.Cluster Management": { "message": "资源管理", "description": "管理集群和交付目标等资源" }, - "sidebar.docs.category.Built-in Addons": { - "message": "内置插件", + "sidebar.docs.category.Official Addons": { + "message": "官方插件", "description": "内置插件说明" }, "sidebar.docs.category.Cloud Resources": { @@ -251,13 +255,9 @@ "message": "其他高级功能", "description": "其他高级功能" }, - "sidebar.docs.category.Core Concepts": { - "message": "核心概念", - "description": "Basic information" - }, - "sidebar.docs.category.Deploy with more workload type": { - "message": "更多组件类型", - "description": "非常用的组件类型" + "sidebar.docs.category.Artifacts": { + "message": "交付制品", + "description": "多样化交付制品" }, "sidebar.docs.category.User Guide": { "message": "用户手册", @@ -274,5 +274,36 @@ "sidebar.docs.category.How-to manage the applications": { "message": "应用基础管理", "description": "提供基础管理能力说明" + }, + "sidebar.docs.category.CI Integration": { + "message": "CI 集成", + "description": "CI 集成" + }, + "sidebar.docs.category.Developer Guide": { + "message": "开发者手册", + "description": "developer guide for sidebar" + }, + "sidebar.docs.category.User Management": { + "message": "用户管理", + "description": "User management for sidebar" + }, + "sidebar.docs.category.Advanced Installation": { + "message": "高级安装", + "description": "Advanced Installation for sidebar" + }, + "sidebar.docs.category.Helm Chart CD": { + "message": "Helm Chart 交付" + }, + "sidebar.docs.category.Container Image CD": { + "message": "容器镜像交付" + }, + "sidebar.docs.category.Cloud Resources CD": { + "message": "云资源交付" + }, + "sidebar.docs.category.Kubernetes Manifest CD": { + "message": "Kubernetes 资源交付" + }, + "sidebar.docs.category.General CD Features": { + "message": "通用功能" } } \ No newline at end of file diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-v1.4.json b/i18n/zh/docusaurus-plugin-content-docs/version-v1.4.json new file mode 100644 index 00000000..ecc4b3a1 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/version-v1.4.json @@ -0,0 +1,312 @@ +{ + "version.label": { + "message": "v1.4", + "description": "The label for version current" + }, + "sidebar.docs.category.Getting Started": { + "message": "快速开始", + "description": "The label for category Getting Started in sidebar docs" + }, + "sidebar.docs.category.Core Concepts": { + "message": "核心概念", + "description": "The label for Core Concepts in sidebar docs" + }, + "sidebar.docs.category.CUE in KubeVela": { + "message": "CUE 语言", + "description": "The label for category Learning CUE in sidebar docs" + }, + "sidebar.docs.category.Helm": { + "message": "Helm", + "description": "The label for category Helm in sidebar docs" + }, + "sidebar.docs.category.Raw Template": { + "message": "Raw Template", + "description": "The label for category Raw Template in sidebar docs" + }, + "sidebar.docs.category.Traits System": { + "message": "运维特征系统", + "description": "The label for category Traits System in sidebar docs" + }, + "sidebar.docs.category.Defining Cloud Service": { + "message": "定义 Cloud Service", + "description": "The label for category Defining Cloud Service in sidebar docs" + }, + "sidebar.docs.category.Hands-on Lab": { + "message": "实践实验室", + "description": "The label for category Hands-on Lab in sidebar docs" + }, + "sidebar.docs.category.Authentication and Authorization": { + "message": "认证和授权", + "description": "The label for category Authentication and Authorization in sidebar docs" + }, + "sidebar.docs.category.Conventions": { + "message": "开发规约", + "description": "KubeVela developer Conventions" + }, + "sidebar.docs.category.Application Deployment": { + "message": "Application Deployment", + "description": "The label for category Application Deployment in sidebar docs" + }, + "sidebar.docs.category.More Operations": { + "message": "更多操作", + "description": "The label for category More Operations in sidebar docs" + }, + "sidebar.docs.category.Platform Operation Guide": { + "message": "Platform Operation Guide", + "description": "The label for category Platform Operation Guide in sidebar docs" + }, + "sidebar.docs.category.Using KubeVela CLI": { + "message": "使用命令行工具", + "description": "The label for category Using KubeVela CLI in sidebar docs" + }, + "sidebar.docs.category.Managing Applications": { + "message": "管理应用", + "description": "The label for category Managing Applications in sidebar docs" + }, + "sidebar.docs.category.References": { + "message": "参考", + "description": "The label for category References in sidebar docs" + }, + "sidebar.docs.category.Learning OAM": { + "message": "开放应用模型", + "description": "The label for category Learning OAM in sidebar docs" + }, + "sidebar.docs.category.Environment System": { + "message": "交付环境系统", + "description": "The label for category Environment System in sidebar docs" + }, + "sidebar.docs.category.Designing Workflow": { + "message": "设计交付工作流", + "description": "The label for category Workflow End User in sidebar docs" + }, + "sidebar.docs.category.Install": { + "message": "安装", + "description": "The label for category Install in sidebar docs" + }, + "sidebar.docs.doc.Deliver First Application": { + "message": "交付第一个应用", + "description": "The label for doc deliver-first-app in sidebar docs" + }, + "sidebar.docs.category.Continuous Delivery": { + "message": "持续交付", + "description": "The label for category Continuous Delivery in sidebar docs" + }, + "sidebar.docs.category.Manage Your Application": { + "message": "管理你的应用", + "description": "The label for category Manage Your Application in sidebar docs" + }, + "sidebar.docs.category.Workflow System": { + "message": "工作流系统", + "description": "The label for category Workflow System in sidebar docs" + }, + "sidebar.docs.category.Patch and Override": { + "message": "配置覆盖", + "description": "The label for category Patch and Override in sidebar docs" + }, + "sidebar.docs.category.Operator Manual": { + "message": "运维手册", + "description": "The label for category Operator Manual in sidebar docs" + }, + "sidebar.docs.category.Customize Traits": { + "message": "自定义运维特征", + "description": "The label for category Customize Traits in sidebar docs" + }, + "sidebar.docs.category.Customize Components": { + "message": "自定义组件", + "description": "The label for category Customize Traits in sidebar docs" + }, + "sidebar.docs.category.CLI": { + "message": "CLI 命令行", + "description": "The label for category CLI in sidebar docs" + }, + "sidebar.docs.category.Capabilities": { + "message": "Capabilities", + "description": "The label for category Capabilities in sidebar docs" + }, + "sidebar.docs.category.Appendix": { + "message": "附录", + "description": "The label for category Appendix in sidebar docs" + }, + "sidebar.docs.category.Component System": { + "message": "组件系统", + "description": "The label for category Component System in sidebar docs" + }, + "sidebar.docs.category.Vela CLI Manuals": { + "message": "Vela CLI 手册", + "description": "The label for category Vela CLI Manuals in sidebar docs" + }, + "sidebar.docs.category.Deploying Components": { + "message": "选择待交付组件", + "description": "The label for category Components in sidebar docs" + }, + "sidebar.docs.category.Attaching Traits": { + "message": "绑定运维特征", + "description": "The label for category Traits in sidebar docs" + }, + "sidebar.docs.category.Defining Policies": { + "message": "设定应用策略", + "description": "The label for category Policies in sidebar docs" + }, + "sidebar.docs.category.Best Practices": { + "message": "最佳实践", + "description": "The label for category case studies in sidebar docs" + }, + "sidebar.docs.category.Observability": { + "message": "新增可观测性", + "description": "The label for category Observability in sidebar docs" + }, + "sidebar.docs.category.Scaling": { + "message": "扩缩容", + "description": "The label for category Scaler in sidebar docs" + }, + "sidebar.docs.category.Debugging": { + "message": "调试指南", + "description": "The label for category Debugging in sidebar docs" + }, + "sidebar.docs.category.Contribute Extension": { + "message": "贡献平台扩展", + "description": "平台扩展参考文档" + }, + "sidebar.docs.category.Simple Template": { + "message": "Simple Template", + "description": "The label for category Simple Template in sidebar docs" + }, + "sidebar.docs.category.Cloud Services": { + "message": "云服务组件", + "description": "The label for category Cloud Services in sidebar docs" + }, + "sidebar.docs.category.CUE": { + "message": "CUE 组件", + "description": "The label for category CUE Components in sidebar docs" + }, + "sidebar.docs.category.Addons": { + "message": "插件系统", + "description": "The extended add-ons" + }, + "sidebar.docs.category.Tutorials": { + "message": "实践教程", + "description": "KubeVela 实践教程" + }, + "sidebar.docs.category.How-to Guides": { + "message": "操作手册", + "description": "CLI 和 Dashboard 的操作指导手册" + }, + "sidebar.docs.category.Deploy applications": { + "message": "交付应用", + "description": "通过 Dashboard 对应用的管理操作说明" + }, + "sidebar.docs.category.Manage traits": { + "message": "运维特征管理", + "description": "通过 Dashboard 对应用的运维特征管理操作说明" + }, + "sidebar.docs.category.Manage workflows": { + "message": "工作流管理", + "description": "通过 Dashboard 对应用的工作流管理操作说明" + }, + "sidebar.docs.category.Manage triggers": { + "message": "触发器管理", + "description": "通过 Dashboard 对应用触发器的管理操作说明" + }, + "sidebar.docs.category.Manage Config of Integration": { + "message": "集成配置管理", + "description": "外部系统集成相关配置的管理说明" + }, + "sidebar.docs.category.Cluster Management": { + "message": "资源管理", + "description": "管理集群和交付目标等资源" + }, + "sidebar.docs.category.Official Addons": { + "message": "官方插件", + "description": "内置插件说明" + }, + "sidebar.docs.category.Cloud Resources": { + "message": "云资源", + "description": "云资源" + }, + "sidebar.docs.category.Supported Cloud Resource": { + "message": "支持的云资源", + "description": "支持的云资源列表" + }, + "sidebar.docs.category.Built-in Component Type": { + "message": "内置组件", + "description": "内置组件列表" + }, + "sidebar.docs.category.Built-in Trait Type": { + "message": "内置运维特征", + "description": "内置运维特征列表" + }, + "sidebar.docs.category.Built-in Policy Type": { + "message": "内置策略", + "description": "内置策略列表" + }, + "sidebar.docs.category.Custom Addons": { + "message": "自定义插件", + "description": "自定义插件" + }, + "sidebar.docs.category.Multi-Cluster Delivery": { + "message": "多集群交付", + "description": "多集群交付" + }, + "sidebar.docs.category.Day-2 Operations": { + "message": "应用运维", + "description": "应用运维" + }, + "sidebar.docs.category.Advanced Features": { + "message": "其他高级功能", + "description": "其他高级功能" + }, + "sidebar.docs.category.Artifacts": { + "message": "交付制品", + "description": "多样化交付制品" + }, + "sidebar.docs.category.User Guide": { + "message": "用户手册", + "description": "引导用户学习使用 KubeVela 各项特性" + }, + "sidebar.docs.category.Install or upgrade": { + "message": "平台安装或升级手册", + "description": "详细解读平台的各种部署方式" + }, + "sidebar.docs.category.How-to manage the cloud resources": { + "message": "云服务管理", + "description": "提供云服务的使用和管理相关能力说明" + }, + "sidebar.docs.category.How-to manage the applications": { + "message": "应用基础管理", + "description": "提供基础管理能力说明" + }, + "sidebar.docs.category.CI Integration": { + "message": "CI 集成", + "description": "CI 集成" + }, + "sidebar.docs.category.Developer Guide": { + "message": "开发者手册", + "description": "developer guide for sidebar" + }, + "sidebar.docs.category.User Management": { + "message": "用户管理", + "description": "User management for sidebar" + }, + "sidebar.docs.category.Advanced Installation": { + "message": "高级安装", + "description": "Advanced Installation for sidebar" + }, + "sidebar.docs.category.Helm Chart CD": { + "message": "Helm Chart 交付" + }, + "sidebar.docs.category.Container Image CD": { + "message": "容器镜像交付" + }, + "sidebar.docs.category.Cloud Resources CD": { + "message": "云资源交付" + }, + "sidebar.docs.category.Kubernetes Manifest CD": { + "message": "Kubernetes 资源交付" + }, + "sidebar.docs.category.General CD Features": { + "message": "通用功能" + }, + "sidebar.docs.category.UX Customization": { + "message": "定制 UI" + } +} \ No newline at end of file diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/developers/extensions/set-autoscale.md b/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/developers/extensions/set-autoscale.md index b9aa9b61..e1179ace 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/developers/extensions/set-autoscale.md +++ b/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/developers/extensions/set-autoscale.md @@ -23,7 +23,7 @@ Install auto-scaler trait controller with helm ```shell script helm install --create-namespace -n vela-system autoscalertrait oam.catalog/autoscalertrait -Autoscale depends on metrics server, please [enable it in your Kubernetes cluster](../references/devex/faq#autoscale-how-to-enable-metrics-server-in-various-kubernetes-clusters) at the beginning. +Autoscale depends on metrics server, please enable it in your Kubernetes cluster at the beginning. > Note: autoscale is one of the extension capabilities [installed from cap center](../cap-center), > please install it if you can't find it in `vela traits`. diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/developers/references/devex/faq.md b/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/developers/references/devex/faq.md deleted file mode 100644 index 91db96a2..00000000 --- a/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/developers/references/devex/faq.md +++ /dev/null @@ -1,305 +0,0 @@ ---- -title: FAQ ---- - -## 对比 X - -### KubeVela 和 Helm 有什么区别? - -KubeVela 是一个平台构建工具,用于创建基于 Kubernete 的易使用、可拓展的应用交付/管理系统。KubeVela 将 Helm 作为模板引擎和应用包的标准。但是 Helm 不是 KubeVela 唯一支持的模板模块。另一个同样最优先支持的是 CUE。 - -同时,KubeVela 被设计为 Kubernetes 的一个控制器(即工作在服务端),即使是其 Helm 部分,也会安装一个 Helm Operator。 - - -## 常见问题 - -### 目前 KubeVela 中使用的 Crossplane 云资源数量支持比较有限的,是否有计划加快开发、增加云资源数量? - -目前 KubeVela 支持 Crossplane 和 Terraform Controller 两种模式提供云资源,Terraform Controller 可以直接使用现成的 Terraform 模块,所以支持的云资源广度和数量都相对庞大,对于 Crossplane 不支持的云资源,可以考虑使用 Terraform Controller。目前 KubeVela 正在添加常用的云资源最佳实践用例,到 1.2 版本常用云资源都可以开箱即用。 - -另一方面,Crossplane 中 阿里云的云资源支持也是由 KubeVela 的维护团队在负责维护,我们也非常乐意支持比较常用的云资源,在 Crossplane 项目中做更精细化的支持,所以比较倾向于使用 Crossplane 的用户可以在社区提 Issue 表达诉求,我们会根据用户的意愿确定开发计划。 - -### Kubevela 未来具体要往哪个方向发展,是基于 GitOps 的 CD 工具,还是基于Workflow 的类似于 Tekton 或 Argo Worflow 这样的 Pipeline,还是重点在 OAM 的实现上? - -KubeVela 和 OAM 是一体的,OAM 是 KubeVela 背后的模型,随着 KubeVela 的演进,OAM 模型也会随之迭代发展。 - -从最开始我们提出 OAM 模型,希望能够通过关注点分离的理念,降低云原生应用管理的复杂度,到后来出现 KubeVela 开箱即用的应用管理引擎,再到 v1.1 发布了混合云应用交付功能和工作流引擎。KubeVela 和 OAM 要解决的问题一直都是“让云原生的应用交付和应用管理更简单”。 - -为了让云原生应用交付和管理更简单,我们需要标准化的模型,以应用为中心降低用户使用门槛和心智负担,同时支持工作流、多集群等技术,也是为了让应用交付可以更流畅、更高效、成本更低。整个理念和发展方向都是一致的。 - -整体来说:Kubevela 正在向一款:原生面向混合云环境,以应用为中心的发布流水线一体化平台演进。 - -### Error: unable to create new content in namespace cert-manager because it is being terminated - -你可能偶尔会碰到如下问题。它发生在上一个 KubeVele 版本没有删除完成时。 - -``` -$ vela install -- Installing Vela Core Chart: -install chart vela-core, version 0.1.0, desc : A Helm chart for Kube Vela core, contains 35 file -Failed to install the chart with error: serviceaccounts "cert-manager-cainjector" is forbidden: unable to create new content in namespace cert-manager because it is being terminated -failed to create resource -helm.sh/helm/v3/pkg/kube.(*Client).Update.func1 - /home/runner/go/pkg/mod/helm.sh/helm/v3@v3.2.4/pkg/kube/client.go:190 -... -Error: failed to create resource: serviceaccounts "cert-manager-cainjector" is forbidden: unable to create new content in namespace cert-manager because it is being terminated -``` - -稍事休息,然后在几秒内重试。 - -``` -$ vela install -- Installing Vela Core Chart: -Vela system along with OAM runtime already exist. -Automatically discover capabilities successfully ✅ Add(0) Update(0) Delete(8) - -TYPE CATEGORY DESCRIPTION --task workload One-off task to run a piece of code or script to completion --webservice workload Long-running scalable service with stable endpoint to receive external traffic --worker workload Long-running scalable backend worker without network endpoint --autoscale trait Automatically scale the app following certain triggers or metrics --metrics trait Configure metrics targets to be monitored for the app --rollout trait Configure canary deployment strategy to release the app --route trait Configure route policy to the app --scaler trait Manually scale the app - -- Finished successfully. -``` - -手动应用所有 WorkloadDefinition 和 TraitDefinition manifests 以恢复所有功能。 - -``` -$ kubectl apply -f charts/vela-core/templates/defwithtemplate -traitdefinition.core.oam.dev/autoscale created -traitdefinition.core.oam.dev/scaler created -traitdefinition.core.oam.dev/metrics created -traitdefinition.core.oam.dev/rollout created -traitdefinition.core.oam.dev/route created -workloaddefinition.core.oam.dev/task created -workloaddefinition.core.oam.dev/webservice created -workloaddefinition.core.oam.dev/worker created - -$ vela workloads -Automatically discover capabilities successfully ✅ Add(8) Update(0) Delete(0) - -TYPE CATEGORY DESCRIPTION -+task workload One-off task to run a piece of code or script to completion -+webservice workload Long-running scalable service with stable endpoint to receive external traffic -+worker workload Long-running scalable backend worker without network endpoint -+autoscale trait Automatically scale the app following certain triggers or metrics -+metrics trait Configure metrics targets to be monitored for the app -+rollout trait Configure canary deployment strategy to release the app -+route trait Configure route policy to the app -+scaler trait Manually scale the app - -NAME DESCRIPTION -task One-off task to run a piece of code or script to completion -webservice Long-running scalable service with stable endpoint to receive external traffic -worker Long-running scalable backend worker without network endpoint -``` - -### Error: ScopeDefinition exists - -你可能偶尔会碰到如下问题。它发生在存在一个老的 OAM Kubernetes Runtime 发行版时,或者你之前已经部署过 `ScopeDefinition` 。 - -``` -$ vela install - - Installing Vela Core Chart: - install chart vela-core, version 0.1.0, desc : A Helm chart for Kube Vela core, contains 35 file - Failed to install the chart with error: ScopeDefinition "healthscopes.core.oam.dev" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "kubevela": current value is "oam"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "vela-system": current value is "oam-system" - rendered manifests contain a resource that already exists. Unable to continue with install - helm.sh/helm/v3/pkg/action.(*Install).Run - /home/runner/go/pkg/mod/helm.sh/helm/v3@v3.2.4/pkg/action/install.go:274 - ... - Error: rendered manifests contain a resource that already exists. Unable to continue with install: ScopeDefinition "healthscopes.core.oam.dev" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "kubevela": current value is "oam"; annotation validation error: key "meta.helm.sh/release-namespace" must equal "vela-system": current value is "oam-system" -``` - -删除 `ScopeDefinition` "healthscopes.core.oam.dev" 然后重试. - -``` -$ kubectl delete ScopeDefinition "healthscopes.core.oam.dev" -scopedefinition.core.oam.dev "healthscopes.core.oam.dev" deleted - -$ vela install -- Installing Vela Core Chart: -install chart vela-core, version 0.1.0, desc : A Helm chart for Kube Vela core, contains 35 file -Successfully installed the chart, status: deployed, last deployed time = 2020-12-03 16:26:41.491426 +0800 CST m=+4.026069452 -WARN: handle workload template `containerizedworkloads.core.oam.dev` failed: no template found, you will unable to use this workload capabilityWARN: handle trait template `manualscalertraits.core.oam.dev` failed -: no template found, you will unable to use this trait capabilityAutomatically discover capabilities successfully ✅ Add(8) Update(0) Delete(0) - -TYPE CATEGORY DESCRIPTION -+task workload One-off task to run a piece of code or script to completion -+webservice workload Long-running scalable service with stable endpoint to receive external traffic -+worker workload Long-running scalable backend worker without network endpoint -+autoscale trait Automatically scale the app following certain triggers or metrics -+metrics trait Configure metrics targets to be monitored for the app -+rollout trait Configure canary deployment strategy to release the app -+route trait Configure route policy to the app -+scaler trait Manually scale the app - -- Finished successfully. -``` - -### You have reached your pull rate limit - -当你查看 Pod kubevela-vela-core 的日志并发现如下问题时。 - -``` -$ kubectl get pod -n vela-system -l app.kubernetes.io/name=vela-core -NAME READY STATUS RESTARTS AGE -kubevela-vela-core-f8b987775-wjg25 0/1 - 0 35m -``` - ->Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by ->authenticating and upgrading: https://www.docker.com/increase-rate-limit - -你可以换成 github 的镜像仓库。 - -``` -$ docker pull ghcr.io/kubevela/kubevela/vela-core:latest -``` - -### Warning: Namespace cert-manager exists - -如果碰到以下问题,则可能存在一个 `cert-manager` 发行版,其 namespace 及 RBAC 相关资源与 KubeVela 存在冲突。 - -``` -$ vela install -- Installing Vela Core Chart: -install chart vela-core, version 0.1.0, desc : A Helm chart for Kube Vela core, contains 35 file -Failed to install the chart with error: Namespace "cert-manager" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "kubevela"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "vela-system" -rendered manifests contain a resource that already exists. Unable to continue with install -helm.sh/helm/v3/pkg/action.(*Install).Run - /home/runner/go/pkg/mod/helm.sh/helm/v3@v3.2.4/pkg/action/install.go:274 -... - /opt/hostedtoolcache/go/1.14.12/x64/src/runtime/asm_amd64.s:1373 -Error: rendered manifests contain a resource that already exists. Unable to continue with install: Namespace "cert-manager" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "kubevela"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "vela-system" -``` - -尝试如下步骤修复这个问题。 - -- 删除 `cert-manager` 发行版 -- 删除 `cert-manager` namespace -- 重装 KubeVela - -``` -$ helm delete cert-manager -n cert-manager -release "cert-manager" uninstalled - -$ kubectl delete ns cert-manager -namespace "cert-manager" deleted - -$ vela install -- Installing Vela Core Chart: -install chart vela-core, version 0.1.0, desc : A Helm chart for Kube Vela core, contains 35 file -Successfully installed the chart, status: deployed, last deployed time = 2020-12-04 10:46:46.782617 +0800 CST m=+4.248889379 -Automatically discover capabilities successfully ✅ (no changes) - -TYPE CATEGORY DESCRIPTION -task workload One-off task to run a piece of code or script to completion -webservice workload Long-running scalable service with stable endpoint to receive external traffic -worker workload Long-running scalable backend worker without network endpoint -autoscale trait Automatically scale the app following certain triggers or metrics -metrics trait Configure metrics targets to be monitored for the app -rollout trait Configure canary deployment strategy to release the app -route trait Configure route policy to the app -scaler trait Manually scale the app -- Finished successfully. -``` - -### 如何修复问题:MutatingWebhookConfiguration mutating-webhook-configuration exists? - -如果你部署的其他服务会安装 MutatingWebhookConfiguration mutating-webhook-configuration,则安装 KubeVela 时会碰到如下问题。 - -```shell -- Installing Vela Core Chart: -install chart vela-core, version v0.2.1, desc : A Helm chart for Kube Vela core, contains 36 file -Failed to install the chart with error: MutatingWebhookConfiguration "mutating-webhook-configuration" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "kubevela"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "vela-system" -rendered manifests contain a resource that already exists. Unable to continue with install -helm.sh/helm/v3/pkg/action.(*Install).Run - /home/runner/go/pkg/mod/helm.sh/helm/v3@v3.2.4/pkg/action/install.go:274 -github.com/kubevela/kubevela/pkg/commands.InstallOamRuntime - /home/runner/work/kubevela/kubevela/pkg/commands/system.go:259 -github.com/kubevela/kubevela/pkg/commands.(*initCmd).run - /home/runner/work/kubevela/kubevela/pkg/commands/system.go:162 -github.com/kubevela/kubevela/pkg/commands.NewInstallCommand.func2 - /home/runner/work/kubevela/kubevela/pkg/commands/system.go:119 -github.com/spf13/cobra.(*Command).execute - /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:850 -github.com/spf13/cobra.(*Command).ExecuteC - /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:958 -github.com/spf13/cobra.(*Command).Execute - /home/runner/go/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:895 -main.main - /home/runner/work/kubevela/kubevela/references/cmd/cli/main.go:16 -runtime.main - /opt/hostedtoolcache/go/1.14.13/x64/src/runtime/proc.go:203 -runtime.goexit - /opt/hostedtoolcache/go/1.14.13/x64/src/runtime/asm_amd64.s:1373 -Error: rendered manifests contain a resource that already exists. Unable to continue with install: MutatingWebhookConfiguration "mutating-webhook-configuration" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "kubevela"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "vela-system" -``` - -要解决这个问题,请从 [KubeVela releases](https://github.com/kubevela/kubevela/releases) 将 KubeVela Cli `vela` 版本升级到 `v0.2.2` 以上。 - -## 运维 - -### Autoscale: 如何在多个 Kubernetes 集群上开启 metrics server ? - -运维 Autoscale 依赖 metrics server,所以它在许多集群中都是开启的。请通过命令 `kubectl top nodes` 或 `kubectl top pods` 检查 metrics server 是否开启。 - -如果输出如下相似内容,那么 metrics 已经开启。 - -```shell -$ kubectl top nodes -NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% -cn-hongkong.10.0.1.237 288m 7% 5378Mi 78% -cn-hongkong.10.0.1.238 351m 8% 5113Mi 74% - -$ kubectl top pods -NAME CPU(cores) MEMORY(bytes) -php-apache-65f444bf84-cjbs5 0m 1Mi -wordpress-55c59ccdd5-lf59d 1m 66Mi -``` - -或者需要在你的 kubernetes 集群中手动开启 metrics 。 - -- ACK (Alibaba Cloud Container Service for Kubernetes) - -Metrics server 已经开启。 - -- ASK (Alibaba Cloud Serverless Kubernetes) - -Metrics server 已经在如下 [Alibaba Cloud console](https://cs.console.aliyun.com/) `Operations/Add-ons` 部分开启。 - -![](../../../resources/install-metrics-server-in-ASK.jpg) - -如果你有更多问题,请访问 [metrics server 排错指导](https://help.aliyun.com/document_detail/176515.html) 。 - -- Kind - -使用如下命令安装 metrics server,或者可以安装 [最新版本](https://github.com/kubernetes-sigs/metrics-server#installation)。 - -```shell -$ kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml -``` - -并且在通过 `kubectl edit deploy -n kube-system metrics-server` 加载的 yaml 文件中 `.spec.template.spec.containers` 下增加如下部分。 - -注意:这里只是一个示例,而不是用于生产级别的使用。 - -``` -command: -- /metrics-server -- --kubelet-insecure-tls -``` - -- MiniKube - -使用如下命令开启。 - -```shell -$ minikube addons enable metrics-server -``` - - -享受在你的应用中 [设置 autoscale](../../extensions/set-autoscale)。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/platform-engineers/oam/oam-model.md b/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/platform-engineers/oam/oam-model.md index 22260087..27527f7a 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/platform-engineers/oam/oam-model.md +++ b/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/platform-engineers/oam/oam-model.md @@ -56,7 +56,7 @@ spec: 在实际使用时,用户通过上述 Application 对象来引用预置的组件、运维特征、应用策略、以及工作流节点模块,填写这些模块暴露的用户参数即可完成一次对应用交付的建模。 -> 注意:上诉可插拔模块在 OAM 中称为 X-Definitions,Application 对象负责引用 X-Definitions 并对用户输入进行校验,而各模块具体的可填写参数则是约束在相应的 X-Definition 文件当中的。具体请参考: [模块定义(X-Definition)](./x-definition) 章节。 +> 注意:上诉可插拔模块在 OAM 中称为 X-Definitions,Application 对象负责引用 X-Definitions 并对用户输入进行校验,而各模块具体的可填写参数则是约束在相应的 X-Definition 文件当中的。具体请参考: [模块定义(Definition)](./x-definition) 章节。 ## 组件(Component) diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/platform-engineers/oam/x-definition.md b/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/platform-engineers/oam/x-definition.md index b6b16ef0..26f0c92e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/platform-engineers/oam/x-definition.md +++ b/i18n/zh/docusaurus-plugin-content-docs/version-v1.4/platform-engineers/oam/x-definition.md @@ -1,5 +1,5 @@ --- -title: 模块定义(X-Definition) +title: 模块定义(Definition) --- KubeVela 是完全可编程的,它可以轻松的根据你的需求实现原地定制和扩展。 diff --git a/versioned_docs/version-v1.4/developers/references/devex/faq.md b/versioned_docs/version-v1.4/developers/references/devex/faq.md index 4eedd40a..b5dee3b7 100644 --- a/versioned_docs/version-v1.4/developers/references/devex/faq.md +++ b/versioned_docs/version-v1.4/developers/references/devex/faq.md @@ -6,9 +6,25 @@ title: FAQ Refer to the [comparison details](https://kubevela.io/docs/#kubevela-vs-other-software). -## You have reached your pull rate limit +## You have reached rate limit for Docker Image Registry -When you look into the logs of Pod kubevela-vela-core and found the issue as below. +By default, the community use images from docker registry for installation. You can use the following alternatives: + +1. You can use github container registry, check the [list of official images](https://github.com/orgs/kubevela/packages) for more details. Use it like: + +``` +docker pull ghcr.io/kubevela/kubevela/vela-core:latest +``` + +2. Alibaba Container Registry also sponsor KubeVela community, you can use `acr.kubevela.net/` as prefix, acr has a sync for each KubeVela official images. Use it like: + +``` +docker pull acr.kubevela.net/oamdev/vela-core:latest +``` + +* You can check if the error occurs by: + +Check the logs of Pod kubevela-vela-core and found the issue as below. ``` kubectl get pod -n vela-system -l app.kubernetes.io/name=vela-core @@ -27,4 +43,13 @@ You can use github container registry instead. docker pull ghcr.io/kubevela/kubevela/vela-core:latest ``` +## Do yo support Crossplane, what's the difference between terraform and corssplane in KubeVela? + +KubeVela natively support Crossplane as they're already CRDs, while terraform was not a CRD controller, so the KubeVela community author a [terraform controller](https://github.com/kubevela/terraform-controller) for integration. You can choose any of them as you wish. + + +### What's the relationship between KubeVela and OAM? What will KubeVela mainly focus? + +* OAM(Open Application Model) is the model behind KubeVela, it provides a platform-agnostic application model including the best practices and methodology for different vendors to follow. The evolution of the model depends primarily on the practices of KubeVela currently. +* KubeVela is the control plane running on Kubernetes, it works as a CRD controller and brings OAM model into your Cloud Native PaaS along with lots of addon capabilities. KubeVela will mainly focus on application delivery, the goal is to make deploying and operating applications across today's hybrid, multi-cloud environments easier, faster and more reliable.