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

Posted mask哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生微服务设计经验汇总相关的知识,希望对你有一定的参考价值。

 

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 应用无缝迁移上云。

以上是关于云原生微服务设计经验汇总的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

聚焦云原生,微服务拆分设计规范指南权威解读

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

微服务架构下 CI/CD 如何落地