AWS EKS ALB使用场景(持续更新)

15 篇文章 1 订阅

一、创建的ALB多目标组

该场景解决的是一个Ingress配置多个规则,每个规则下的SVC检查路径和端口不一致

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-wildcard-host
spec:
  rules:
  - host: "foo.bar.com"
    http:
      paths:
      - pathType: Prefix
        path: "/bar"
        backend:
          service:
            name: service1
            port:
              number: 80
  - host: "*.foo.com"
    http:
      paths:
      - pathType: Prefix
        path: "/foo"
        backend:
          service:
            name: service2
            port:
              number: 8080

方法

通过在service中添加AWS Load Balancer Controller的目标组注解Annotations,而不是在ingress中添加

alb.ingress.kubernetes.io/healthcheck-port
alb.ingress.kubernetes.io/healthcheck-path

二、多个Ingress一个ELB

该场景解决的是多个namespace下的Ingress只创建一个ELB

方法

在对应的Ingress中添加Annotations来创建一个IngressGroup

alb.ingress.kubernetes.io/group.name

通过alb.ingress.kubernetes.io/group.order 指定 IngressGroup 中所有 Ingress 的顺序

限制

IngressGroup功能只应在所有具有RBAC 权限的 Kubernetes 用户创建/修改Ingress资源都在信任边界内时使用。

三、灰度发布

在AWS官方产品中,可以通过APP Mesh来实现集群的灰度发布,但不建议使用。

建议使用开源的服务治理istio

四、日志

在AWS EKS中使用的日志分析方案,基本上使用开源成熟的日志分析系统。

  • ELK
  • EFK:https://blog.csdn.net/weixin_41335923/article/details/121692400

针对集群节点的日志,可以使用Cloudwatch Log agent来推送到Cloudwatch Log

#!/bin/bash

echo "Install cloudwatch agent"
yum -y install wget
cd /opt && wget https://s3.cn-north-1.amazonaws.com.cn/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
rpm -U ./amazon-cloudwatch-agent.rpm

cd /opt/aws/amazon-cloudwatch-agent/etc && wget https://goclouds-ops-public.s3.cn-north-1.amazonaws.com.cn/CloudWatchAgent/amazon-cloudwatch-agent.json
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s

agent_status=`/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status | head -n 2 | grep "status" | awk -F ":" '{print $2}'`
if [ $agent_status == "running" ]
then
    echo "Cloudwatch agent install successful and push metrics successful"
else
    echo "Cloudwatch agent Out of order !"
fi

五、监控

在AWS EKS中的监控方案,一般使用开源的Prometheus+Grafana

还可以使用AWS官方推出的Cloudwatch Container Insight

但AWS官方的方案相比开源方案的监控指标少,因此目前都在使用开源方案

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值