Anda dapat menjalankan perintah di dalam kontainer pada instans Elastic Compute Service (ECS) Linux. Biasanya, untuk menjalankan perintah di dalam kontainer pada instans Linux, Anda harus terhubung ke instans tersebut dan mengakses kontainer secara manual. Cloud Assistant menyederhanakan proses ini dengan memungkinkan Anda terhubung langsung ke kontainer tanpa kata sandi atau login, serta tanpa menggunakan jump server. Untuk menjalankan perintah di dalam kontainer, Anda dapat menetapkan parameter ContainerId atau ContainerName ke nama atau ID kontainer Kubernetes saat memanggil operasi RunCommand atau InvokeCommand.
Prasyarat
Instansinya berada dalam keadaan Running.
Cloud Assistant Agent telah terinstal pada instans, dengan versi Cloud Assistant Agent 2.2.3.344 atau yang lebih baru.
Untuk informasi lebih lanjut, lihat Instal Cloud Assistant Agent.
Batasan
Cloud Assistant hanya dapat menjalankan perintah di dalam kontainer yang dikelola oleh Kubernetes berdasarkan Antarmuka Runtime Kontainer (CRI) dan berjalan di dalam runtime kontainer Docker, containerd, atau CRI-O.
Tabel berikut menjelaskan batasan yang diberlakukan oleh CRI saat menjalankan perintah di dalam kontainer, beserta solusi untuk mengatasinya.
Batasan
Deskripsi dan Solusi
Hanya pengguna default dari sebuah kontainer yang dapat digunakan untuk menjalankan perintah di dalam kontainer tersebut.
Setelah menentukan parameter
ContainerId,ContainerName, atau keduanya, parameterUsernametidak akan berpengaruh. Pengguna default dari kontainer digunakan untuk menjalankan perintah.Jika ingin mengubah pengguna yang digunakan untuk menjalankan perintah, jalankan perintah
sudodi dalam kontainer. Pastikan bahwa gambar kontainer mendukung perubahan pengguna.
Perintah hanya dapat dijalankan di direktori kerja default dari sebuah kontainer.
Setelah menentukan parameter
ContainerId,ContainerName, atau keduanya, parameterWorkingDirtidak akan berpengaruh. Perintah dijalankan di direktori kerja default dari kontainer.Untuk mengubah direktori kerja dari perintah, tambahkan perintah
cddi awal skrip shell.
Hanya skrip shell yang dapat dijalankan di dalam kontainer. Anda tidak dapat menambahkan perintah dalam format seperti
#!/usr/bin/pythondi awal skrip untuk menentukan interpreter skrip.Setelah menentukan parameter
ContainerId,ContainerName, atau keduanya, skrip shell Linux dijalankan menggunakan/bin/shdi dalam kontainer. Interpreter skrip yang ditentukan oleh perintah yang dimulai dengan#!tidak dapat dikenali.Untuk menjalankan skrip dalam bahasa lain di dalam kontainer, panggil interpreter bahasa tersebut di dalam kontainer dan masukkan skripnya. Sebagai contoh, Anda dapat menambahkan perintah
/usr/bin/python -c 'import sys; print(sys.version_info)'di awal skrip untuk memanggil interpreter Python di dalam kontainer.
Prosedur
Lihat ID dan nama dari sebuah kontainer Kubernetes.
Gunakan Cloud Assistant untuk menjalankan perintah di dalam kontainer.
Anda hanya dapat menjalankan perintah di kontainer tertentu dengan memanggil operasi API. Saat memanggil operasi RunCommand atau InvokeCommand khusus untuk Cloud Assistant guna menjalankan perintah di kontainer tertentu, Anda harus menentukan parameter
ContainerId, parameterContainerName, atau keduanya.CatatanUntuk informasi tentang batasan penggunaan Cloud Assistant untuk menjalankan perintah, lihat bagian "Prasyarat" dan "Informasi Latar Belakang" dalam topik Gunakan Fitur Eksekusi Segera.
Hasil
Anda dapat memanggil operasi DescribeInvocations atau DescribeInvocationResults untuk menanyakan status eksekusi atau hasil eksekusi dari perintah. Anda dapat melihat nilai ContainerId dan ContainerName dalam respons.