Kubeadm: [PERINGATAN FileExisting-crictl]: crictl tidak ditemukan di jalur sistem

Dibuat pada 25 Des 2017  ·  22Komentar  ·  Sumber: kubernetes/kubeadm

versi kube: 1.9.0

Bagaimana cara mengatasi pemeriksaan pra-penerbangan ini, apa arti peringatan ini?

triaged

Komentar yang paling membantu

Jika kubeadm menginginkan alat cli ini, ia harus menginstalnya jika tidak ada daripada memperingatkan. Saya menduga minoritas yang sangat langka dari pengguna akan memiliki crictl pra-instal!!

Semua 22 komentar

Itu hanya peringatan, bukan kesalahan. Anda harus dapat melanjutkan dengan baik tanpanya.
Jika Anda ingin menghilangkan peringatan tersebut, cukup instal https://github.com/kubernetes-incubator/cri-tools/tree/master/cmd/crictl

Terima kasih dan semoga harimu menyenangkan!

@luxas Terima kasih banyak!

Saya telah menginstalnya, baik melalui metode "go get" dan dengan menempatkannya langsung di PATH saya. Peringatan masih datang. Apakah ada alasan mengapa ia tidak menemukannya?

Saya akan menambahkan remah roti ke peringatan.

go get github.com/kubernetes-incubator/cri-tools/cmd/crictl terselesaikan

@chuckha

Jika kubeadm menginginkan alat cli ini, ia harus menginstalnya jika tidak ada daripada memperingatkan. Saya menduga minoritas yang sangat langka dari pengguna akan memiliki crictl pra-instal!!

Apakah kami mengirimkan crictl dalam paket deb/rpm resmi?

@errordeveloper tidak, tapi kami bisa.

Mengapa tidak ada yang disebutkan tentang ini di https://kubernetes.io/docs/setup/independent/install-kubeadm? ?

Harus menyertakan sesuatu di sepanjang baris dari apa yang harus saya lakukan:
Instal go thing ini sehingga Anda dapat membangun hal lain yang dibutuhkan kubeadm ini:

yum instal go

Perbarui karena tidak ada yang berfungsi tanpa memerlukan lebih banyak googling, jadi tentu saja versi yang diinstal terlalu lama:

rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO
curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo.repo
vi /etc/yum.repos.d/go-repo.repo

Ganti "$releasever" dengan "7" dan "$basearch" dengan "x86_64", karena, ya, vars itu tidak akan ada.

yum update golang

Membangun hal:

buka github.com/kubernetes-incubator/cri-tools/cmd/crictl

Sekarang coba kubeadm init dan atasi kesalahan tidak terdokumentasi lainnya.

demikian juga di Ubuntu 16.4 .. saran yang berguna untuk menggunakan "go get ..." ada di sana, tetapi itu memerlukan

sudo apt-get install golang-go

kemudian Anda menjalankan perintah go-get, dan kemudian kesalahan karena GOPATH tidak disetel, yang saya perbaiki, tetapi kemudian mengeluh karena saya menggunakan jalur relatif, yang saya perbaiki, tetapi kemudian mengeluh karena

konteks paket: "konteks" jalur impor yang tidak dikenal (jalur impor tidak dimulai dengan nama host)

yang ternyata karena golang versi terbaru yang bisa kalian install menggunakan apt-get adalah 1.6, dan context fixnya ada di 1.7 ke atas.. yang membutuhkan purge dan install ulang lengkap menggunakan friendly instruction disini . yang bagus meskipun mereka mendapatkan pengaturan variabel lingkungan yang salah .. (sigh) .. kemudian saya menyadari bahwa 1.7 benar-benar cukup kuno, jadi saya kembali ke instruksi resmi di sini .. meskipun saya masih senang saya memiliki wget instruksi untuk mengunduh tarball dari lokasi bermanfaat pertama .. yang saya modifikasi menjadi ini

wget https://storage.googleapis.com/golang/go1.10.1.linux-amd64.tar.gz

kalau-kalau ada orang lain yang tersandung pada ini ...

Saya tahu ini kedengarannya seperti saya merengek (karena saya begitu karena saya sedikit kesal) .. tapi saya pikir perlu ditunjukkan bahwa itu tidak sesederhana hanya menambahkan instruksi untuk dijalankan

buka github.com/kubernetes-incubator/cri-tools/cmd/crictl

dan percaya bahwa itu akan menyelesaikan masalah dengan mudah ... hal semacam ini mungkin tidak boleh didorong ke pengguna akhir.

Berikan apa yang saya temui dengan peringatan ini:

kubeadm versi: &version.Info{Mayor:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"27-04-2018T09:10: 24Z", GoVersion:"go1.9.3", Kompilator:"gc", Platform:"linux/amd64"}

  1. --ignore-preflight-errors tidak dapat mengurangi peringatan ini, saya mencoba berbagai format:
    --ignore-preflight-errors="cri" atau --ignore-preflight-errors=cri atau
    --ignore-preflight-errors "cri" atau --ignore-preflight-errors cri

  2. instal paket juga tidak dapat mengurangi peringatan ini

    buka github.com/kubernetes-incubator/cri-tools/cmd/crictl

    akan menginstal biner di $HOME/go/bin, dan saya menambahkannya ke $PATH
    dan saya menginstal biner baik sebagai pengguna normal dan root (sehingga muncul di kedua direktori home).
    masih kubeadm melaporkan peringatan dan tidak dapat menemukannya.

@heyi-arm --ignore-preflight-errors akan mengubah kesalahan menjadi peringatan, tetapi peringatan akan tetap ditampilkan.

Hanya menimpali di sini dan saya baru saja mengalami ini ketika mencoba menyediakan pengaturan multi-master menggunakan Ansible.

TASK [ansible-k8s : join_cluster | Joining Additional Nodes To K8s Cluster] ******************************************************************************************************
fatal: [node1]: FAILED! => {"changed": true, "cmd": ["kubeadm", "join", "--token", "8gsm4e.uv0bve5j7ec2i0qk", "--discovery-token-unsafe-skip-ca-verification", "--ignore-preflight-errors", "192.168.250.10:6443"], "delta": "0:00:00.176311", "end": "2018-05-10 19:57:28.117885", "msg": "non-zero return code", "rc": 2, "start": "2018-05-10 19:57:27.941574", "stderr": "\t[WARNING FileExisting-crictl]: crictl not found in system path\nSuggestion: go get github.com/kubernetes-incubator/cri-tools/cmd/crictl\n[preflight] Some fatal errors occurred:\n\t[ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists\n[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`", "stderr_lines": ["\t[WARNING FileExisting-crictl]: crictl not found in system path", "Suggestion: go get github.com/kubernetes-incubator/cri-tools/cmd/crictl", "[preflight] Some fatal errors occurred:", "\t[ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists", "[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`"], "stdout": "[preflight] Running pre-flight checks.", "stdout_lines": ["[preflight] Running pre-flight checks."]}
fatal: [node2]: FAILED! => {"changed": true, "cmd": ["kubeadm", "join", "--token", "8gsm4e.uv0bve5j7ec2i0qk", "--discovery-token-unsafe-skip-ca-verification", "--ignore-preflight-errors", "192.168.250.10:6443"], "delta": "0:00:00.183138", "end": "2018-05-10 19:57:28.171885", "msg": "non-zero return code", "rc": 2, "start": "2018-05-10 19:57:27.988747", "stderr": "\t[WARNING FileExisting-crictl]: crictl not found in system path\nSuggestion: go get github.com/kubernetes-incubator/cri-tools/cmd/crictl\n[preflight] Some fatal errors occurred:\n\t[ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists\n[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`", "stderr_lines": ["\t[WARNING FileExisting-crictl]: crictl not found in system path", "Suggestion: go get github.com/kubernetes-incubator/cri-tools/cmd/crictl", "[preflight] Some fatal errors occurred:", "\t[ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists", "[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`"], "stdout": "[preflight] Running pre-flight checks.", "stdout_lines": ["[preflight] Running pre-flight checks."]}

@mrlesmithjr Anda memiliki masalah lain, tidak terkait: [ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists . Silakan periksa buku pedoman Anda yang memungkinkan, dan buka edisi baru dengan detail, jika perlu.

Di situlah saya menyalin dari master folder PKI. Masih mencoba mengatur semuanya. Tapi pasti akan melakukannya.

Ini adalah umpan balik yang bagus. Saya akan membahasnya di sig-cluster-lifecycle. Ini harus benar-benar diabaikan setidaknya.

Dan itu harus didistribusikan .deb jika kubeadm bergantung padanya. Jika tidak maka itu hanya beberapa utilitas opsional - yang harus tetap dikemas.

Jika ini akan diperlukan untuk penginstalan, maka itu harus dikirimkan bersama paket-paketnya. Alat Go build tidak termasuk dalam host container produksi.

Menurut pendapat saya itu tidak diperlukan kecuali pengguna ingin menggunakan CRI alih-alih buruh pelabuhan. Ini dapat dilakukan baik secara eksplisit dengan memperkenalkan opsi baris perintah baru (--use-cri ?) atau secara implisit seperti dalam PR ini ketika pengguna menentukan soket CRI menggunakan opsi --cri-socket.

@luxas bagi saya ini muncul sebagai kesalahan. Apakah ini bug? Jika ya, maka itu harus diperbaiki dengan cepat, karena seperti yang diilustrasikan di atas, menginstal crictl tidak begitu mudah pada beberapa konfigurasi (dan memerlukan alat go build pada host produksi).

Saya pikir ini harus diperbaiki oleh PR ini

Apakah halaman ini membantu?
0 / 5 - 0 peringkat