阿里云ASK集群使用问题小结

2 篇文章 0 订阅
1 篇文章 0 订阅

一、内网互通问题

集群创建时强烈建议,选择已有网络,集群创建后VPC不可更改;交换机可以随意选择;

集群自动创建的VPC,在RDS MYSQL处,切换不了(亲测,切换时网络,搜索不到)

 二、ECI连接公网、ip问题

连接公网必须开通NAT网关,否则镜像拉取都是不成功的(这里有个迷惑性,在管理端创建时,可以搜索到镜像和对应版本,拉取总是失败)。

很多时候我们需要使用服务器的ip,比如:微信授权获取token,需要配置ip白名单,NAT网关地址即是所有ECI容器的访问ip。这里要注意,集群和ECI的弹性公网ip均不是;

当然我们也可以进入容器内部,使用curl命令访问一些ip查询网站进行查询公网ip;

例如:

curl icanhazip.com

三、ASK服务发现DNS

需要安装插件:CoreDNS 或者PrivateZone(也可以,创建集群后在插件管理里安装)
安装后,您可在该VPC网络环境中通过私有域名访问Service。
长域名访问:$svc.$ns.svc.cluster.local.$clusterId,通过这种方式也可以访问其他集群中同步到PrivateZone的Service。
短域名访问:您可以通过$svc访问本Namespace下的Service,通过$svc.$ns访问其他Namespace中的Service。

此处无特殊需求建议使用CoreDNS。

四、Nginx  Ingress 和 ALB Ingress

负载均衡产品的介绍:阿里云SLB包含面向4层(TCP/UDP)的传统型负载均衡CLB 和 面向7层(HTTP/HTTPS/QUIC)的应用型负载均衡ALB,网络型负载均衡NLB(Network Load Balancer )是阿里云面向万物互联时代推出的新一代四层负载均衡,支持超高性能和自动弹性能力,单实例可以达到1亿并发连接,帮您轻松应对高并发业务。

ASK集群中支持使用,CLB(就是SLB)和 ALB;

1.Nginx  Ingress 只能使用 SLB (CLB) 不可购买 资源包 ;

安装后,自动创建两个实例,默认实例大小是2核4G,对于nginx来说这个配置是超配额,所以我们进行了减配,点击编辑,选择0.25核0.5G的最小配置

如图:

附带nginx监控:

Nginx  Ingress 创建后,后自动生成一个SLB实例,打开后发现,集群管理也创建了一个实例;

并且这个两个实例都是,按配置进行收费,这里建议修改成

 

 

 

 


2.ALB Ingress 阿里云自研产品 跟 应用型负载均衡ALB (收费更贵,亲测);

 ALB Ingress概述 - 容器服务 ACK - 阿里云

 必须使用k8s脚本进行创建,如下

配置AlbConfig - 容器服务 ACK - 阿里云

 这里创建后,会自动生成一个标准版ALB实例,附带基础版和标准版价格截图:

高频率访问系统,推进使用。在本次项目中,没有使用该功能;

附带,阿里云对比:Nginx Ingress与ALB Ingress对比 - 容器服务 ACK - 阿里云

五、服务发现--直接对公网开放

在进行对服务开放公网端口访问时,例:websocket 服务,需要开放TCP协议端口;

发现不可复用原有SLB实例,每次都要进行实例创建,了解后发现,集群自动创建的SLB实例不可复用。想要复用必须使用自己创建的实例。(负载均衡收费标准,实例费用+用量费用)

 

 六、监控和HPA

1.使用HPA,指标伸缩,必须安装监控组件,来监控CPU和内存使用情况;

2.遇到的问题

在测试使用HPA时,发现部署的项目,无法使用该功能;报错如下:

监控不到内存?排查发现,组件安装没问题,内存监控可以直接控制台查看,也做了内存限制。

最后发现是项目中使用sidecar模式部署,一个服务中有多个容器共存,部署脚本中只限制了主容器内存,没有对日志容器进行限制。更改后使用没问题;

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test-hpa
  namespace: test
  labels:
    app: test-hpa
spec:
  minReadySeconds: 10                         #最小等待时间,单位秒。默认是 0秒
  progressDeadlineSeconds: 600                #进度截至时间,默认10分钟
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: test-hpa
  strategy:                                   #升级缩放策略
    type: RollingUpdate                       #RollingUpdate 滚动更新(默认值)   Recreate 重新启动
    rollingUpdate:                            #滚动策略
      maxSurge: 25%                           #最大浪涌:可以是数字,也可以是百分比,意为可以超出的最大的数量。如果是 0,则表示不新增,即为先停止旧pod再启动新pod。
      maxUnavailable: 0                       #最大不可用数量:可以是数字,也可以是百分比。deploy 在更新过程中,Pod 数量可以低于定义的数量,低于定义的数量最大值。
  template:
    metadata:
      labels:
        app: test-hpa
    spec:
      containers:
      - name: test-hpa
        image: rabbitmq:3.9.9-management
        resources:
          requests:
            memory: "128Mi"
          limits:
            memory: "512Mi"
        ports:
        - containerPort: 5672
          protocol: TCP
        imagePullPolicy: IfNotPresent         #镜像拉取策略:IfNotPresent:如果没有则拉取     Always:一直拉取
        lifecycle:
          preStop:
            exec:
              command: ["sleep","15"]
        readinessProbe:
          failureThreshold: 3
          initialDelaySeconds: 15
          periodSeconds: 30
          successThreshold: 1
          tcpSocket:
            port: 5672
          timeoutSeconds: 1
        env:
          - name: TZ
            value: Asia/Shanghai
      - name: filebeat
        image: elastic/filebeat:6.2.4
        resources:
          requests:
            memory: "128Mi"
          limits:
            memory: "512Mi"
        imagePullPolicy: IfNotPresent
        args: ["-c", "/opt/filebeat/filebeat.yml", "-e"]
        volumeMounts:
          - name: logdata
            mountPath: /var/logdata
          - name: filebeat-config
            mountPath: /opt/filebeat/
      volumes:
        - name: logdata
          emptyDir: {}
        - name: filebeat-config
          configMap:
            name: test-filebeat-yml
            items:
              - key: filebeat.yml
                path: filebeat.yml

最后的废话

 阿里云对于收费是想尽一切招数,上诉一些改动(降低容器实例配置,减少使用SLB,更换按量收费)就是为了减少收费。

此外,阿里云对于长期使用用户,提供了,NAT资源包,ECI节省计划等,购买后,费用会大幅度降低

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值