云原生微服务设计经验汇总
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
可以通过浏览器访问
说明:如果当前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 应用无缝迁移上云。
以上是关于云原生微服务设计经验汇总的主要内容,如果未能解决你的问题,请参考以下文章