Kubernetes - cara memetakan parameter baris perintah docker run ke baris perintah kubectl

Saya perlu menjalankan perintah Docker ini di Kubernetes:

docker run -p 8080:8080 sagemath/sagemath sage -notebook

Saya dapat memetakan semuanya kecuali "- notebook " - apakah ada yang tahu cara melakukannya?

Inilah yang saya miliki sejauh ini, dan tentu saja tidak berfungsi karena "- notebook" Tidak diterjemahkan ke kubectl dengan benar:

kubectl run --image=sagemath/sagemath sage --port=8080 --type=LoadBalancer -notebook

Saat Anda menentukan spesifikasi pod untuk sage Anda, Anda dapat menentukan keduanya command dan sebuah args array, jadi untuk Anda itu akan menjadi seperti

command: sageargs:- -notebook

untuk peluncuran dengan kubectl run

Usage:  kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...] [options]

jadi coba jalankan dengan -- pembatas : kubectl run --image=sagemath/sagemath --port=8080 --type=LoadBalancer -- sage -notebook

-- melakukan trik. Ini berarti bahwa kubectl tidak akan mengurai sebagai argumen kubectl string berikut yang dimulai dengan -

Jadi Anda menjalankan wadah yang mengeksekusi:

kubectl run --image=sagemath/sagemath --port=8080 sage -- -notebook

Dan jika Anda menginginkan IP publik di GKE, Anda harus mengekspos eksekusi kontainer:

kubectl expose deploy sage --type=LoadBalancer --port=8080

Anda bisa menjalankan IP publik kubectl get service di baris sage pada kolom EXTERNAL-IP

command: sage notebookargs:

Untuk kasus seperti itu

k run --image=sagemath/sagemath --port=8080 --command=true -- sage notebook

-- command = falsejika argumen true dan extra ada, gunakan sebagai bidang 'command' dalam wadah, bukan bidang 'args' yang merupakan default.

‘- notebook bukanlah argumen untuk docker atau kubectl, tetapi untuksage’.

Ya - tetapi bagaimana saya menerapkannya di kubectl-itulah pertanyaannya. Baris perintah docker di atas berfungsi

Perintah yang ingin Anda jalankan berjalan di akhir, seperti sebelumnya.