在Kubernetes集群中手动配置子网信息。
示例代码:
- 查看VPC中已有子网信息
aws ec2 describe-subnets --filters Name=vpc-id,Values=
- 手动创建一个ConfigMap,将子网信息添加进去
apiVersion: v1
kind: ConfigMap
metadata:
name: my-aws-alb-subnets
namespace: kube-system
data:
us-west-2a: subnet-12345678
us-west-2b: subnet-23456789
说明:
- VPC_ID是您的VPC的ID
- my-aws-alb-subnets是您创建的ConfigMap的名称
- us-west-2a和us-west-2b是您的子网名称,subnet-12345678和subnet-23456789是它们对应的ID
- 为alb-ingress-controller添加CLI参数--aws-vpc-id和--aws-subnet-selection:
apiVersion: apps/v1
kind: Deployment
metadata:
name: alb-ingress-controller
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
app: alb-ingress-controller
template:
metadata:
labels:
app: alb-ingress-controller
spec:
containers:
- name: alb-ingress-controller
image: docker.io/amazon/aws-alb-ingress-controller:v1.1.8
args:
- --ingress-class=alb
- --cluster-name=
- --aws-vpc-id=
- --aws-region=
- --aws-access-key-id=
- --aws-secret-access-key=
- --aws-session-token=
- --aws-subnet-selection=zone=us-west-2a,zone=us-west-2b
serviceAccountName: alb-ingress-controller
terminationGracePeriodSeconds: 60
说明:
- your-cluster-name是您的Kubernetes集群的名称
- your-aws-region是您的AWS区域的名称
- AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY和AWS_SESSION_TOKEN是您的AWS认证信息
- zone=us-west-2a,zone=us-west-2b是子网选择器,用于指定alb-ingress-controller所需的子网。