Saya baru saja meningkatkan kubeadm dan kubelet ke v1.8.0. Dan instal dasbor mengikuti dokumen resmi .
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
Setelah itu, saya memulai dasbor dengan menjalankan
$ kubectl proxy --address="192.168.0.101" -p 8001 --accept-hosts='^*$'
Untungnya, saya dapat mengakses dasbor melalui http://192.168.0.101:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
Saya dialihkan ke halaman login seperti ini yang belum pernah saya temui sebelumnya. Sepertinya ada dua cara otentikasi.
Saya mencoba mengunggah /etc/kubernetes/admin.conf
sebagai kubeconfig tetapi gagal. Kemudian saya mencoba menggunakan token yang saya dapat dari kubeadm token list
untuk masuk tetapi gagal lagi.
Pertanyaannya adalah bagaimana saya bisa masuk ke dasbor. Sepertinya mereka menambahkan banyak mekanisme keamanan dari sebelumnya. Terima kasih.
sumber
Jawaban:
- Dasbor di Github
Token
Di sini
Token
dapatStatic Token
,Service Account Token
,OpenID Connect Token
dari Kubernetes Otentikasi , tapi tidak kubeadm yangBootstrap Token
.Dengan kubectl, kita bisa mendapatkan akun layanan (mis. Pengontrol penerapan) yang dibuat di kubernetes secara default.
Kubeconfig
Dasbor membutuhkan pengguna di file kubeconfig untuk memiliki
username & password
atautoken
, tetapiadmin.conf
hanya memilikiclient-certificate
. Anda dapat mengedit file konfigurasi untuk menambahkan token yang telah diekstrak menggunakan metode di atas.Alternatif (Tidak direkomendasikan untuk Produksi)
Berikut dua cara untuk melewati otentikasi, tetapi gunakan untuk hati-hati.
Terapkan dasbor dengan HTTP
Dashboard dapat dimuat di http: // localhost: 8001 / ui dengan
kubectl proxy
.Memberikan hak istimewa admin ke Akun Layanan Dashboard
Setelah itu Anda dapat menggunakan Skipopsi di halaman login untuk mengakses Dashboard.
Jika Anda menggunakan dasbor versi v1.10.1 atau yang lebih baru, Anda juga harus menambahkan
--enable-skip-login
ke argumen baris perintah penerapan. Anda dapat melakukannya dengan menambahkannya keargs
dalamkubectl edit deployment/kubernetes-dashboard --namespace=kube-system
.Contoh:
sumber
TL; DR
Untuk mendapatkan token dalam satu oneliner:
Ini mengasumsikan bahwa ~ / .kube / config Anda ada dan valid. Dan juga itu
kubectl config get-contexts
menunjukkan bahwa Anda menggunakan konteks yang benar (cluster dan namespace) untuk dasbor yang Anda masuki.Penjelasan
Saya mendapatkan jawaban ini dari apa yang saya pelajari dari jawaban @ silverfox. Itu adalah tulisan yang sangat informatif. Sayangnya itu tidak memberi tahu Anda bagaimana sebenarnya mempraktikkan informasi. Mungkin saya telah melakukan DevOps terlalu lama, tapi saya pikir di shell. Jauh lebih sulit bagi saya untuk belajar atau mengajar dalam bahasa Inggris.
Berikut adalah satu baris dengan jeda baris dan indentasi agar mudah dibaca:
Ada 4 perintah berbeda dan dipanggil dalam urutan ini:
deployment-controller-token-
(yang merupakan nama pod)sumber
kubectl describe secret $(kubectl get secret | awk '/^dashboard-token-/{print $1}') | awk '$1=="token:"{print $2}'
Atau tekan langsung ke papan klip Andakubectl describe secret $(kubectl get secret | awk '/^dashboard-token-/{print $1}') | awk '$1=="token:"{print $2}' | xclip -selection clipboard -i
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | sls admin-user | ForEach-Object { $_ -Split '\s+' } | Select -First 1)
dari github.com/kubernetes/dashboard/blob/master/docs/user/…Jika Anda tidak ingin memberikan izin admin ke akun layanan dasbor, Anda dapat membuat akun layanan admin cluster.
Dan kemudian, Anda dapat menggunakan token dari akun layanan admin cluster yang baru saja dibuat.
Saya mengutipnya dari panduan giantswarm - https://docs.giantswarm.io/guides/install-kubernetes-dashboard/
sumber
Menggabungkan dua jawaban: 49992698 dan 47761914 :
sumber
Satu baris sederhana yang cukup jelas untuk mengekstrak token untuk login kubernetes dashboard.
Salin token dan tempel di dasbor kubernetes di bawah opsi masuk token dan Anda dapat menggunakan dasbor kubernetes
sumber
Semua jawaban sebelumnya bagus untuk saya. Tetapi jawaban langsung di pihak saya akan datang dari https://github.com/kubernetes/dashboard/wiki/Creating-sample-user#bearer-token . Gunakan saja
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
. Anda akan memiliki banyak nilai untuk beberapa tombol (Name
,Namespace
,Labels
, ...,token
). Yang paling penting adalahtoken
yang sesuai dengan nama Anda. salin token itu dan tempel di kotak token. Semoga ini membantu.sumber
Anda harus mengikuti langkah-langkah ini sebelum otentikasi token
Buat akun layanan Admin Cluster
Tambahkan aturan pengikatan cluster ke akun dasbor Anda
Dapatkan token rahasia dengan perintah ini
Pilih otentikasi token di halaman login dasbor Kubernetes
Sekarang Anda sudah bisa login
sumber
Unduh https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/alternative/kubernetes-dashboard.yaml
Menambahkan
Dan kemudian jalankan perintah ini:
Temukan port yang terbuka dengan perintah:
Anda seharusnya bisa mendapatkan dasbor di http: // hostname: eksposport / tanpa otentikasi
sumber
Lewati login telah dinonaktifkan secara default karena masalah keamanan. https://github.com/kubernetes/dashboard/issues/2672
di dasbor Anda, yaml tambahkan argumen ini
untuk mendapatkannya kembali
sumber
The skip login has been disabled by default due to security issues
. Upaya jawabannya adalah- --enable-skip-login
. Mungkin ini bukan jawaban terbaik, tetapi ini bukan hanya jawaban tautan.The skip login has been disabled by default due to security issues
. Upaya jawabannya adalah- --enable-skip-login
. Mungkin ini bukan jawaban terbaik, tetapi ini bukan hanya jawaban tautan.