摘要: 在实际生产中,Serverless架构通常都是FaaS与BaaS的结合,并且具备弹性伸缩和按量付费的特性。如下所示,当开发者想要开发一个项目的时候,通常只需要根据FaaS提供商所提供的Runtime,选择一个熟悉的编程语言,然后进行项目开发、测试(图中步骤1); 完成之后将代码上传到FaaS平台(图 阅读全文
posted @ 2023-01-25 16:48 muzinan110 阅读(57) 评论(0) 推荐(0) 编辑
摘要: Knative通过控制入口网关的流量分配来实现服务的路由管理。Knative为每个服务生成唯一的域名,入口网关会根据域名转发请求到对应的服务。 1 定制Knative服务的主域名 Knative默认为每个Service生成一个域名,Istio Gateway会根据域名判断请求应该转发给哪个服务。Kn 阅读全文
posted @ 2023-01-25 16:33 muzinan110 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 1 证书管理工具cert-manager cert-manager是用于HTTPS连接的TLS证书管理工具。接下来,通过两个步骤来安装cert-manager。 1)安装cert-manager。 # 如果Kubernetes版本>=1.15,执行以下命令$ kubectl apply--valid 阅读全文
posted @ 2023-01-25 16:29 muzinan110 阅读(83) 评论(0) 推荐(0) 编辑
摘要: Serverless的主要特性之一就是应用可以按需扩缩容。这需要观察流入的负载并根据相应的指标动态调整应用规模。Knative Serving带有Autoscaler组件。它默认使用基于请求的自动扩缩容(Knative Pod Autoscaler,KPA)功能来实现自动伸缩策略,也可以使用Kube 阅读全文
posted @ 2023-01-25 16:25 muzinan110 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1 部署一个Knative事件驱动应用 通过以下9个步骤完成一个完整的Knative事件驱动应用的部署与验证。 1)下载官方示例代码: $ git clone-b "release-0.16" https://github.com/knative/docs knative-docs 2)创建镜像,{ 阅读全文
posted @ 2023-01-25 16:05 muzinan110 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 在部署一个Knative Service之前,先了解一下它的部署模型和对应的Kubernetes资源。 如下所示,在部署Knative Serving Service的过程中,Knative Serving控制器将创建configuration、Revision和Route三个资源对象。 Knati 阅读全文
posted @ 2023-01-25 15:52 muzinan110 阅读(204) 评论(0) 推荐(0) 编辑
摘要: Knative Eventing是Knative平台的通用事件驱动组件,它实现了云原生应用开发对事件驱动的通用需求,同时还提供了一组可组合的原语,实现了事件源和消费者之间的延迟绑定。 Knative Eventing支持多种使用模式。现有的事件驱动组件支持以下3种使用场景。 1)想要发布事件,不关心 阅读全文
posted @ 2023-01-25 15:42 muzinan110 阅读(202) 评论(0) 推荐(0) 编辑
摘要: Knative的服务管理组件Serving是管理应用服务的理想选择,它通过自动缩容为零和基于HTTP负载自动扩展的方式简化了部署流程。Knative平台可管理应用服务的部署、版本、网络、扩缩容。 Knative Serving通过HTTP URL的方式来暴露服务,有许多默认的安全设置。在特定的使用场 阅读全文
posted @ 2023-01-25 15:37 muzinan110 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 下面的Pipeline配置中使用了镜像标签自动生成、代码构建和镜像推送、应用镜像部署三个任务。也可以根据各自持续集成和交付的需求添加诸如代码质量检查、自动化测试等任务,不断完善持续集成和交付系统。 Java语言配置示例 通过Maven工具构建Java代码。为了提高构建效率,需要为Maven本地仓库配 阅读全文
posted @ 2023-01-25 15:24 muzinan110 阅读(187) 评论(0) 推荐(0) 编辑
摘要: Tekton的主要功能是实现持续集成和交付部署。Tekton Pipeline是其核心组件,其他组件都是建立在Tekton Pipeline之上的。 1 Step、Task和Pipeline Step(步骤)是CI/CD工作流中最小的基础操作单元。Tekton通过在Step中定义的容器镜像执行每个S 阅读全文
posted @ 2023-01-25 15:23 muzinan110 阅读(292) 评论(0) 推荐(0) 编辑
摘要: Tekton由如下7个组件构成 1)Tekton Pipeline:Tekton Pipeline是Tekton的基础组件,定义了一组Kubernetes自定义资源。作为构建模块的基础,你可以使用它们装配CI/CD流水线。 2)Tekton Trigger:Tekton Trigger可以实现基于事 阅读全文
posted @ 2023-01-25 15:21 muzinan110 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 机器学习是一个涉及多学科的专业领域,包括计算机科学、统计学、信息学和神经科学等多个学科。机器学习基于数据和算法构建模型并对模型进行评估。如果效果达到了要求,就用该模型处理其他目标数据;如果达不到要求,则进一步调整算法或参数,重新建立模型并再次评估,通过反复测试和评估来获得满意的模型。 算法类型 根据 阅读全文
posted @ 2023-01-25 14:55 muzinan110 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 使用Argo CD系统以GitOps的发布方式完成一个应用的迭代更新。 1. 应用更新 下面把guestbook-aliyun和guestbook-idc应用从第1版本更新至第2版本。 在GitOps发布模型中,Git源仓库是应用更新的唯一事实来源,我们需要基于master分支创建分支feat/gu 阅读全文
posted @ 2023-01-25 11:54 muzinan110 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 一个云原生应用程序通常包含多种Kubernetes资源类型,例如Deployment、ReplicaSet、Pod、PersistVolume、Service等,但在Kubernetes的原生能力下,并没有一个完整的概念可以直观地展示应用程序到底包含哪些资源。Argo CD通过Application 阅读全文
posted @ 2023-01-25 11:51 muzinan110 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 安装Argo CD 单独为Argo CD创建命名空间argocd,命令如下所示。 $ kubectl create namespace argocdnamespace/argocd created 使用以下命令将Argo CD部署到argocd命名空间下。 $ kubectl apply -n ar 阅读全文
posted @ 2023-01-25 11:48 muzinan110 阅读(670) 评论(0) 推荐(0) 编辑
摘要: Argo CD的核心概念 Application(应用):一组Kubernetes资源清单的统一定义,属于CRD(Custom Resource Definition,定制资源定义)资源。 Application source type(应用的源仓库类型):目前Argo CD支持Git和Helm两种 阅读全文
posted @ 2023-01-25 11:45 muzinan110 阅读(259) 评论(0) 推荐(0) 编辑
摘要: KubeFed(Kubernetes Cluster Federation,Kubernetes集群联邦)是Kubernetes项目下的多集群特殊兴趣小组(Special Interest Group,SIG)发布和管理的。集群联邦实现了单一集群统一管理多个Kubernetes集群的机制,这些集群可 阅读全文
posted @ 2023-01-25 11:42 muzinan110 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 需要在主集群中安装并部署KubeFed,使用Helm Chart进行部署,需要安装Helm3客户端,命令如下。 $ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash % Total % 阅读全文
posted @ 2023-01-25 11:40 muzinan110 阅读(58) 评论(0) 推荐(0) 编辑
摘要: KubeFed通过定义CRD资源对Kubernetes资源进行联邦管理,如FederatedNamespace、FederatedDeployment等,下面创建一个联邦命名空间,将联邦Deployment资源部署至所有成员集群。 在主集群运行以下命令创建一个联邦命名空间go-demo。命名空间go 阅读全文
posted @ 2023-01-25 11:37 muzinan110 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 1. 异地多活——跨地域容灾 从设计的角度讲,Kubernetes本身就是一个健壮的分布式系统,在一个高可用配置集群中,比如典型的3 masters + 3 workers集群架构中,即使某个节点出现故障,Kubernetes系统也能通过健康检查和重启策略自动实现Pod故障的自我修复,然后通过调度算 阅读全文
posted @ 2023-01-25 11:32 muzinan110 阅读(119) 评论(0) 推荐(0) 编辑