Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyesuaikan gambar Docker untuk Flink dan FluentD
Ambil langkah-langkah berikut untuk menyesuaikan gambar Docker untuk Amazon EKS dengan EMR Apache Flink atau gambar FluentD. Ini termasuk panduan teknis untuk mendapatkan gambar dasar, menyesuaikannya, menerbitkannya, dan mengirimkan beban kerja.
Topik
Prasyarat
Sebelum Anda menyesuaikan image Docker Anda, pastikan bahwa Anda telah menyelesaikan prasyarat berikut:
-
Menyelesaikan Menyiapkan operator Flink Kubernetes untuk Amazon pada langkah-langkah. EMR EKS
-
Menginstal Docker di lingkungan Anda. Untuk informasi lebih lanjut, lihat Get Docker
.
Langkah 1: Ambil gambar dasar dari Amazon Elastic Container Registry
Gambar dasar berisi EMR runtime Amazon dan konektor yang perlu Anda akses lainnya Layanan AWS. Jika Anda menggunakan EMR Amazon EKS dengan Flink versi 6.14.0 atau lebih tinggi, Anda bisa mendapatkan gambar dasar dari Galeri Publik AmazonECR. Jelajahi galeri untuk menemukan tautan gambar dan tarik gambar ke ruang kerja lokal Anda. Misalnya, untuk rilis Amazon EMR 6.14.0, docker pull
perintah berikut mengembalikan gambar dasar standar terbaru. Ganti emr-6.14.0:latest
dengan versi rilis yang Anda inginkan.
docker pull public.ecr.aws/emr-on-eks/flink/emr-6.14.0-flink:latest
Berikut ini adalah tautan ke gambar galeri Flink dan gambar galeri Fluentd:
Langkah 2: Sesuaikan gambar dasar
Langkah-langkah berikut menjelaskan cara menyesuaikan gambar dasar yang Anda tarik dari AmazonECR.
-
Buat
Dockerfile
baru di Workspace lokal Anda. -
Edit
Dockerfile
dan tambahkan konten berikut. IniDockerfile
menggunakan gambar kontainer yang Anda tarikpublic.ecr.aws/emr-on-eks/flink/emr-7.3.0-flink:latest
.FROM public.ecr.aws/emr-on-eks/flink/emr-7.3.0-flink:latest USER root ### Add customization commands here #### USER hadoop:hadoop
Gunakan konfigurasi berikut jika Anda menggunakan
Fluentd
.FROM public.ecr.aws/emr-on-eks/fluentd/emr-7.3.0:latest USER root ### Add customization commands here #### USER hadoop:hadoop
-
Tambahkan perintah di
Dockerfile
untuk menyesuaikan gambar dasar. Perintah berikut menunjukkan cara menginstal pustaka Python.FROM public.ecr.aws/emr-on-eks/flink/emr-7.3.0-flink:latest USER root RUN pip3 install --upgrade boto3 pandas numpy // For python 3 USER hadoop:hadoop
-
Di direktori yang sama dengan tempat Anda membuat
DockerFile
, jalankan perintah berikut untuk membangun image Docker. Bidang yang Anda berikan mengikuti-t
bendera adalah nama kustom Anda untuk gambar.docker build -t <
YOUR_ACCOUNT_ID
>.dkr.ecr.<YOUR_ECR_REGION
>.amazonaws.com/<ECR_REPO
>:<ECR_TAG
>
Langkah 3: Publikasikan gambar kustom Anda
Anda sekarang dapat mempublikasikan gambar Docker baru ke ECR registri Amazon Anda.
-
Jalankan perintah berikut untuk membuat ECR repositori Amazon untuk menyimpan image Docker Anda. Berikan nama untuk repositori Anda, seperti
emr_custom_repo.
Untuk informasi selengkapnya, lihat Membuat repositori di Panduan Pengguna Amazon Elastic Container Registry.aws ecr create-repository \ --repository-name emr_custom_repo \ --image-scanning-configuration scanOnPush=true \ --region <AWS_REGION>
-
Jalankan perintah berikut untuk mengautentikasi ke registri default Anda. Untuk informasi selengkapnya, lihat Mengautentikasi ke registri default Anda di Panduan Pengguna Amazon Elastic Container Registry.
aws ecr get-login-password --region <
AWS_REGION
> | docker login --username AWS --password-stdin <AWS_ACCOUNT_ID
>.dkr.ecr.<YOUR_ECR_REGION
>.amazonaws.com -
Tekan gambar. Untuk informasi selengkapnya, lihat Mendorong gambar ke Amazon ECR di Panduan Pengguna Amazon Elastic Container Registry.
docker push <
YOUR_ACCOUNT_ID
>.dkr.ecr.<YOUR_ECR_REGION
>.amazonaws.com/<ECR_REPO
>:<ECR_TAG
>
Langkah 4: Kirim beban kerja Flink di Amazon EMR menggunakan gambar khusus
Buat perubahan berikut pada FlinkDeployment
spesifikasi Anda untuk menggunakan gambar kustom. Untuk melakukannya, masukkan gambar Anda sendiri di spec.image
baris spesifikasi penerapan Anda.
apiVersion: flink.apache.org/v1beta1 kind: FlinkDeployment metadata: name: basic-example spec: flinkVersion: v1_18 image: <
YOUR_ACCOUNT_ID
>.dkr.ecr.<YOUR_ECR_REGION
>.amazonaws.com/<ECR_REPO
>:<ECR_TAG
> imagePullPolicy: Always flinkConfiguration: taskmanager.numberOfTaskSlots: "1"
Untuk menggunakan gambar kustom untuk pekerjaan Fluentd Anda, masukkan gambar Anda sendiri di monitoringConfiguration.image
baris spesifikasi penerapan Anda.
monitoringConfiguration: image: <
YOUR_ACCOUNT_ID
>.dkr.ecr.<YOUR_ECR_REGION
>.amazonaws.com/<ECR_REPO
>:<ECR_TAG
> cloudWatchMonitoringConfiguration: logGroupName: flink-log-group logStreamNamePrefix: custom-fluentd