KubeVela 上手體驗(yàn) - 讓云端應(yīng)用交付更加絲滑

1
Kubernetes 陡峭的學(xué)習(xí)曲線和一堆眼花繚亂的概念,使得應(yīng)用開發(fā)人員的開發(fā)效率很難令人滿意。 服務(wù)應(yīng)用開發(fā)的平臺(tái)團(tuán)隊(duì),卻沒(méi)有一個(gè)合適的框架來(lái)構(gòu)建用戶友好且高度可擴(kuò)展的抽象。 尤其在未來(lái)的混合云、多云、分布式云這些日益復(fù)雜的業(yè)務(wù)場(chǎng)景中,應(yīng)用交付更是變得碎片化。
以應(yīng)用程序?yàn)橹行? KubeVela 引入了開放應(yīng)用程序模型(OAM)來(lái)作為更高級(jí)別的 API,通過(guò)高度一致的工作流來(lái)捕獲面向混合環(huán)境的微服務(wù)交付的所有信息。包括多集群分發(fā)策略、流量調(diào)配和滾動(dòng)更新等運(yùn)維特征,都聲明在應(yīng)用級(jí)別。用戶無(wú)需關(guān)心任何基礎(chǔ)設(shè)施細(xì)節(jié),只需要定義和部署應(yīng)用即可。 可編程式交付工作流- KubeVela 的模型層是利用 CUE 來(lái)實(shí)現(xiàn)的。它使得你可以輕松地將應(yīng)用交付工作流聲明為一個(gè) DAG,并將所有步驟和應(yīng)用部署需求以可編程的方式粘合在一起。這里沒(méi)有任何限制,原生可擴(kuò)展。 運(yùn)行時(shí)無(wú)關(guān) - KubeVela 是一個(gè)完全與運(yùn)行時(shí)無(wú)關(guān)的應(yīng)用交付與管理控制平面。它可以按照你定義的工作流與策略,面向混合環(huán)境交付和管理任何應(yīng)用組件:包括容器、云函數(shù)、數(shù)據(jù)庫(kù)甚至 AWS EC2 實(shí)例。
2
可以先熟悉的概念
3
試玩 KubeVela 環(huán)境搭建
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-darwin-amd64chmod +x ./kindmv ./kind /some-dir-in-your-PATH/kind
curl.exe -Lo kind-windows-amd64.exe https://kind.sigs.k8s.io/dl/v0.11.1/kind-windows-amd64Move-Item .\kind-windows-amd64.exe c:\some-dir-in-your-PATH\kind.exe
cat <<EOF | kind create cluster --image=kindest/node:v1.18.15 --config=-kind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes:- role: control-planekubeadmConfigPatches:- |kind: InitConfigurationnodeRegistration:kubeletExtraArgs:node-labels: "ingress-ready=true"extraPortMappings:- containerPort: 80hostPort: 80protocol: TCP- containerPort: 443hostPort: 443protocol: TCPEOF
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yamlcurl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bashhelm repo add kubevela https://charts.kubevela.net/core
helm repo update
helm install --create-namespace -n vela-system kubevelakubevela/vela-core
helm test kubevela -n vela-system
4
KubeVela,Hello World!

apiVersion: core.oam.dev/v1beta1kind: Applicationmetadata:name: first-vela-appspec:components:- name: express-servertype: webserviceproperties:image: crccheck/hello-worldport: 8000traits:- type: ingressproperties:domain: testsvc.example.comhttp:"/": 8000
kubectl apply -f https://raw.githubusercontent.com/oam-dev/kubevela/master/docs/examples/vela-app.yamlcurl -H "Host:testsvc.example.com" localhost
<xmp>Hello World## .## ## ## ==## ## ## ## ## ===/""""""""""""""""\___/ ===~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~\______ o _,/\ \ _,'`'--.._\..--''</xmp>
5
評(píng)論
圖片
表情
