Kubeadm: port 10251 dan 10252 sedang digunakan

Dibuat pada 7 Jul 2017  ·  13Komentar  ·  Sumber: kubernetes/kubeadm

Informasi versi

kubeadm v1.6.5

Reproduksi

Di server utama: (1) kubeadm init ; (2) kubeadm reset ; (3) kubeadm init lagi dan mendapatkan kesalahan port 10251 is in use, port 10252 is in use .

kubeadm init --token abcdef.1234567890abcdef --kubernetes-version v1.6.5
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
[init] Using Kubernetes version: v1.6.5
[init] Using Authorization mode: RBAC
[preflight] Running pre-flight checks
[preflight] Some fatal errors occurred:
    Port 10251 is in use
    Port 10252 is in use

Larutan

Saya memeriksa status penggunaan semua port. Sepertinya kubeadm gagal mengatur ulang controller dan scheduler .

$ netstat -lnp | grep 1025
tcp6       0      0 :::10251                :::*                    LISTEN      4366/kube-scheduler
tcp6       0      0 :::10252                :::*                    LISTEN      4353/kube-controlle
$ kill 4366
$ kill 4353

Setelah membunuh mereka, saya dapat menginisialisasi cluster kubernetes.

kubeadm init --token abcdef.1234567890abcdef --kubernetes-version v1.6.5
[kubeadm] WARNING:  is in beta, please do not use it for production clusters.
[init] Using Kubernetes version: v1.6.5
[init] Using Authorization mode: RBAC
[preflight] Running pre-flight checks
[preflight] Starting the kubelet service
[certificates] Generated CA certificate and key.
[certificates] Generated API server certificate and key.
[certificates] API Server serving cert is signed for DNS names [xxx.xxx.xxx.xxx kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [xxx.xxx.xxx.xxx]
[certificates] Generated API server kubelet client certificate and key.
[certificates] Generated service account token signing key and public key.
[certificates] Generated front-proxy CA certificate and key.
[certificates] Generated front-proxy client certificate and key.
[certificates] Valid certificates and keys now exist in "/etc/kubernetes/pki"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/admin.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/kubelet.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/controller-manager.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/scheduler.conf"
[apiclient] Created API client, waiting for the control plane to become ready
[apiclient] All control plane components are healthy after 16.281203 seconds
[apiclient] Waiting for at least one node to register
[apiclient] First node has registered after 5.501873 seconds
[token] Using token: abcdef.1234567890abcdef
[apiconfig] Created RBAC rules
[addons] Created essential addon: kube-proxy
[addons] Created essential addon: kube-dns

Your Kubernetes master has initialized successfully!

To start using your cluster, you need to run (as a regular user):

  sudo cp /etc/kubernetes/admin.conf $HOME/
  sudo chown $(id -u):$(id -g) $HOME/admin.conf
  export KUBECONFIG=$HOME/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  http://kubernetes.io/docs/admin/addons/

You can now join any number of machines by running the following on each node
as root:

  kubeadm join --token abcdef.1234567890abcdef xxx.xxx.xxx.xxx:6443

Dalam sebuah kata

Saya melampirkan solusi untuk pengguna yang ingin menyingkirkan masalah yang sama.
Bisakah kalian memeriksa apakah itu bug?

Komentar yang paling membantu

Terima kasih telah mengajukan masalah!

Saya tidak berpikir itu bug benar-benar. Entah bagaimana Anda/kubeadm belum membersihkan dengan benar, karena wadah kube-scheduler dan controller-manager masih berjalan. Atau buruh pelabuhan memulai kembali mereka entah bagaimana.
Atau Anda sendiri yang memulai controller-manager dan scheduler.
Atau Anda ^C'd kubeadm reset sedikit sebelumnya...

Jika itu sering terjadi, silakan buka kembali, tetapi saya rasa tidak ada yang perlu diperbaiki di sini

Semua 13 komentar

Terima kasih telah mengajukan masalah!

Saya tidak berpikir itu bug benar-benar. Entah bagaimana Anda/kubeadm belum membersihkan dengan benar, karena wadah kube-scheduler dan controller-manager masih berjalan. Atau buruh pelabuhan memulai kembali mereka entah bagaimana.
Atau Anda sendiri yang memulai controller-manager dan scheduler.
Atau Anda ^C'd kubeadm reset sedikit sebelumnya...

Jika itu sering terjadi, silakan buka kembali, tetapi saya rasa tidak ada yang perlu diperbaiki di sini

@luxas Poin yang adil. Saya akan memperhatikan masalah ini. Jika ada yang salah pada konfigurasi saya yang menyebabkan masalah, saya ingin melaporkannya.

Mengikuti tips Anda, tetapi masih mengalami masalah yang sama. Menyadari ada minikube yang sedang berjalan, yang harus dihentikan karena menggunakan port yang sama, tetapi mencantumkan proses sebagai "localkube".

Seperti yang dikatakan @luxas , ini berhasil. Mungkin solusi terbaik karena tidak ada yang berhasil.
$ sudo kubeadm reset

Saya masuk ke situasi ini dengan menurunkan versi buruh pelabuhan kemudian mencoba menjalankan minikube. kubeadm reset menyelesaikan masalah seperti yang disarankan @luxas .

reset kubeadm memperbaiki masalah

docker ps; docker inspect etcd1 mencantumkan wadah etcd yang menggunakan nomor port terkait. Karenanya sudo kubeadm init gagal berhasil.
Seperti yang saya lakukan : docker kill etcd1

Ada beberapa masalah lain yang tersisa tentang inisialisasi cluster kubernetes (SSH, kernel cgroups config,...), pada dasarnya tahu versi Linux/Arsitektur apa yang Anda gunakan, tetapi itu mungkin dijelaskan dalam detail persyaratan.

reset kubeadm
masalah tetap untuk saya juga

Saya memiliki masalah yang sama dengan minikube start.
Dan saya memecahkan masalah dengan langkah-langkah berikut:
1、perhentian buruh pelabuhan $( buruh pelabuhan ps -a -q)
2, gunakan parameter --extra-config dari minikube start. seperti: minikube start --kubernetes-version=1.17.2 --vm-driver=none kubelet.ignore-preflight-errors kubeadm.ignore-preflight-errors

Saya memiliki masalah yang sama dengan minikube start.
Dan saya memecahkan masalah dengan langkah-langkah berikut:
1、perhentian buruh pelabuhan $( buruh pelabuhan ps -a -q)
2, gunakan parameter --extra-config dari minikube start. seperti: minikube start --kubernetes-version=1.17.2 --vm-driver=none kubelet.ignore-preflight-errors kubeadm.ignore-preflight-errors

Halo semuanya,
Saya mencoba menginstal Kubernetes di ubuntu VM, tetapi sayangnya saya menghadapi beberapa masalah meskipun kubeadm reset.
root@KVM :~# kubeadm init --config=kubeadm-config.yaml --upload-certs | tee kubeadm-init.out # Simpan hasil untuk tinjauan di masa mendatang
W0719 22:06:28.075574 15363 configset.go:202] PERINGATAN: kubeadm tidak dapat memvalidasi konfigurasi komponen untuk grup API [kubelet.config.k8s.io kubeproxy.config.k8s.io]
[init] Menggunakan versi Kubernetes: v1.18.1
[preflight] Menjalankan pemeriksaan pra-penerbangan
[PERINGATAN IsDockerSystemdCheck]: mendeteksi "cgroupfs" sebagai driver cgroup Docker. Driver yang direkomendasikan adalah "systemd". Silakan ikuti panduan di https://kubernetes.io/docs/setup/cri/
[preflight] Diperlukan pengambilan gambar untuk menyiapkan cluster Kubernetes
[preflight] Ini mungkin memakan waktu satu atau dua menit, tergantung pada kecepatan koneksi internet Anda
[preflight] Anda juga dapat melakukan tindakan ini sebelumnya menggunakan 'kubeadm config images pull'
[kubelet-start] Menulis file lingkungan kubelet dengan flag ke file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Menulis konfigurasi kubelet ke file "/var/lib/kubelet/config.yaml"
[kubelet-start] Memulai kubelet
[certs] Menggunakan folder certificateDir "/etc/kubernetes/pki"
[sertifikat] Menghasilkan sertifikat dan kunci "ca"
[certs] Membuat sertifikat dan kunci "apiserver"
[certs] apiserver serve cert ditandatangani untuk nama DNS [ahmed-kvm kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local k8smaster] dan IP [xxxx xxxx]
[certs] Membuat sertifikat dan kunci "apiserver-kubelet-client"
[certs] Membuat sertifikat dan kunci "front-proxy-ca"
[certs] Membuat sertifikat dan kunci "proxy-klien-depan"
[certs] Membuat sertifikat dan kunci "etcd/ca"
[sertifikat] Membuat sertifikat dan kunci "etcd/server"
[certs] etcd/server servis cert ditandatangani untuk nama DNS [ahmed-kvm localhost] dan IP [xxxx xxxx]
[certs] Membuat sertifikat dan kunci "etcd/peer"
[certs] etcd/peer servis cert ditandatangani untuk nama DNS [ahmed-kvm localhost] dan IP [xxxx xxxx ]
[certs] Membuat sertifikat dan kunci "etcd/healthcheck-client"
[certs] Membuat sertifikat dan kunci "apiserver-etcd-client"
[sertifikat] Menghasilkan kunci "sa" dan kunci publik
[kubeconfig] Menggunakan folder kubeconfig "/etc/kubernetes"
[kubeconfig] Menulis file kubeconfig "admin.conf"
[kubeconfig] Menulis "kubelet.conf" file kubeconfig
[kubeconfig] Menulis file kubeconfig "controller-manager.conf"
[kubeconfig] Menulis file kubeconfig "scheduler.conf"
[control-plane] Menggunakan folder manifes "/etc/kubernetes/manifests"
[control-plane] Membuat manifes Pod statis untuk "kube-apiserver"
W0719 22:06:31.223537 15363 manifests.go:225] mode otorisasi kube-apiserver default adalah "Node,RBAC"; menggunakan "Node, RBAC"
[control-plane] Membuat manifes Pod statis untuk "kube-controller-manager"
W0719 22:06:31.224263 15363 manifests.go:225] mode otorisasi kube-apiserver default adalah "Node,RBAC"; menggunakan "Node, RBAC"
[control-plane] Membuat manifes Pod statis untuk "kube-scheduler"
[etcd] Membuat manifes Pod statis untuk etcd lokal di "/etc/kubernetes/manifests"
[wait-control-plane] Menunggu kubelet menjalankan control plane sebagai Pod statis dari direktori "/etc/kubernetes/manifests". Ini bisa memakan waktu hingga 4m0s
[kubelet-check] Batas waktu awal 40 detik telah berlalu.

Unfortunately, an error has occurred:
    timed out waiting for the condition

This error is likely caused by:
    - The kubelet is not running
    - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
    - 'systemctl status kubelet'
    - 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI.

Here is one example how you may list all Kubernetes containers running in docker:
    - 'docker ps -a | grep kube | grep -v pause'
    Once you have found the failing container, you can inspect its logs with:
    - 'docker logs CONTAINERID'

fase eksekusi error wait-control-plane: tidak dapat menginisialisasi cluster Kubernetes
Untuk melihat jejak tumpukan kesalahan ini, jalankan dengan --v=5 atau lebih tinggi

Terima kasih atas bantuan Anda

Untuk siapa pun yang menghadapi masalah ini, periksa apakah Anda telah menginstal dan menghapus microk8s . Itu adalah masalah saya

sudo kubeadm reset

memecahkan milikku juga

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

chuckha picture chuckha  ·  3Komentar

helphi picture helphi  ·  3Komentar

ggaaooppeenngg picture ggaaooppeenngg  ·  4Komentar

ep4eg picture ep4eg  ·  3Komentar

kvaps picture kvaps  ·  3Komentar