首页
/ 开源项目 Ambassador 使用教程

开源项目 Ambassador 使用教程

2024-09-03 20:42:26作者:邬祺芯Juliet

项目介绍

Ambassador 是一个基于 Envoy Proxy 的 Kubernetes 原生 API 网关,它提供了丰富的功能,如服务发现、负载均衡、断路器、认证和授权等。Ambassador 旨在简化微服务架构中的网络通信管理,使得开发者可以更专注于业务逻辑的实现。

项目快速启动

环境准备

  • 确保你已经安装了 Kubernetes 集群。
  • 安装 kubectl 命令行工具。
  • 安装 helm 包管理工具(可选,用于更方便地部署 Ambassador)。

部署 Ambassador

  1. 使用 Helm 部署(推荐):

    helm repo add datawire https://www.getambassador.io
    helm install ambassador datawire/ambassador
    
  2. 使用 YAML 文件部署

    kubectl apply -f https://www.getambassador.io/yaml/ambassador/ambassador-rbac.yaml
    

配置示例服务

  1. 创建一个示例服务

    apiVersion: v1
    kind: Service
    metadata:
      name: quote
      annotations:
        getambassador.io/config: |
          ---
          apiVersion: ambassador/v1
          kind:  Mapping
          name:  quote_mapping
          prefix: /quote/
          service: quote
    spec:
      ports:
      - name: http
        port: 80
        targetPort: 8080
      selector:
        app: quote
    
  2. 部署示例服务

    kubectl apply -f quote-service.yaml
    

验证部署

  1. 获取 Ambassador 的 External IP

    kubectl get svc ambassador -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
    
  2. 访问示例服务

    curl -L http://<AMBASSADOR_IP>/quote/
    

应用案例和最佳实践

应用案例

  • 微服务架构:Ambassador 可以作为微服务架构中的 API 网关,提供服务发现、负载均衡和安全认证等功能。
  • 多租户环境:通过配置不同的映射规则,Ambassador 可以支持多租户环境中的服务路由。

最佳实践

  • 使用 Helm 进行部署:Helm 提供了版本管理和依赖管理,使得部署和升级更加方便。
  • 配置监控和日志:集成 Prometheus 和 Grafana 进行监控,使用 ELK 或 EFK 进行日志管理。
  • 安全配置:启用 TLS 加密,配置认证和授权策略,确保服务的安全性。

典型生态项目

  • Istio:Ambassador 可以与 Istio 集成,提供更强大的服务网格功能。
  • Prometheus:用于监控 Ambassador 的性能指标。
  • Grafana:用于可视化 Prometheus 收集的监控数据。
  • ELK/EFK:用于日志收集、存储和分析。

通过以上步骤,你可以快速启动并使用 Ambassador 项目,同时了解其在实际应用中的案例和最佳实践,以及与典型生态项目的集成。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
508
547
docsdocs
暂无描述
Markdown
850
5.67 K
kernelkernel
deepin linux kernel
C
33
16
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.04 K
2.47 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
838
1.28 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
843
1.69 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.16 K
852
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.25 K
1.37 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
502
344
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
776
409