aws创建alb

前提:基于eks部署的服务,大致过程就是创建集群,将jar包通过docker打成image(DockerFile),然后将镜像上传到ecr,再通过deployment.yaml部署服务。(文章最后有所有文件内容。。。。)

为了创建alb类型的负载均衡器,我们首先得创建一个service,使得服务的端口能暴露在实例外,这样目标组中的健康检查才能通过。

1.创建service:
kubectl apply -f gateway-service.yaml
2.查看service:
kubectl get service

你会看到类似于这样的东西———80:31014/TCP,31014就是我们需要的,用于目标组的健康检查,目标组选择的类型必须为http/https,选择tcp的话不满足alb。

没了,就这么简单,对了alb的创建可以在控制台上进行,主要是健康监测容易出问题,还有,路径的选择就根据部署服务的接口来就行了,或者简单写一个不需要传参的健康监测接口。

Dockerfile(放在和target文件夹并列的地方):

# 指定基础镜像
FROM openjdk:8-jre-slim

# 设置工作目录
WORKDIR /metaxsire

# 将项目构建生成的 JAR 文件复制到容器中
COPY target/cms-service.jar /metaxsire/cms-service.jar

# 暴露应用程序的端口
EXPOSE 9002

# 设置容器启动命令,指定 "prod" 环境
CMD ["java", "-Dspring.profiles.active=prod", "-Dfile.encoding=UTF-8", "-jar", "/metaxsire/cms-service.jar"]

gateway.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: gateway
  labels:
    app: gateway
spec:
  replicas: 1
  selector:
    matchLabels:
      app: gateway
  template:
    metadata:
      labels:
        app: gateway
    spec:
      containers:
        - name: gateway
          image: 043522551311.dkr.ecr.us-west-1.amazonaws.com/gateway:latest
          ports:
            - containerPort: 8085

gateway-service:

apiVersion: v1
kind: Service
metadata:
  name: alb-gateway-cms
spec:
  type: NodePort
  selector:
    app: gateway-cms
  ports:
    - name: http
      protocol: TCP
      port: 8082
      targetPort: 8082

bat:

@echo off

REM 步骤1:构建 Docker 镜像
set service=controllink
docker build . -t %service%

REM 步骤2:登录到 AWS ECR
set AWS_REGION=us-west-1
set AWS_ACCOUNT_ID=043522551311
set AWS_ECR_REPO=%AWS_ACCOUNT_ID%.dkr.ecr.%AWS_REGION%.amazonaws.com/%service%

REM 临时文件路径
set TEMP_FILE=%TEMP%\ecr_login.txt

REM 使用 AWS CLI 获取登录密码并将其写入临时文件
aws ecr get-login-password --region %AWS_REGION% > %TEMP_FILE%

REM 使用临时文件中的密码登录到 Docker
docker login --username AWS --password-stdin %AWS_ECR_REPO% < %TEMP_FILE%

REM 删除临时文件
del %TEMP_FILE%

REM 步骤3:给镜像打标签
docker tag %service%:latest %AWS_ECR_REPO%:latest

REM 步骤4:推送镜像到 AWS ECR
docker push %AWS_ECR_REPO%:latest

REM 步骤5:等待用户输入
pause

名字得改一下,不然有些地和我不一样可能会出错,主要供参考。上述是通过k8s来部署的,k8s的命令我就不提供了,网上都有。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值