前言

自从上周看了一个Dapr的视频,知道原来自己离微服务很近,简直触手可及。

心痒痒好久了,不动手实践验证一下简直是寝食难安。先是看官网的文档,可能是因为被墙了,有些网址是不能访问的,那安装搭建环境只能自己摸索了。

好了,开始记录趟过的坑。

实践技术看点

  • CentOS 的安装
  • CentOS Docker 安装
  • dotnet 5运行时的安装
  • Dapr的安装

安装过程

1.CentOS 的安装

值得提醒的是,安装的是最小安装,一会儿就装好了,但是我大意了:最小安装连网卡都没配好,IP地址是没有的。

这是我装好Dapr之后的截图,重点是第2条,本地连接的网卡相关配置。

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

修改配置ONBOOT=yes,vi的保存退出是,先按ESC退出编辑模式,然后按:wq保存关闭。

重启网络服务

servicer network restart

然后ip addr命名即可查看到IP。

2.CentOS 下Docker的手动安装

请注意我选择手动安装,自动安装有些源访问不通畅。

安装必须的组件:

yum install -y yum-utils \

  device-mapper-persistent-data \

  lvm2

使用阿里云的源:

yum-config-manager \

    --add-repo \

    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine-Community

yum install docker-ce docker-ce-cli containerd.io

docker --version查看版本,systemctl start docker启动服务,systemctl enable docker加入系统启动自己启动。

3.dotnet 5运行时的安装

第一步: 添加软件包的源  rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

第二步:执行安装  yum install dotnet-sdk-5.0

4.Dapr的安装

请注意上面的办法在国内是行不通的,那个地址应该是被墙了。

那怎么办呢?不要放弃,去https://github.com/dapr/cli/releases/下载吧:

如果使用 wget https://github.com/dapr/cli/releases/download/v1.3.0/dapr_linux_amd64.tar.gz可以顺路下载到centos下算你运气不错。

我使用windows下载的,然后传到centos里,建议的安装目录是:/usr/local/bin,执行解压命令:tar -zxvf dapr_linux_amd64.tar.gz,

然后需要留意一下dapr文件的权限,执行dapr init进行安装初始化,如果一番等待提示安装过程种有错误,建议执行: dapr uninstall --all进行卸载。

然后重试。我自己是装了3回才成功!

如果看到上述信息,那么恭喜你成功了!

centos是最小安装的没有gui的Xwindow怎么上传文件呢,我的办法就是使用神器:宝塔面板的文件上传和解压功能。



我的微服务之路,看我搭建dapr趟过的坑的更多相关文章

  1. .NET Core微服务之路:文章系列和内容索引汇总 (v0.52)

    微服务架构,对于从事JAVA架构的童鞋来说,早已不是什么新鲜的事儿,他们有鼎鼎大名的Spring Cloud这样的全家桶框架支撑,包含微服务核心组件如 1. Eureka:实现服务注册与发现. 2. ...

  2. .NET Core微服务之路:不断更新中的目录 (v0.43)

    原文:.NET Core微服务之路:不断更新中的目录 (v0.43) 微服务架构,对于从事JAVA架构的童鞋来说,早已不是什么新鲜的事儿,他们有鼎鼎大名的Spring Cloud这样的全家桶框架支撑, ...

  3. MOT上海站 | 卓越研发之路:微服务之路

    微服务架构在带来灵活性.扩展性.可用性等优点的同时,其复杂性也给架构师们带来了很大的挑战.当你面对这些挑战一筹莫展时,不妨来参加由msup和微软联合推出的MOT线下沙龙活动吧,我们将给您答疑解惑. M ...

  4. NET Core微服务之路:实战SkyWalking+Exceptionless体验生产环境下的追踪系统

    前言 当一个APM或一个日志中心实际部署在生产环境中时,是有点力不从心的. 比如如下场景分析的问题: 从APM上说,知道某个节点出现异常,或延迟过过高,却不能及时知道日志反馈情况,总不可能去相应的节点 ...

  5. NET Core微服务之路:实战SkyWalking+Exceptionless体验生产下追踪系统

    原文:NET Core微服务之路:实战SkyWalking+Exceptionless体验生产下追踪系统 前言 当一个APM或一个日志中心实际部署在生产环境中时,是有点力不从心的. 比如如下场景分析的 ...

  6. 庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境

    庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境 一.介绍 说起微服务架构来,有一个环节是少不了的,那就是CI/CD持续集成的环境.当然,搭建CI/CD环境的工具很多, ...

  7. 通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护

    dapr目前更新到了1.2版本,在之前4月份的时候来自阿里的开发工程师发起了一个dapr集成Alibaba Sentinel的提案,很快被社区加入到了1.2的里程碑中并且在1.2 release 相关 ...

  8. NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成

    本篇内容属于非实用性(拿来即用)介绍,如对框架设计没兴趣的朋友,请略过. 快一个月没有写博文了,最近忙着两件事;    一:阅读刘墉先生的<说话的魅力>,以一种微妙的,你我大家都会经常遇见 ...

  9. .NET Core微服务之路:基于Consul最少集群实现服务的注册与发现(二)

    重温Consul最少化集群的搭建  

随机推荐

  1. 青蛙跳台阶问题(斐波那契数列) python

    一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法 class Solution: def jump(self,n): if n ==0: return 0 el ...

  2. ArcnLinux安装基础配置(二)

    本文为对此ArchLinux安装使用教程网站中部分内容的总结和扩展补充,想看更详细的内容可以去此网站. 添加一个用户 useradd -m -G wheel -s /bin/bash cirry 设置 ...

  3. Django基础-001

    一.开发模式 MVC模式: model:数据库 view:前端展示 controller:逻辑控制MTV模式 model:数据库 view:逻辑控制 template:前端展示 二.Django介绍 ...

  4. C语言:常量写法

    float a=7.5f;  //7.5为浮点数 long b=100L;  //100为长整数 int c=0123;// 0123为8进制数 int d=0x123;//0x123为16进制数

  5. ADB打开快手APP

    aa="adb -s {0} shell am start -n com.kuaishou.nebula/com.yxcorp.gifshow.HomeActivity".form ...

  6. python numpy高效体现

    import numpy as np import time def python_sum(n): a=[i**2 for i in range(n)] b=[i**3 for i in range( ...

  7. SpringBoot获取前端传递JSON的几种方法

    一.Json对象+@RequestBody接收 var val = {id: 1, name: "小明"}; $.ajax({ url: "/getJson", ...

  8. File类与常用IO流第七章——Properties集合

    Properties概述 java.util.Properties extends Hashtable<k,v> implements Map<k,v> Properties类 ...

  9. 添加底部导航栏tabbar

    效果图: 如果要添加底部导航栏,最少2个,最多5个. app.json { "pages": [ "pages/index/index", "page ...

  10. ECMAScript 2020(ES11)新特性简介

    目录 简介 动态imports import.meta export加强 BigInt matchAll() globalThis Promise.allSettled() ??操作符 ?.操作符 总 ...