前言:前面写过一篇关于dapr入门安装的文章,self-host模式,使用docker安装的本地调试环境,并进行了测试;本篇介绍k8s方式安装dapr,此文主要基于的环境是k3s,通过rancher2.6.3版管理工具进行快捷安装,并进行相关demo测试

1.k8s安装dapr介绍

参考官网:https://docs.dapr.io/zh-hans/operations/hosting/kubernetes/kubernetes-deploy/

官网推荐使用helm方式安装&高可用安装;这里不在赘述

2.Rancher2.6.3安装Dapr

  • Rancher 添加商店helm源:添加 Dapr 源;https://dapr.github.io/helm-charts/ 最新的安装源,添加到商店

  • 进入应用商店,搜索dapr

  • 安装最新版本,1.7.2版

  • 由于我们安装了1.6.1版本,我们选择升级版本

  • 安装成功后,我们可以在Rancher管理界面看到几个dapr组件

3.配置 状态存储 和 发布/订阅 消息代理,查看官网:https://docs.dapr.io/zh-hans/reference/components-reference/supported-state-stores/ 可以看到状态存储等支持的数据库类型;

  • 我们这里使用官网推荐的redis作为状态存储

  • 使用Rancher创建一个单实例的redis容器;Dapr使用redis存储,要求redis版本>5;镜像:index.docker.io/library/redis:6.2.6



    设置密码命令:redis-server --requirepass 123456

    环境变量也可以设置成空密码访问:ALLOW_EMPTY_PASSWORD=yes

4.Dapr快速入门demo之hello-kubernetes

  • 去github官网下载demo-1.7版本代码:https://github.com/dapr/quickstarts/tree/release-1.7/tutorials/hello-kubernetes

  • 创建一个daprdemo的命名空间,部署nodejs服务
      命令:sudo kubectl apply -f node.yaml -n daprdemo
    查看部署状态:sudo kubectl rollout status deploy/nodeapp -n daprdemo

  • 修改node.yaml文件,因为80端口已被占用,会导致部署问题,把80端口改为3000端口,与nodeapp释放端口一致

  • nodeapp服务部署完毕后,可以通过rancher查看或者编辑对外访问端口,然后可通过k8s任一节点ip+端口访问nodeapp服务

  • 我们也可以通过命令指定对外访问的端口,这样我就可以通过30018端口访问nodeapp:

      kubectl port-forward service/nodeapp 30018:3000
  • 我们通过浏览器,可以访问nodeapp服务,返回dapr的端口信息

  • 我们在daprdemo的命名空间下,创建一个state组件,供nodeapp服务使用;要保证state组件与nodeapp服务同属于同一命名空间下,否则nodeapp服务是无法访问到state组件的

  • 输入命令,构建state组件

      sudo kubectl apply -f redis-state.yaml -n daprdemo

  • 使用apifox工具,请求nodeapp服务,新建一个订单

  • 获取订单

5.Rancher2.6.3 Dapr dashboard访问

  • 找到Dapr dashbord服务信息

  • 点击进入dashbord界面

6.部署python服务app

  • 输入命令部署app,并查看部署状态

      kubectl apply -f python.yaml -n daprdemo
    kubectl rollout status deploy/pythonapp -n daprdemo

  • 查看nodeapp的日志

      kubectl logs --selector=app=node -c node --tail=-1 -n daprdemo

  • 获取订单号

7.清理所有应用(进入到yaml文件所在目录)

kubectl delete -f . -n daprdemo

8.Rancher查看Dapr组件信息

  • 在Rancher管理界面的“更多资源”节点下,dapr.io节点下查看

9.组件的作用域参考官网:https://www.bookstack.cn/read/dapr-1.6.0-zh/38630b93719234c7.md

Dapr学习(2)之Rancher2.63(k8s&k3s)环境安装Dapr的更多相关文章

  1. python学习笔记1之-python简介及其环境安装

    python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分享出来,如果正好你也 ...

  2. Python学习笔记(一)一一一环境安装错误总结

    第三方库安装 1   windows存在多个版本的python,pip安装Python库失败 解决方案:进入对应官网下载安装包,步骤:1 下载安装包到C:\Python36\Lib\site-pack ...

  3. 【QT 学习笔记】 一、 VS2015+ QT环境安装

    1.   安装    qt-opensource-windows-x86-msvc2015_64-5.6.0.exe   (根据自己的VS版本来安装) 下载地址 http://download.qt. ...

  4. K8S ? K3S !

    K8S ? K3S ! K3S 踩坑开始 歪比歪比(奇怪的服务器) 服务器选择我熟悉的 Centos K3S内置 Containerd 但是!作为一个服务器使用自然是要用常见的一点的容器 Docker ...

  5. ASP.NET Core on K8S学习初探(1)K8S单节点环境搭建

    当近期的一个App上线后,发现目前的docker实例(应用服务BFF+中台服务+工具服务)已经很多了,而我司目前没有专业的运维人员,发现运维的成本逐渐开始上来,所以容器编排也就需要提上议程.因此我决定 ...

  6. ASP.NET Core on K8S学习初探(2)K8S基本概念快速一览

    在上一篇<单节点环境搭建>中,通过Docker for Windows在Windows开发机中搭建了一个单节点的K8S环境,接下来就是动人心弦的部署ASP.NET Core API到K8S ...

  7. Alibaba Nacos 学习(五):K8S Nacos搭建,使用nfs

    Alibaba Nacos 学习(一):Nacos介绍与安装 Alibaba Nacos 学习(二):Spring Cloud Nacos Config Alibaba Nacos 学习(三):Spr ...

  8. dapr学习:dapr介绍

    该部分主要是给出学习dapr的入门,描述dapr全貌告诉你dapr是啥以及介绍dapr的主要功能与组件 该部分分为两章: 第一章:介绍dapr 第二章:调试dapr的解决方案项目 1. 介绍dapr ...

  9. Dapr实战(一) 基础概念与环境搭建

    什么是Dapr Dapr 是一个可移植的.事件驱动的运行时,可运行在云平台或边缘计算中.支持多种编程语言和开发框架. 上面是官方对Dapr的介绍.有点难以理解,大白话可以理解为:Dapr是一个运行时, ...

随机推荐

  1. 什么是Viewport Meta(width详解)及在手机上的应用

    viewport是专为手机浏览器设计的一个meta标签: 有些屏幕很小有智能手机,但分辩率却可以做得很大,比如小米4的默认分辨率为:1920*1080,比许多电脑桌面的都还大,传统桌面网站直接放到手机 ...

  2. 基于Node的React图片上传组件实现

    写在前面 红旗不倒,誓把JavaScript进行到底!今天介绍我的开源项目 Royal 里的图片上传组件的前后端实现原理(React + Node),花了一些时间,希望对你有所帮助. 前端实现 遵循R ...

  3. onsubmit阻止表单提交

    在实际开发中往往会遇到检查表单数据的合法性,如果数据不合法,就不让其提交. <!DOCTYPE html> <html> <head> <meta chars ...

  4. CSS的inline、block与inline-block

    基本知识点 行内元素一般是内容的容器,而块级元素一般是其他容器的容器,行内元素适合显示具体内容,而块级元素适合做布局. 块级元素(block):独占一行,对宽高的属性值生效:如果不给宽度,块级元素就默 ...

  5. 横竖屏切换android:screenOrientation属性的使用

    在开发android的应用中,有时候需要限制横竖屏切换,只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制.    android:sc ...

  6. CCF201909-1小明种苹果

    解题思路:定义一个二维数组来存放输入的信息,第一列用来存放所有果树的初始值,然后遍历数组.具体思路见代码注释. 第一遍提交得了80分,看了半天才明白了原因,快被自己蠢死...... 定义数组应该为a[ ...

  7. Exchange 2013 中 NDR 常见的失败返回状态代码

    增强状态代码 描述 可能的原因 其他信息 4.3.1 Insufficient system resources 发生内存不足错误.资源问题(例如磁盘已满)可能导致该问题.您可能会收到内存不足错误,而 ...

  8. 使用html5绘图技术事项调用摄像头拍照;

    在mui框架中调用手机摄像头进行拍照可以直接使用原声的HTML5: 以下是HTML代码 <video id="video" width="640" hei ...

  9. AcWing 1220. 生命之树

    题目链接 题目描述: 在X森林里,上帝创建了生命之树. 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值. 上帝要在这棵树内选出一个非空节点集 S,使得对于 S 中的任 ...

  10. 常⽤的meta标签有哪些

    meta 标签由 name 和 content 属性定义,用来描述网页文档的属性,比如网页的作者,网页描述,关键词等,除了HTTP标准固定了一些name作为大家使用的共识,开发者还可以自定义name. ...