云原生微服务设计经验汇总

mask哥 mask哥     2022-11-28     197

关键词:

 

k8s使用经验:

 

云原生集群的部署方法:

应用-资源声明:

应用-优雅上下线

集群生产环境

k8s集群监控与日志

告警监控和日志监控

事件监控工具:kubeEvent组件

资源监控:prometheus/metrics-server

Fluted

K8s 集群的弹性伸缩问题

适合场景:游戏、证券行业

Label

k8s集群升级

Docker for Mac  Minikube

dockerhub地址配置:

镜像加速

"registry-mirrors": [

    "https://registry.docker-cn.com"

  ]

helm安装:

可以根据文档安装 helm https://github.com/helm/helm/blob/master/docs/install.md

在 Mac OS 上安装

# Use homebrew on Mac

brew install kubernetes-helm

# Install Tiller into your Kubernetes cluster

helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.11.0 --skip-refresh

# update charts repo (Optional)

helm repo update

配置 Istio

可以根据文档安装 Istio Istio / Getting Started

下载 Istio 1.0.4 并安装 CLI

curl -L https://git.io/getLatestIstio | sh -

cd istio-1.0.4/

export PATH=$PWD/bin:$PATH

通过 Helm chart 安装 Istio

helm install install/kubernetes/helm/istio --name istio --namespace istio-system

查看 istio 发布状态

helm status istio

为 default 名空间开启自动 sidecar 注入

kubectl label namespace default istio-injection=enabled

kubectl get namespace -L istio-injection

安装 Book Info 示例

kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml

kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml

确认示例应用在运行中

export GATEWAY_URL=localhost:80

curl -o /dev/null -s -w "%http_code\\n" http://$GATEWAY_URL/productpage

可以通过浏览器访问

http://localhost/productpage

说明:如果当前80端口已经被占用或保留,我们可以编辑 install/kubernetes/helm/istio/values.yaml 文件中

Gateway 端口进行调整,比如将 80 端口替换为 8888 端口

      ## You can add custom gateway ports

    - port: 8888  # Changed from 80

      targetPort: 80

      name: http2

      nodePort: 31380

然后执行如下命令并生效

kubectl delete service istio-ingressgateway -n istio-system

helm upgrade istio install/kubernetes/helm/istio

学习 Istio

大家参照 Istio 开始学习吧, Istio / Bookinfo 应用

删除实例应用

samples/bookinfo/platform/kube/cleanup.sh

卸载 Istio

helm del --purge istio

kubectl delete -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system

总结

阿里云Kubernetes服务 (ACK) 已经对 Istio提供了支持,并将Istio和阿里云进行了深度整合,比如可以通过阿里云日志服务支持基于Jaeger的全链路监控,基于云监控提升Istio可观测性和报警能力等。后续也将进一步简化Kubernetes和Istio的开发者体验,让大家方便地把 Kubernetes + Istio 应用无缝迁移上云。

云原生springcloud微服务学习路线汇总

SpringCloud是什么?简单来说SpringCloud是一系列框架的组成集合。主要利用的我们现在主流应用的SpringBoot框架开发便利性、巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路... 查看详情

360°透视:云原生架构及设计原则

...问网易云社区,了解更多网易技术产品运营经验。 云原生(CloudNative)的概念,由来自Pivotal的MattStine于2013年首次提出,被一直延续使用至今。这个概念是MattStine根据其多年的架构和咨询经验总结出来的一个思想集合,并得... 查看详情

云原生微服务的下一站,微服务引擎mse升级

简介:管好微服务,成为云原生时代的新难题。管好微服务,成为云原生时代的新难题。从建好微服务到管好微服务,差的虽是一个字,连接起两边的却需要大量的微服务落地经验。因为软件架构的核心挑战... 查看详情

云原生架构重要组成部分之微服务(代码片段)

...了该技术架构,随着技术与理念的升级迭代,云原生概念应世而起,现在火的一塌糊涂。做为新时代的程序员,我们要抓住云原生的浪潮。这篇文章呢大致分为四部分,第一部分简单谈一下什么是云原生,... 查看详情

对于云原生数据系统的思考

在设计云原生数据系统时,并没有特定的托管基础设施、编程语言或者设计模式。构建云原生系统有多种多样的方式。让我们来看一看云原生架构应该牢记的设计原则,以及一个优秀的云原生平台具备哪些特征。一、云... 查看详情

快速了解云原生中的微服务应用(内含福利)

【摘要】云原生应用所影响的领域正逐渐从互联网走向非互联网,从传统应用升级走向云原生。当下,云原生技术的成熟正极大地影响着个人、企业乃至整个社会的生产生活方式。“未来的软件一定是生长于云上的”云原... 查看详情

如何设计一个复杂的业务系统?从对领域设计云原生微服务中台的理解开始...

点击上方“朱小厮的博客”,选择“设为星标”后台回复"书",获取后台回复“k8s”,可领取k8s资料01如何解决复杂业务设计Aliware软件架构设计本身就是一个复杂的事情,但其实业界已有一个共识,那就... 查看详情

如何设计一个复杂的业务系统?从对领域设计云原生微服务中台的理解开始

大年初一,看完中国队1:3越南队的比赛,在思考中国足球每况愈下的深层次原因之外,不禁回想起这几年做过的一些大型企业数字化转型项目,有得有失,最终回归到本源“如何设计和实施一个复杂软件工程”这个问题上,趁着... 查看详情

什么是云原生应用?云原生的设计原则有哪些?

1 什么是云原生1.1 云原生起源云原生是一种软件开发方法,它充分利用了云计算,使用开源软件技术栈将应用程序部署为微服务。通常,云原生应用程序构建为在Docker容器中运行的一组微服务,在Kubernetes中编... 查看详情

基于云原生架构构建亿级多语言电商平台设计到落地实现第一阶段

技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据... 查看详情

java云原生微服务框架quarkus入门实践

...的KubernetesNativeJava栈;从一开始就是针对Kubernetes设计的云原生优化Java应用开发框架;兼容主流的框架开发模式如Jpa、Netty、Undertow、Hibernate、JWT、Spring。最新版本为2.13.3。Quarkus官 查看详情

云原生架构微服务架构

微服务架构 云原生架构  查看详情

archsummit阿里云原生微服务架构治理最佳实践

...三连支持👍一下博主~本文目录前言本文导读一、云原生微服务的挑战和趋势1、微服务在云原生下的挑战1.1挑战1.2微服务化深入服务治理是难点2、云原生微服务的发展趋势二、运行态服务治理最佳实践1、无损上下线2、安全... 查看详情

现在大家都在说的云原生到底是啥?

云原生是一个组合词,可以拆分为“云”和“原生”两个词,“云”我们都知道,即在线网络,传统的应用原本都跑在本地服务器上,很有可能需要停机更新,且无法动态扩展,“云”表示应用程序运行在分布式的云环境中,可... 查看详情

小红书微服务框架及治理等云原生业务架构演进案例

‍在互联网世界,变化与演进是业务架构永恒的主题。技术迭代、业务演变等多重因素,一再提升着系统架构设计的难度和复杂度,可以说,没有一种架构是永久适用的,要想让自己的业务具有快速响应、快... 查看详情

大话云原生微服务篇-五星级酒店的服务方式

《大话云原生》系列文章期望用最通俗、简单的语言说明云原生生态系统内的组成及应用关系。此专栏的前两篇文章《【大话云原生】煮饺子与docker、kubernetes之间的关系》《【大话云原生】负载均衡篇-小饭馆的流量变大了》欢... 查看详情

身为程序员,就应该了解微服务的未来发展趋势:云原生应用架构

...、无侵入治理等方面进行变革和演进。本篇我们将讲解云原生架构、ServiceMesh技术、无服务器架构(Serverless)技术。云原生应用架构云原生应用架构的3个特征包括:容器化、微服务、DevOps。通俗地讲,就是将现代... 查看详情

微服务为什么要用云原生网关

文章目录微服务为什么要用云原生网关微服务(网关)的发展微服务发展大事记微服务网关的变化Kubernetes微服务技术趋势及痛点云原生时代的高要求和可选择精细化运营的需求架构升级的痛点云原生网关的优势云原生网... 查看详情