tnblog
首页
视频
资源
登录

Dapr 官方教程第二章(Hello World Kubernetes)

7169人阅读 2021/8/27 22:15 总访问:3254374 评论:0 收藏:0 手机
分类: 云产品

Dapr 官方教程第二章(Hello World Kubernetes)


本教程将帮助您在 Kubernetes 集群中使用 Dapr。您将从Hello World部署相同的应用程序。
概括地说,Python 应用程序生成消息,Node 应用程序使用并持久化它们。以下架构图说明了构成本快速入门的组件:

先决条件

本快速入门要求您在计算机上安装以下内容:

  • kubectl
  • Kubernetes 集群,例如Minikube、AKS或GKE

    此外,除非您已经这样做了,否则请使用快速入门将存储库克隆cd到正确的目录中:
  1. git clone https://github.com/dapr/quickstarts.git
  2. cd quickstarts/hello-kubernetes/

在 Kubernetes 集群上设置 Dapr


初始化集群。

  1. dapr init --kubernetes

创建和配置状态存储


Dapr 可以使用许多不同的状态存储(Redis、CosmosDB、DynamoDB、Cassandra 等)来持久化和检索状态。本演示将使用 Redis。

  1. # 通过 docker 创建 redis
  2. docker pull redis:latest
  3. docker run -itd --name redis-test -p 6379:6379 redis


查看ip,并修改redis.yaml文件

  1. vim deploy/redis.yaml

  1. # 开始部署
  2. kubectl apply -f ./deploy/redis.yaml

使用 Dapr sidecar 部署 Node.js 应用程序


查看node.yaml文件的定义。
dapr.io/enabled: true - 这告诉 Dapr 控制平面向此部署注入一个边车。
dapr.io/app-id: nodeapp - 这会为 Dapr 应用程序分配一个唯一的 ID 或名称,因此它可以向其他 Dapr 应用程序发送消息并与之通信。
接着我们开始进行部署:

  1. kubectl apply -f ./deploy/node.yaml


此部署提供外部 IP,等到 IP 可见:

  1. kubectl get svc nodeapp


可选:如果您无法轻松访问 Kubernetes 集群服务 IP,也可以使用端口转发:

  1. export NODE_APP=localhost:8080
  2. kubectl port-forward service/nodeapp 8080:80

使用外部 IP 验证服务调用


要使用提取的外部 IP 调用服务,请从命令提示符运行:

  1. export NODE_APP=localhost:8080
  2. curl $NODE_APP/ports

使用 Dapr sidecar 部署 Python 应用程序


接下来,快速浏览一下 Python 应用程序。导航到 kubernetes 快速入门中的 Python 应用程序:cd quickstarts/hello-kubernetes/python并通过cat app.py查看app.py.


就是不断的更新node数据,将 Python 应用程序部署到您的 Kubernetes 集群:

  1. cd ../deploy/
  2. kubectl apply -f python.yaml


现在等待 pod 处于Running状态:

  1. kubectl get pods --selector=app=python -w

观察消息


现在部署了 Node.js 和 Python 应用程序,观察消息通过获取 Node.js 应用的日志:

  1. kubectl logs --selector=app=node -c node --tail=-1


如果一切顺利,您应该会看到如下日志:

确认成功持久化

清理


./deploy目录下执行清理操作。

  1. kubectl delete -f .


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

Dapr 安装与介绍

Dapr 安装与介绍[TOC] Dapr 介绍Github: https://github.com/dapr/daprDapr是一种可移植的,事件驱动的,无服务器运行时...

Dapr 简单使用的内置API

Dapr 简单使用的内置API[TOC] 您的本地环境具有 Dapr sidecar 二进制文件以及状态管理和消息代理(均使用 Redis)的默认组...

Dapr 定义一个组件

Dapr 定义一个组件[TOC] 在上一步中,您调用了 Dapr HTTP API 来从 Redis 支持的状态存储中存储和检索状态。Dapr通过初始...

Dapr 官方教程第一章(Hello World)

Dapr 官方教程第一章(Hello World)[TOC] 本教程将演示如何在您的机器上本地运行 Dapr。您将部署一个 Node.js 应用程序,该...

Dapr 官方教程第三章(分布式计算器)

Dapr 官方教程第三章(分布式计算器)[TOC] 本快速入门通过分布式计算器展示了 Dapr 的方法调用和状态持久性功能,其中每个...

Dapr 官方教程第四章(发布订阅)

Dapr 官方教程第四章(发布订阅)[TOC] 在本快速入门中,您将创建一个发布者微服务和两个订阅者微服务,以演示 Dapr 如...

Dapr 官方教程第五章(Dapr 绑定kafka)

Dapr 官方教程第五章(Dapr 绑定kafka)[TOC] 在本快速入门中,您将创建两个微服务,一个具有输入绑定,另一个具有输出绑定...

Dapr .netcore与go的方法调用

Dapr .netcore与go的方法调用[TOC] 主要回顾一下dapr是如何调用方法的。这里是通过.netcore程序调用go程序中的方法。本章...

Dapr .netcore 调用方法

Dapr .NetCore 调用方法[TOC] 创建客户端项目(InvokeMethod) 在Program类中设置日志控制台输出,在 launchSettings.jso...

Dapr .netcore 状态管理

Dapr .NetCore 状态管理[TOC] 使用状态管理,您的应用程序可以将数据作为键/值对存储在支持的状态存储中。使用状态管理时...

Dapr .netcore grpc调用

Dapr .NetCore grpc调用[TOC] 本文介绍如何使用 Dapr 连接使用 gRPC 的服务。通过使用 Dapr 的 gRPC 代理功能,您可以使用...

Dapr .netcore 订阅与发布(上)

Dapr .NetCore 订阅与发布[TOC] 介绍Pub/Sub 是分布式系统中的一种常见模式,具有许多想要利用解耦异步消息传递的服务。使...

Dapr .netcore 订阅与发布(下)

Dapr .NetCore 订阅与发布(下)[TOC] 解决关于运行是报错问题我们将为InvokeMethodServerAPI项目做一些修改。首先添加一些...

Dapr .netcore Actor

Dapr .NetCore Actor[TOC] Actor简介简单来讲就是锁的作用,可以用作单线程调用实例,起到加锁的效果。解决了并发抢票的。...

Dapr .netcore 绑定输入输出

Dapr .NetCore 绑定输入输出[TOC] 输入绑定简单来说通过你的应用所对应的dapr边车绑定队列的消息处理,但是这个消息中间件...
这一世以无限游戏为使命!
排名
2
文章
620
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术