Mempersiapkan jaringan AWS

Untuk menyiapkan load balancer yang ditampilkan secara eksternal dengan GKE di AWS, Anda harus memberi tag VPC dan subnet publik dengan ID cluster Anda. Jika Anda telah memberi tag pada VPC dan subnet, lanjutkan ke bagian Mengaktifkan Ingress.

Sebelum memulai

Sebelum mulai menggunakan GKE di AWS, pastikan Anda telah melakukan tugas berikut:

GKE di AWS memerlukan tag pada subnet yang berisi endpoint load balancer. GKE di AWS akan otomatis memberi tag pada semua subnet yang ditentukan di kolom spec.Networking.ServiceLoadBalancerSubnetIDs dari resource AWSCluster.

Jika Anda ingin menambahkan subnet tambahan ke cluster pengguna, atau jika Anda perlu menerapkan kembali tag ke subnet yang ada, lakukan langkah-langkah berikut.

  1. Dari direktori anthos-aws, gunakan anthos-gke untuk mengalihkan konteks ke layanan pengelolaan Anda.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Dapatkan ID VPC AWS cluster Anda dengan kubectl dan simpan sebagai variabel.

     export VPC_ID=$(\
     env HTTPS_PROXY=http://localhost:8118 \
     kubectl get awscluster cluster-0 -o jsonpath='{.spec.networking.vpcID}')
    
  3. Periksa konten variabel dengan echo. Outputnya akan menyerupai vpc-12345678abcdef0.

    echo $VPC_ID
    
  4. Simpan ID cluster Anda ke dalam variabel lingkungan.

    export CLUSTER_ID=$(\
    env HTTPS_PROXY=http://localhost:8118 \
    kubectl get awscluster cluster-0 -o jsonpath='{.status.clusterID}')
    

    Anda dapat memeriksa variabel tersebut dengan echo:

    echo $CLUSTER_ID
    

    Respons mencakup ID cluster Anda.

    gke-12345678
    
  5. Jika menginstal GKE di AWS ke VPC khusus, Anda dapat menggunakan alat command line aws untuk mengambil ID subnet.

    Pilih dari opsi berikut:

    • {i>Public<i}, jika Anda ingin mengekspos Layanan pada subnet publik Anda.
    • Private, jika Anda ingin mengekspos Service pada subnet pribadi Anda.
    • Beberapa subnet, jika Anda ingin mengekspos Layanan di beberapa subnet.

    Publik

     export SUBNET_ID=$(aws ec2 describe-subnets \
     --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*public*" \
     --query "Subnets[*].SubnetId" \
     --output text)
    

    Output-nya adalah objek yang berisi ID subnet Anda. Tampilannya mirip dengan subnet-1234abcdefg. Anda dapat memeriksa variabel tersebut dengan echo:

    echo $SUBNET_ID
    

    Responsnya mencakup ID subnet Anda.

    subnet-012345678abcdef
    

    Pribadi

     export SUBNET_ID=$(aws ec2 describe-subnets \
     --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*private*" \
     --query "Subnets[*].SubnetId" \
     --output text)
    

    Output-nya adalah objek yang berisi ID subnet Anda. Tampilannya mirip dengan subnet-1234abcdefg. Anda dapat memeriksa variabel tersebut dengan echo:

    echo $SUBNET_ID
    

    Responsnya mencakup ID subnet Anda.

    subnet-012345678abcdef
    

    Beberapa subnet

    Jika menggunakan beberapa subnet untuk AWSNodePools (misalnya, jika menggunakan beberapa zona ketersediaan), Anda harus memberi tag ID subnet satu per satu.

    Ambil daftar ID subnet Anda dengan aws ec2 describe-subnets.

    Untuk mendapatkan daftar semua subnet publik, jalankan perintah berikut:

    aws ec2 describe-subnets \
     --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*public*" \
     --query "Subnets[*].SubnetId" \
     --output text
    

    Untuk mendapatkan daftar semua subnet pribadi, jalankan perintah berikut:

    aws ec2 describe-subnets \
     --filters "Name=vpc-id,Values=$VPC_ID" "Name=tag:Name,Values=*private*" \
     --query "Subnets[*].SubnetId" \
     --output text
    

    Responsnya mencakup ID subnet Anda.

    subnet-012345678abcdef
    subnet-abcdef123456789
    subnet-123456789abcdef
    
  6. Beri tag pada subnet dengan ID cluster Anda. Jika Anda memiliki beberapa subnet, pilih Multiple subnet.

    Subnet tunggal

    aws ec2 create-tags \
    --resources $SUBNET_ID \
    --tags Key=kubernetes.io/cluster/$CLUSTER_ID,Value=shared
    

    Beberapa subnet

    Untuk setiap subnet, jalankan perintah berikut:

    aws ec2 create-tags \
    --resources subnet-ids \
    --tags Key=kubernetes.io/cluster/$CLUSTER_ID,Value=shared
    

    Ganti subnet-ids dengan daftar ID subnet, yang dipisahkan oleh spasi. Misalnya, subnet-012345678abcdef subnet-abcdef123456789 subnet-123456789abcdef.