Bantu tingkatkan halaman ini
Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Siapkan EKS kluster Amazon lokal AWS Outposts untuk pemutusan jaringan
Jika jaringan lokal Anda kehilangan konektivitas dengan jaringan AWS Cloud, Anda dapat terus menggunakan EKS kluster Amazon lokal Anda di Outpost. Topik ini mencakup bagaimana Anda dapat mempersiapkan cluster lokal Anda untuk pemutusan jaringan dan pertimbangan terkait.
Pertimbangan saat menyiapkan klaster lokal Anda untuk pemutusan jaringan:
-
Cluster lokal memungkinkan stabilitas dan operasi lanjutan selama pemutusan jaringan sementara yang tidak direncanakan. AWS Outposts tetap merupakan penawaran yang sepenuhnya terhubung yang bertindak sebagai perpanjangan dari AWS Cloud di pusat data Anda. Jika jaringan terputus antara Outpost Anda dan AWS Cloud, kami sarankan untuk mencoba memulihkan koneksi Anda. Untuk instruksi, lihat daftar periksa pemecahan masalah jaringan AWS Outposts rak di Panduan Pengguna.AWS Outposts Untuk informasi selengkapnya tentang cara memecahkan masalah dengan kluster lokal, lihat. Memecahkan masalah kluster Amazon lokal di EKS AWS Outposts
-
Outposts memancarkan
ConnectedStatus
metrik yang dapat Anda gunakan untuk memantau status konektivitas Outpost Anda. Untuk informasi selengkapnya, lihat Metrik Outposts di Panduan Pengguna.AWS Outposts -
Cluster lokal digunakan IAM sebagai mekanisme otentikasi default menggunakan authenticator untuk AWS Identity and Access ManagementKubernetes
. IAMtidak tersedia selama pemutusan jaringan. Jadi, cluster lokal mendukung mekanisme otentikasi alternatif menggunakan x.509
sertifikat yang dapat Anda gunakan untuk terhubung ke cluster Anda selama pemutusan jaringan. Untuk informasi tentang cara mendapatkan dan menggunakanx.509
sertifikat untuk klaster Anda, lihatMengautentikasi ke cluster lokal Anda selama pemutusan jaringan. -
Jika Anda tidak dapat mengakses Route 53 selama pemutusan jaringan, pertimbangkan untuk menggunakan DNS server lokal di lingkungan lokal Anda. Bagian Kubernetes instance control plane menggunakan alamat IP statis. Anda dapat mengonfigurasi host yang Anda gunakan untuk terhubung ke cluster Anda dengan nama host endpoint dan alamat IP sebagai alternatif untuk menggunakan server lokalDNS. Untuk informasi selengkapnya, lihat DNSdi Panduan AWS Outposts Pengguna.
-
Jika Anda mengharapkan peningkatan lalu lintas aplikasi selama pemutusan jaringan, Anda dapat menyediakan kapasitas komputasi cadangan di cluster Anda saat terhubung ke cloud. EC2Instans Amazon sudah termasuk dalam harga. AWS Outposts Jadi, menjalankan instance cadangan tidak memengaruhi biaya AWS penggunaan Anda.
-
Selama pemutusan jaringan untuk mengaktifkan operasi pembuatan, pembaruan, dan skala untuk beban kerja, gambar kontainer aplikasi Anda harus dapat diakses melalui jaringan lokal dan cluster Anda harus memiliki kapasitas yang cukup. Cluster lokal tidak meng-host registri kontainer untuk Anda. Jika Pods sebelumnya telah berjalan pada node tersebut, gambar kontainer di-cache pada node. Jika Anda biasanya menarik gambar kontainer aplikasi Anda dari Amazon ECR di cloud, pertimbangkan untuk menjalankan cache atau registri lokal. Cache atau registri lokal sangat membantu jika Anda memerlukan operasi buat, perbarui, dan skala untuk sumber daya beban kerja selama pemutusan jaringan.
-
Cluster lokal menggunakan Amazon EBS sebagai kelas penyimpanan default untuk volume persisten dan EBS CSI driver Amazon untuk mengelola siklus hidup volume persisten AmazonEBS. Selama pemutusan jaringan, Pods yang didukung oleh Amazon tidak EBS dapat dibuat, diperbarui, atau diskalakan. Ini karena operasi ini memerlukan panggilan ke Amazon EBS API di cloud. Jika Anda menerapkan beban kerja stateful pada kluster lokal dan memerlukan operasi pembuatan, pembaruan, atau skala selama pemutusan jaringan, pertimbangkan untuk menggunakan mekanisme penyimpanan alternatif.
-
EBSSnapshot Amazon tidak dapat dibuat atau dihapus jika tidak AWS Outposts dapat mengakses AWS wilayah yang relevan APIs (seperti untuk Amazon EBS atau APIs Amazon S3).
-
Saat mengintegrasikan ALB (Ingress) dengan AWS Certificate Manager (ACM), sertifikat didorong dan disimpan dalam memori instance AWS Outposts ALB Compute. TLSPenghentian saat ini akan terus beroperasi jika terjadi pemutusan sambungan dari. Wilayah AWS Operasi mutasi dalam konteks ini akan gagal (seperti definisi masuk baru, API operasi sertifikat ACM berbasis baru, skala ALB komputasi, atau rotasi sertifikat). Untuk informasi selengkapnya, lihat Memecahkan masalah perpanjangan sertifikat terkelola di Panduan Pengguna.AWS Certificate Manager
-
Log pesawat EKS kontrol Amazon di-cache secara lokal di Kubernetes contoh bidang kontrol selama pemutusan jaringan. Setelah menyambung kembali, log dikirim ke CloudWatch Log di induk Wilayah AWS. Anda dapat menggunakan Prometheus
, Grafana , atau solusi EKS mitra Amazon untuk memantau cluster secara lokal menggunakan Kubernetes APItitik akhir metrik server atau menggunakan Fluent Bit untuk log. -
Jika Anda menggunakan AWS Load Balancer Controller di Outposts untuk lalu lintas aplikasi, yang ada Pods digawangi oleh AWS Load Balancer Controller terus menerima lalu lintas selama pemutusan jaringan. Baru Pods dibuat selama pemutusan jaringan tidak menerima lalu lintas sampai Outpost tersambung kembali ke. AWS Cloud Pertimbangkan untuk mengatur jumlah replika untuk aplikasi Anda saat terhubung ke AWS Cloud untuk mengakomodasi kebutuhan penskalaan Anda selama pemutusan jaringan.
-
Bagian Amazon VPC CNI plugin for Kubernetes default ke mode IP sekunder
. Ini dikonfigurasi dengan WARM_ENI_TARGET
=1
, yang memungkinkan plugin untuk menjaga “full elastic network interface” dari alamat IP yang tersedia. Pertimbangkan untuk mengubahWARM_ENI_TARGET
,WARM_IP_TARGET
, danMINIMUM_IP_TARGET
nilai sesuai dengan kebutuhan penskalaan Anda selama keadaan terputus. Untuk informasi selengkapnya, lihatreadme
file untuk plugin di GitHub. Untuk daftar jumlah maksimum Pods yang didukung oleh setiap jenis instance, lihat eni-max-pods.txt
file di GitHub.
Mengautentikasi ke cluster lokal Anda selama pemutusan jaringan
AWS Identity and Access Management (IAM) tidak tersedia selama pemutusan jaringan. Anda tidak dapat mengautentikasi ke klaster lokal menggunakan IAM kredensi saat terputus. Namun, Anda dapat terhubung ke cluster Anda melalui jaringan lokal Anda menggunakan x509
sertifikat saat terputus. Anda perlu mengunduh dan menyimpan X509
sertifikat klien untuk digunakan selama pemutusan sambungan. Dalam topik ini, Anda mempelajari cara membuat dan menggunakan sertifikat untuk mengautentikasi ke klaster Anda saat berada dalam keadaan terputus.
-
Buat permintaan penandatanganan sertifikat.
-
Buat permintaan penandatanganan sertifikat.
openssl req -new -newkey rsa:4096 -nodes -days 365 \ -keyout admin.key -out admin.csr -subj "/CN=admin"
-
Buat permintaan penandatanganan sertifikat di Kubernetes.
BASE64_CSR=$(cat admin.csr | base64 -w 0) cat << EOF > admin-csr.yaml apiVersion: certificates.k8s.io/v1 kind: CertificateSigningRequest metadata: name: admin-csr spec: signerName: kubernetes.io/kube-apiserver-client request: ${BASE64_CSR} usages: - client auth EOF
-
-
Buat permintaan penandatanganan sertifikat menggunakan
kubectl
.kubectl create -f admin-csr.yaml
-
Periksa status permintaan penandatanganan sertifikat.
kubectl get csr admin-csr
Contoh output adalah sebagai berikut.
NAME AGE REQUESTOR CONDITION admin-csr 11m kubernetes-admin Pending
Kubernetes membuat permintaan penandatanganan sertifikat.
-
Menyetujui permintaan penandatanganan sertifikat.
kubectl certificate approve admin-csr
-
Periksa kembali status permintaan penandatanganan sertifikat untuk persetujuan.
kubectl get csr admin-csr
Contoh output adalah sebagai berikut.
NAME AGE REQUESTOR CONDITION admin-csr 11m kubernetes-admin Approved
-
Ambil dan verifikasi sertifikat.
-
Ambil sertifikat.
kubectl get csr admin-csr -o jsonpath='{.status.certificate}' | base64 --decode > admin.crt
-
Verifikasi sertifikat.
cat admin.crt
-
-
Buat pengikatan peran klaster untuk
admin
pengguna.kubectl create clusterrolebinding admin --clusterrole=cluster-admin \ --user=admin --group=system:masters
-
Hasilkan kubeconfig dengan cakupan pengguna untuk status terputus.
Anda dapat membuat
kubeconfig
file menggunakanadmin
sertifikat yang diunduh. Gantimy-cluster
andapiserver-endpoint
dalam perintah berikut.aws eks describe-cluster --name
my-cluster
\ --query "cluster.certificateAuthority" \ --output text | base64 --decode > ca.crtkubectl config --kubeconfig
admin.kubeconfig
set-clustermy-cluster
\ --certificate-authority=ca.crt --serverapiserver-endpoint
--embed-certskubectl config --kubeconfig
admin.kubeconfig
set-credentials admin \ --client-certificate=admin.crt --client-key=admin.key --embed-certskubectl config --kubeconfig
admin.kubeconfig
set-context admin@my-cluster
\ --clustermy-cluster
--user adminkubectl config --kubeconfig
admin.kubeconfig
use-context admin@my-cluster
-
Lihat
kubeconfig
file Anda.kubectl get nodes --kubeconfig
admin.kubeconfig
-
Jika Anda memiliki layanan yang sudah diproduksi di Outpost Anda, lewati langkah ini. Jika Amazon EKS adalah satu-satunya layanan yang berjalan di Outpost Anda dan Outpost saat ini tidak dalam produksi, Anda dapat mensimulasikan pemutusan jaringan. Sebelum Anda masuk ke produksi dengan cluster lokal Anda, simulasikan pemutusan untuk memastikan bahwa Anda dapat mengakses klaster Anda saat berada dalam keadaan terputus.
-
Terapkan aturan firewall pada perangkat jaringan yang menghubungkan Outpost Anda ke. Wilayah AWS Ini memutus tautan layanan dari Outpost. Anda tidak dapat membuat instance baru. Saat ini instans yang sedang berjalan kehilangan konektivitas ke Wilayah AWS dan internet.
-
Anda dapat menguji koneksi ke cluster lokal Anda saat terputus menggunakan
x509
sertifikat. Pastikan untuk mengubah Andakubeconfig
keadmin.kubeconfig
yang Anda buat pada langkah sebelumnya. Gantimy-cluster
dengan nama cluster lokal Anda.kubectl config use-context admin@
my-cluster
--kubeconfigadmin.kubeconfig
Jika Anda melihat ada masalah dengan kluster lokal Anda saat berada dalam keadaan terputus, sebaiknya buka tiket dukungan.
-