赞
踩
集群创建时强烈建议,选择已有网络,集群创建后VPC不可更改;交换机可以随意选择;
集群自动创建的VPC,在RDS MYSQL处,切换不了(亲测,切换时网络,搜索不到)
连接公网必须开通NAT网关,否则镜像拉取都是不成功的(这里有个迷惑性,在管理端创建时,可以搜索到镜像和对应版本,拉取总是失败)。
很多时候我们需要使用服务器的ip,比如:微信授权获取token,需要配置ip白名单,NAT网关地址即是所有ECI容器的访问ip。这里要注意,集群和ECI的弹性公网ip均不是;
当然我们也可以进入容器内部,使用curl命令访问一些ip查询网站进行查询公网ip;
例如:
curl icanhazip.com
需要安装插件:CoreDNS 或者PrivateZone(也可以,创建集群后在插件管理里安装)
安装后,您可在该VPC网络环境中通过私有域名访问Service。
长域名访问:$svc.$ns.svc.cluster.local.$clusterId,通过这种方式也可以访问其他集群中同步到PrivateZone的Service。
短域名访问:您可以通过$svc访问本Namespace下的Service,通过$svc.$ns访问其他Namespace中的Service。
此处无特殊需求建议使用CoreDNS。
负载均衡产品的介绍:阿里云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脚本进行创建,如下
这里创建后,会自动生成一个标准版ALB实例,附带基础版和标准版价格截图:
高频率访问系统,推进使用。在本次项目中,没有使用该功能;
附带,阿里云对比:Nginx Ingress与ALB Ingress对比 - 容器服务 ACK - 阿里云
在进行对服务开放公网端口访问时,例:websocket 服务,需要开放TCP协议端口;
发现不可复用原有SLB实例,每次都要进行实例创建,了解后发现,集群自动创建的SLB实例不可复用。想要复用必须使用自己创建的实例。(负载均衡收费标准,实例费用+用量费用)
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节省计划等,购买后,费用会大幅度降低
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。