Saya menginstal diagram kemudi default dari Argo Workflow dengan hanya mengonfigurasi init.serviceAccount sebagai argo-sa, yang telah saya buat. (ServiceAccount dengan otorisasi yang cukup) Namun, menjalankan setiap Alur Kerja berjalan sebagai Default akun layanan, yang saya tidak tahu di mana pengaturannya dikonfigurasi. Menurut README yang disediakan oleh Argo Helm Chart, menetapkan init.serviceAccount sebagai akun layanan yang telah saya buat akan menyelesaikan masalah. Solusinya adalah memodifikasi akun layanan Default, tetapi tampaknya itu bukan solusi yang bagus. Apakah ada sesuatu yang saya mengerti salah? Terima kasih sebelumnya.

2
Piljae Chae 20 November 2020, 08:51

1 menjawab

Jawaban Terbaik

Penginstalan Argo tidak mengontrol Alur Kerja ServiceAccount mana yang digunakan. Menurut Argo docs,

Ketika tidak ada ServiceAccount yang disediakan [ketika Alur Kerja dikirimkan], Argo akan menggunakan ServiceAccount default dari namespace tempat dijalankannya, yang hampir selalu memiliki hak istimewa yang tidak mencukupi secara default.

Jika Anda menggunakan Argo CLI untuk mengirimkan Alur Kerja, Anda dapat menentukan ServiceAccount dengan --serviceaccount.

Jika Anda menggunakan kubectl apply atau alat lain untuk menginstal Alur Kerja, Anda dapat setel nama ServiceAccount dalam definisi yaml. Lihat contoh dari dokumentasi, atau contoh singkatan ini:

apiVersion: argoproj.io/v1alpha1
kind: Workflow
spec:
  serviceAccountName: some-serviceaccount

Untuk memudahkan, bagan Argo Helm menyediakan cara untuk membuat ServiceAccount untuk menjalankan Alur Kerja Anda. Tapi itu sebenarnya tidak menyebabkan Alur Kerja Anda menggunakan ServiceAccount itu. Anda harus menentukannya saat mengirimkan Alur Kerja.

  serviceAccount:
    create: false  # Specifies whether a service account should be created
    annotations: {}
    name: "argo-workflow"  # Service account which is used to run workflows
  rbac:
    create: false  # adds Role and RoleBinding for the above specified service account to be able to run workflows
4
Michael Crenshaw 20 November 2020, 14:32