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.
Membuat cluster lokal di Outpost
Topik ini memberikan gambaran umum tentang apa yang harus dipertimbangkan saat menjalankan cluster lokal di Outpost. Topik ini juga memberikan instruksi tentang cara menyebarkan cluster lokal di Outpost.
Pertimbangan
penting
-
Pertimbangan ini tidak direplikasi dalam dokumentasi Amazon EKS terkait. Jika topik dokumentasi Amazon EKS lainnya bertentangan dengan pertimbangan di sini, ikuti pertimbangannya di sini.
-
Pertimbangan ini dapat berubah dan mungkin sering berubah. Jadi, kami sarankan Anda meninjau topik ini secara teratur.
-
Banyak pertimbangan yang berbeda dari pertimbangan untuk membuat cluster di. AWS Cloud
-
Cluster lokal hanya mendukung rak Outpost. Sebuah cluster lokal tunggal dapat berjalan di beberapa rak Outpost fisik yang terdiri dari satu pos logis. Satu cluster lokal tidak dapat berjalan di beberapa Outposts logis. Setiap Outpost logis memiliki ARN Outpost tunggal.
-
Cluster lokal menjalankan dan mengelola bidang Kubernetes kontrol di akun Anda di Outpost. Anda tidak dapat menjalankan beban kerja pada instance bidang Kubernetes kontrol atau memodifikasi komponen bidang Kubernetes kontrol. Node ini dikelola oleh layanan Amazon EKS. Perubahan pada bidang Kubernetes kontrol tidak bertahan melalui tindakan manajemen Amazon EKS otomatis, seperti menambal.
-
Cluster lokal mendukung add-on yang dikelola sendiri dan grup node Amazon Linux yang dikelola sendiri. The Amazon VPC CNI plugin for Kubernetes, kube-proxy, dan CoreDNSadd-on secara otomatis diinstal pada cluster lokal.
-
Cluster lokal memerlukan penggunaan Amazon EBS di Outposts. Pos Luar Anda harus memiliki Amazon EBS yang tersedia untuk penyimpanan pesawat Kubernetes kontrol.
-
Cluster lokal menggunakan Amazon EBS di Outposts. Pos Luar Anda harus memiliki Amazon EBS yang tersedia untuk penyimpanan pesawat Kubernetes kontrol. Outposts hanya mendukung volume Amazon EBS
gp2
. -
Amazon EBS Kubernetes
PersistentVolumes
didukung menggunakan driver Amazon EBS CSI.
Prasyarat
-
Keakraban dengan opsi Pertimbangan kapasitaspenyebaran Outposts,, dan. Persyaratan dan pertimbangan VPC klaster lokal dan subnet Amazon EKS
-
Pos terdepan yang ada. Untuk informasi lebih lanjut, lihat Apa yang dimaksud dengan AWS Outposts.
-
Alat baris
kubectl
perintah diinstal pada komputer Anda atau AWS CloudShell. Versi dapat sama dengan atau hingga satu versi minor lebih awal atau lebih lambat dari Kubernetes versi cluster Anda. Misalnya, jika versi cluster Anda1.29
, Anda dapat menggunakankubectl
versi1.28
,1.29
, atau1.30
dengan itu. Untuk menginstal atau memutakhirkankubectl
, lihat Menginstal atau memperbarui kubectl. -
Versi
2.12.3
atau yang lebih baru atau versi1.27.160
atau yang lebih baru dari AWS Command Line Interface (AWS CLI) diinstal dan dikonfigurasi pada perangkat Anda atau AWS CloudShell. Untuk memeriksa versi Anda saat ini, gunakan
. Package manager sepertiaws --version | cut -d / -f2 | cut -d ' ' -f1
yum
apt-get
,, atau Homebrew untuk macOS sering beberapa versi di belakang versi terbaru dari file AWS CLI. Untuk menginstal versi terbaru, lihat Menginstal, memperbarui, dan menghapus konfigurasi AWS CLI dan Cepat dengan aws configure di Panduan AWS Command Line Interface Pengguna. AWS CLI Versi yang diinstal AWS CloudShell mungkin juga beberapa versi di belakang versi terbaru. Untuk memperbaruinya, lihat Menginstal AWS CLI ke direktori home Anda di Panduan AWS CloudShell Pengguna. -
Prinsipal IAM (pengguna atau peran) dengan izin
create
dan klusterdescribe
Amazon EKS. Untuk informasi selengkapnya, lihat Buat Kubernetes cluster lokal di Outpost dan Buat daftar atau deskripsikan semua klaster.
Saat kluster Amazon EKS lokal dibuat, prinsipal IAM yang membuat cluster ditambahkan secara permanen. Prinsipal secara khusus ditambahkan ke tabel otorisasi Kubernetes RBAC sebagai administrator. Entitas ini memiliki system:masters
izin. Identitas entitas ini tidak terlihat dalam konfigurasi klaster Anda. Jadi, penting untuk mencatat entitas yang membuat cluster dan pastikan Anda tidak pernah menghapusnya. Awalnya, hanya prinsipal yang membuat server dapat melakukan panggilan ke server Kubernetes API menggunakankubectl
. Jika Anda menggunakan konsol untuk membuat klaster, pastikan kredenal IAM yang sama ada di rantai kredensi AWS SDK saat Anda menjalankan kubectl
perintah di klaster. Setelah klaster Anda dibuat, Anda dapat memberikan prinsipal IAM lainnya akses ke klaster Anda.
Untuk membuat kluster lokal Amazon EKS lokal
Anda dapat membuat cluster lokal denganeksctl
,, Amazon EKS API AWS CLI, AWS SDK
-
Buat cluster lokal.
-
Setelah klaster dibuat, Anda dapat melihat instans bidang kontrol Amazon EC2 yang dibuat.
aws ec2 describe-instances --query 'Reservations[*].Instances[*].{Name:Tags[?Key==`Name`]|[0].Value}' | grep
my-cluster-
control-planeContoh output adalah sebagai berikut.
"Name": "
my-cluster
-control-plane-id1
" "Name": "my-cluster
-control-plane-id2
" "Name": "my-cluster
-control-plane-id3
"Setiap instance dicemari
node-role.eks-local.amazonaws.com/control-plane
sehingga tidak ada beban kerja yang dijadwalkan pada instance bidang kontrol. Untuk informasi selengkapnya tentang taints, lihat Taints and Tolerations dalam dokumentasi.Kubernetes Amazon EKS terus memantau keadaan cluster lokal. Kami melakukan tindakan manajemen otomatis, seperti patch keamanan dan memperbaiki instans yang tidak sehat. Ketika kluster lokal terputus dari cloud, kami menyelesaikan tindakan untuk memastikan bahwa klaster diperbaiki ke keadaan sehat setelah tersambung kembali. -
Jika Anda membuat cluster Anda menggunakan
eksctl
, maka Anda dapat melewati langkah ini.eksctl
menyelesaikan langkah ini untuk Anda. Aktifkankubectl
untuk berkomunikasi dengan cluster Anda dengan menambahkan konteks baru kekubectl
config
file. Untuk petunjuk tentang cara membuat dan memperbarui file, lihatMembuat atau memperbarui kubeconfig file untuk kluster Amazon EKS.aws eks update-kubeconfig --region
region-code
--namemy-cluster
Contoh output adalah sebagai berikut.
Added new context arn:aws:eks:
region-code
:111122223333
:cluster/my-cluster
to/home/username/
.kube/config -
Untuk terhubung ke server Kubernetes API cluster lokal Anda, dapatkan akses ke gateway lokal untuk subnet, atau sambungkan dari dalam VPC. Untuk informasi selengkapnya tentang menghubungkan rak Outpost ke jaringan lokal, lihat Cara kerja gateway lokal untuk rak di Panduan Pengguna. AWS Outposts Jika Anda menggunakan Direct VPC Routing dan subnet Outpost memiliki rute ke gateway lokal Anda, alamat IP pribadi dari instance pesawat Kubernetes kontrol secara otomatis disiarkan melalui jaringan lokal Anda. Titik akhir server Kubernetes API cluster lokal di-host di Amazon Route 53 (Route 53). Endpoint layanan API dapat diselesaikan oleh server DNS publik ke alamat IP pribadi server Kubernetes API.
Instans bidang Kubernetes kontrol kluster lokal dikonfigurasi dengan antarmuka jaringan elastis statis dengan alamat IP pribadi tetap yang tidak berubah sepanjang siklus hidup cluster. Mesin yang berinteraksi dengan server Kubernetes API mungkin tidak memiliki konektivitas ke Route 53 selama pemutusan jaringan. Jika ini masalahnya, kami sarankan untuk mengonfigurasi
/etc/hosts
dengan alamat IP pribadi statis untuk operasi lanjutan. Kami juga merekomendasikan untuk menyiapkan server DNS lokal dan menghubungkannya ke Outpost Anda. Untuk informasi lebih lanjut, lihat dokumentasi AWS Outposts. Jalankan perintah berikut untuk mengonfirmasi bahwa komunikasi telah dibuat dengan cluster Anda.kubectl get svc
Contoh output adalah sebagai berikut.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 28h
-
(Opsional) Uji otentikasi ke klaster lokal Anda saat berada dalam keadaan terputus dari. AWS Cloud Untuk petunjuk, lihat Mempersiapkan pemutusan jaringan.
Sumber daya internal
Amazon EKS membuat sumber daya berikut di cluster Anda. Sumber dayanya untuk penggunaan internal Amazon EKS. Agar klaster berfungsi dengan baik, jangan mengedit atau memodifikasi sumber daya ini.
-
Cermin
berikutPods: -
aws-iam-authenticator-
node-hostname
-
eks-certificates-controller-
node-hostname
-
etcd-
node-hostname
-
kube-apiserver-
node-hostname
-
kube-controller-manager-
node-hostname
-
kube-scheduler-
node-hostname
-
-
Pengaya yang dikelola sendiri berikut ini:
-
kube-system/coredns
-
kube-system/
kube-proxy
(tidak dibuat sampai Anda menambahkan node pertama Anda) -
kube-system/aws-node
(tidak dibuat sampai Anda menambahkan node pertama Anda). Cluster lokal menggunakan Amazon VPC CNI plugin for Kubernetes plugin untuk jaringan cluster. Jangan mengubah konfigurasi untuk instance control plane (Pod bernamaaws-node-controlplane-*
). Ada variabel konfigurasi yang dapat Anda gunakan untuk mengubah nilai default ketika plugin membuat antarmuka jaringan baru. Untuk informasi lebih lanjut, lihat dokumentasidi GitHub.
-
-
Layanan berikut:
-
default/kubernetes
-
kube-system/kube-dns
-
-
Sebuah
PodSecurityPolicy
bernamaeks.system
-
Sebuah
ClusterRole
bernamaeks:system:podsecuritypolicy
-
Sebuah
ClusterRoleBinding
bernamaeks:system
-
PodSecurityKebijakan default
-
Selain grup keamanan cluster, Amazon EKS membuat grup keamanan di nama Anda Akun AWS
eks-local-internal-do-not-use-or-edit-
. Grup keamanan ini memungkinkan lalu lintas mengalir bebas di antara Kubernetes komponen yang berjalan pada instance bidang kontrol.cluster-name
-uniqueid
Langkah selanjutnya yang disarankan:
-
Berikan akses entitas IAM ke klaster Anda. Jika Anda ingin entitas melihat Kubernetes sumber daya di konsol Amazon EKS, berikan Izin yang diperlukan kepada entitas.
-
Biasakan diri Anda dengan apa yang terjadi selama pemutusan jaringan.
-
Pertimbangkan untuk menyiapkan rencana cadangan untuk Anda
etcd
. Amazon EKS tidak mendukung pencadangan dan pemulihan otomatisetcd
untuk kluster lokal. Untuk informasi selengkapnya, lihat Mencadangkanetcd
klasterdi Kubernetes dokumentasi. Dua opsi utama digunakan etcdctl
untuk mengotomatiskan pengambilan snapshot atau menggunakan cadangan volume penyimpanan Amazon EBS.