版本:v1.3
交付第一个应用
开始之前,请确认你已完成 KubeVela 的安装,参考 安装指导文档
欢迎使用 KubeVela, 在该章节中你可以学习到使用 KubeVela 部署一个基础的应用。
下面给出了一个经典的 OAM 应用定义,它包括了一个无状态服务组件和运维特征,三个部署策略和工作流步骤。此应用描述的含义是将一个服务部署到两个目标命名空间,并且在第一个目标部署完成后等待人工审核后部署到第二个目标,且在第二个目标时部署2个实例。
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: first-vela-app
spec:
components:
- name: express-server
type: webservice
properties:
image: oamdev/hello-world
ports:
- port: 8000
expose: true
traits:
- type: scaler
properties:
replicas: 1
policies:
- name: target-default
type: topology
properties:
# local 集群即 Kubevela 所在的集群
clusters: ["local"]
namespace: "default"
- name: target-prod
type: topology
properties:
clusters: ["local"]
# 此命名空间需要在应用部署前完成创建
namespace: "prod"
- name: deploy-ha
type: override
properties:
components:
- type: webservice
traits:
- type: scaler
properties:
replicas: 2
workflow:
steps:
- name: deploy2default
type: deploy
properties:
policies: ["target-default"]
- name: manual-approval
type: suspend
- name: deploy2prod
type: deploy
properties:
policies: ["target-prod", "deploy-ha"]
- 开始应用部署
# 此命令用于在管控集群创建命名空间
$ vela env init prod --namespace prod
$ vela up -f https://kubevela.net/example/applications/first-app.yaml
需要注意的是需要你的部署环境可以正常获取
oamdev/hello-world
镜像
- 查看部署状态
$ vela status first-vela-app
正常情况下应用完成第一个目标部署后进入暂停状态。
- 人工审核,批准应用进入第二个目标部署
$ vela workflow resume first-vela-app
- 通过下述方式来访问该应用
$ vela port-forward first-vela-app 8000:8000
<xmp>
Hello World
## .
## ## ## ==
## ## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o _,/
\ \ _,'
`'--.._\..--''
</xmp>
到这里,你已完成了第一个应用的部署。
目前,通过 CLI 创建的应用会同步到 UI 进行可视化,但它是只读的。
登陆到 KubeVela UI 控制后,默认你将进入应用管理页面。点击页面右上方的 新建应用
按钮,输入应用基础信息:
- 应用名称、别名等基础信息;
- 选择一个应用所属项目,平台默认生成了
Default
项目,你可以根据需要创建新的项目; - 选择主组件类型,这里我们选择默认的
webservice
类型。 - 选择部署环境,部署环境选项由不同的项目决定。
设置完应用基础信息后进入第二步,设置主组件的部署参数,我们需要设置的参数包括:
- 镜像地址:
oamdev/hello-world
- 端口信息:将默认的 80 端口变更为 8080 端口。
确认创建后即可完成应用配置,控制台创建的应用默认会根据所选环境生成 工作流 和一个设置副本数的 运维特征。
点击应用详情页右上方的 部署
按钮,选择指定环境的工作流即可开始部署应用。
如果在你测试完成后需要删除该应用,操作方式如下:
- 进入应用环境页面,点击
回收
按钮完成所有环境的资源回收。 - 回到应用列表页面,点击卡片中的操作按钮,点击删除选项确认删除即可。
到此,你完成了 KubeVela 的初体验。
Last updated on 2022年11月1日 by Tianxin Dong