五分钟!获得轻量级的云原生应用控制平面(2)

简介: 五分钟!获得轻量级的云原生应用控制平面(2)

访问应用

接下来,你就可以访问刚刚部署的应用了!运行如下命令,将 Wordpress 的端口转发到本地。使用上下键和回车选择 local | wordpress | wordpress:80

vela port-forward wordpress 8081:80

使用浏览器访问:http://127.0.0.1:8081/login,使用刚刚填写的用户名和密码:admin/wordpress_password 登录为管理员。

image.png

我们一直在使用端口转发来访问应用,但是在实际情况中,你可能更多采用其它更高效和安全的方式来暴露服务,但是在测试环境中,端口转发已经足够好用。我们在高级功能中将展示如何在跨环境差异化部署,并且不同环境甚至可以在不同集群中!因为多集群应用的部署在 KubeVela 中是一等公民。

回收应用

在 wordpress 应用的 Default 环境里,选择左侧状态栏,可以回收应用,这一操作会回收下发的应用以及其下的工作负载。

添加插件,扩展你的应用控制平面

通过上文我们知道 KubeVela 通过插件来提供许多功能。VelaUX、fluxcd 、dex 都是 KubeVela 优秀的插件体系的一部分。插件帮助我们把“以应用为中心”的理念发扬光大,想要增强控制平面的应用交付、管理能力,只需要启用不同的插件即可。

  • 需要快速迭代并控制发布的风险?kruise-rollout 插件提供应用灰度发布能力,支持原生 Deployment/Helm Chart。
  • 需要提高团队生产力和协作效率?backstage 插件帮助将应用信息关联至开发者门户。
  • 需要更高资源弹性以及可用性?terraform 插件赋予平台交付云资源的能力,借助你需要的云资源完成应用构建。
  • 需要掌握应用运行状态?一组可观测插件集成了包括 Prometheus、Loki、Grafana 在内的可观测项目,提供全栈的声明式可观测能力,帮助业务开发者灵活定制,轻松洞察各类复杂的云原生工作负载。

KubeVela 插件仓库还包含了在工作流、网关、大数据、安全、混部等领域的插件,更多来自社区的最佳实践正在以插件形式沉淀下来。


高级功能

添加节点 - 扩容集群

本功能要求 VelaD 控制平面安装在 Linux 中

想要使用 VelaD 作为轻量级控制平面,单节点在加入更多插件时,或者在控制面部署过多应用时,可能达到计算资源上限,这时你可以向原本的控制平面添加 worker 节点来扩容集群。

1. 在你已经运行过 velad install 的第一个节点上,运行 velad token 获得该集群的注册 Token。


velad token

2. 在第二个节点上,通过如下命令向控制平面加入新的 worker 节点,从而组建多节点的控制平面。

velad join --master-ip <master-ip> --token <token> --worker-name <worker-name>

其中↓

:是 VelaD 控制平面第一个节点的 IP 地址,只要 worker 节点可以访问该 IP 地址即可,例如二者在同一个内网环境内。需要 worker 通过公网访问第一个节点时,请参见远程访问文档来创建第一个节点。(必填参数)

是在第一步中命令打印的结果:VelaD 控制平面的 Token。(必填参数)

是新工作节点的名称。(可选参数)

3. 确认节点已经加入,在任意一个节点上运行,得到两个条目即为加入成功。

kubectl get node


4. 当你需要卸载节点时,只需在被卸载的节点上运行 velad uninstall 即可。

添加集群  - 跨多集群环境部署应用

上文提到 VelaD 可以作为多集群的控制平面,但到目前为止你可能会问,没有多集群的事啊?下面就会介绍如何使用 KubeVela 跨集群环境部署应用。我们将继续采用 VelaUX 作为演示平台。

这次我们的目标是将 wordpress 跨集群、跨环境部署,并且在生产环境中做一些自定义,具体来说:

  1. 在本地集群发布测试版本,人工确认无误后,将应用发布到生产集群。
  2. 在生产集群中将 wordpress 容器副本数提高到 2 个以提高可用性。

准备集群

我们需要一个子集群(相对于 KubeVela 所在的管控集群)作为生产集群,如果你没有其它可用集群,可以通过 VelaD 可以在单台 MacOS 或者 Windows 机器上轻松创建另一个集群,运行如下命令

Linux 平台怎么办?

VelaD 不支持在单台 Linux 机器中创建多个集群。如果你正在使用 Linux 并尝试 VelaD 作为多集群控制平面,可以在其它 Linux 机器中创建集群并继续。将集群暴露给其它机器的方式见远程访问文档。

velad install --name cluster-worker --cluster-only

相比于之前的安装命令,该命令添加了名字参数(默认为 default)。因为该集群将作为子集群,我们用 --cluster-onlyflag 跳过安装 KubeVela。使用如下命令来检查两个集群的状态:

velad status

期望输出

Checking cluster status...
K3d images status:
 ✔ image rancher/k3s:v1.24.8-k3s1 ready
 ✔ image ghcr.io/k3d-io/k3d-tools:latest ready
 ✔ image ghcr.io/k3d-io/k3d-proxy:5.4.6 ready
Cluster(K3d) status:
 ✔ cluster [cluster-worker] ready
  ➤ kubevela status: not installed
 ✔ cluster [default] ready
  ✔ kubevela status: deployed
Checking KubeVela status...
Vela status:
 ✔ Vela CLI installed
 ✔ Vela CLI path: /usr/local/bin/vela
 ✔ VelaUX addon dir ready
 ✔ VelaUX addon dir path: /Users/qiaozp/.vela/addons/velaux

Tips:VelaD 创建的第二个集群是为了模拟实际上的生产集群,它实际上还是运行在本地的 Docker 环境的容器。

将集群加入控制平面的管控

使用已经配套安装好的 vela 命令行工具,将子集群加入到控制平面的管控中来。

Linux/Mac

WORKER_KUBECONFIG=$(velad kubeconfig --name cluster-worker --internal)
vela cluster join $WORKER_KUBECONFIG --name=cluster-worker

Windows

$WORKER_KUBECONFIG = $(velad kubeconfig --name cluster-worker --internal)
vela cluster join $WORKER_KUBECONFIG --name=cluster-worker

期望输出

image.png

子集群加入之后,你可以使用 vela cluster list 来查看被管控的所有集群。在 VelaUX 中也能查看到刚刚加入的集群。其中 local 集群是 KubeVela 所在的控制平面集群的默认名称,也就是你第一个创建的集群。

vela cluster list

期望输出

image.png

升级插件

新集群加入后,我们需要回到插件页升级 fluxcd 插件,使其在新集群生效。

image.png


目录
相关文章
|
17天前
|
Cloud Native 安全 物联网
云原生技术在现代软件开发中的应用与挑战####
云原生,这一词汇如同一股强劲的科技风暴,席卷了整个信息技术领域,它不仅重塑了软件的开发模式,还引领了一场关于效率、可扩展性和弹性的深刻变革。本文旨在深入探讨云原生技术的核心概念,分析其在现代软件开发中的广泛应用,并直面伴随其发展而来的挑战,为读者勾勒出一幅既充满机遇又不乏考验的云原生技术图景。 ####
|
12天前
|
敏捷开发 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
【10月更文挑战第23天】本文将深入探讨云原生技术在现代企业中的广泛应用,并结合具体案例分析其对企业数字化转型的推动作用。我们将从云原生技术的基本原理出发,逐步揭示其在提高业务敏捷性、降低成本和增强系统可靠性方面的优势。同时,文章还将分享一系列成功实施云原生技术的企业案例,为读者提供实践中的参考和启示。最后,我们将讨论云原生技术面临的挑战及未来的发展趋势,为企业在这一领域的进一步探索提供指导。
|
13天前
|
Cloud Native 持续交付 云计算
云原生技术深度探索:构建现代化应用的基石####
【10月更文挑战第21天】 本文将深入探讨云原生技术的核心概念、关键技术及其在现代软件开发中的应用。我们将从容器化、微服务架构、持续集成/持续部署(CI/CD)、无服务器架构等关键方面展开,揭示这些技术如何共同作用,帮助企业实现高效、弹性且易于维护的应用部署与管理。通过实例分析,展现云原生技术在实际项目中的显著优势,为读者提供一套全面理解并应用云原生技术的指南。 ####
31 2
|
18天前
|
运维 Cloud Native 持续交付
云原生技术在现代IT架构中的深度应用与挑战####
【10月更文挑战第17天】 本文深入剖析了云原生技术的精髓,探讨其在现代IT架构转型中的核心作用与面临的挑战。云原生不仅是一种技术实现,更是企业数字化转型的重要推手,通过容器化、微服务、持续集成/持续部署(CI/CD)等关键要素,重塑软件开发、部署与运维模式。文章首先概述了云原生的基本原则与核心组件,随后分析了其如何促进企业敏捷性、可扩展性和资源利用率的提升,同时也指出了在安全性、复杂性管理及人才技能匹配等方面存在的挑战,并提出了相应的对策建议。 ####
54 6
|
20天前
|
运维 监控 Cloud Native
云原生技术在现代企业中的应用与挑战####
【10月更文挑战第15天】 本文深入探讨了云原生技术如何重塑企业的IT架构,并分析了其带来的机遇与面临的挑战。通过案例分析,揭示了云原生技术在提升业务敏捷性、降低运维成本方面的显著优势,同时也指出了在安全性、多云管理等方面的潜在难题,为企业决策者提供了有价值的参考。 ####
22 3
|
26天前
|
运维 Cloud Native 持续交付
云原生技术:构建现代应用的基石
【10月更文挑战第9天】在数字化转型的浪潮中,云原生技术如同一股清流,引领着企业走向更加灵活、高效的未来。本文将深入探讨云原生的核心概念,揭示其在现代应用开发与部署中的重要作用,并通过实际案例分析,展现云原生技术如何助力企业实现敏捷开发和自动化运维,最终提升业务竞争力。
74 3
|
26天前
|
运维 Kubernetes Cloud Native
云原生技术:构建现代应用的新范式
【10月更文挑战第9天】 云原生是一种通过云计算环境优化的软件开发和运行方法论,旨在最大化利用云平台的灵活性、可扩展性和弹性。本文将深入探讨云原生技术的基本原理、核心组件以及其在实际项目中的应用。我们将从Kubernetes的容器编排机制入手,逐步探讨如何通过自动化工具实现持续集成与持续部署(CI/CD),最终展示如何构建一个高效、可靠的云原生应用。
39 2
|
7天前
|
Cloud Native 安全 持续交付
云原生技术在现代软件开发中的应用与挑战####
本文深入探讨了云原生技术在现代软件开发中的广泛应用及其面临的主要挑战,旨在为开发者和企业提供实用的指导和策略。云原生技术通过其独特的架构和方法论,极大地提升了软件的可扩展性、弹性和敏捷性。然而,随着技术的不断演进,如何有效应对其在安全性、复杂性和成本控制等方面的挑战,成为了业界关注的焦点。本文将详细阐述云原生技术的核心概念、实际应用案例,并针对当前面临的主要挑战提出相应的解决策略。 ####
|
23天前
|
Cloud Native Devops 云计算
云原生技术:构建现代应用的新基石
【10月更文挑战第12天】 本文深入探讨了云原生技术的核心理念、关键技术和实践方法,揭示了其在现代应用开发和运维中的重要地位。通过分析云原生技术的发展趋势和面临的挑战,本文为读者提供了全面而深入的理解,旨在帮助读者更好地利用云原生技术构建高效、灵活和可扩展的现代应用。
34 0
|
23天前
|
Cloud Native 安全 云计算
云原生技术在现代企业中的应用与挑战
本文探讨了云原生技术在现代企业中的重要性及其应用,并分析了企业在实施过程中面临的主要挑战。通过案例分析,本文展示了如何利用云原生技术提高企业的敏捷性和弹性,同时提出了相应的解决方案和建议。

热门文章

最新文章