我们目前在kubernetes(v1.8.7)上有3个稳定的集群。这些集群由不再可用的外部团队创建,并且我们的文档有限。我们正在尝试升级到更高的稳定版本(v1.13.0)。我们知道我们需要一次升级1个版本,因此需要1.8-> 1.9-> 1.10等。
我们尝试安装kubeadm v1.8.7并运行kubeadm upgrade plan
,但输出失败-
[preflight]运行飞行前检查
无法从文件“ /etc/kubernetes/admin.conf”创建Kubernetes客户端:无法加载admin kubeconfig [打开/etc/kubernetes/admin.conf:无此类文件或目录]
我们找不到文件admin.conf。关于如何重新生成此信息或需要什么信息的任何建议?
由于我们现在有了admin.conf文件,因此我们安装了kubectl,kubeadm和kubelet v 1.9.0-
apt-get install kubelet=1.9.0-00 kubeadm=1.9.0-00 kubectl=1.9.0-00
。
当我运行kubeadm upgrade plan v1.9.0
时
我得到
root@k8s-master-dev-0:/home/azureuser# kubeadm upgrade plan v1.9.0
[preflight] Running pre-flight checks.
[upgrade] Making sure the cluster is healthy:
[upgrade/health] FATAL: [preflight] Some fatal errors occurred:
[ERROR APIServerHealth]: the API Server is unhealthy; /healthz didn't return "ok"
[ERROR MasterNodesReady]: couldn't list masters in cluster: Get https://<k8s-master-dev-0 ip>:6443/api/v1/nodes?labelSelector=node-role.kubernetes.io%2Fmaster%3D: dial tcp <k8s-master-dev-0 ip>:6443: getsockopt: connection refused
[preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=...
root@k8s-master-dev-0:/home/azureuser# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
heapster-75f8df9884-nxn2z 2/2 Running 0 42d
kube-addon-manager-k8s-master-dev-0 1/1 Running 2 1d
kube-addon-manager-k8s-master-dev-1 1/1 Running 4 123d
kube-addon-manager-k8s-master-dev-2 1/1 Running 2 169d
kube-apiserver-k8s-master-dev-0 1/1 Running 100 1d
kube-apiserver-k8s-master-dev-1 1/1 Running 4 123d
kube-apiserver-k8s-master-dev-2 1/1 Running 2 169d
kube-controller-manager-k8s-master-dev-0 1/1 Running 3 1d
kube-controller-manager-k8s-master-dev-1 1/1 Running 4 123d
kube-controller-manager-k8s-master-dev-2 1/1 Running 4 169d
kube-dns-v20-5d9fdc7448-smf9s 3/3 Running 0 42d
kube-dns-v20-5d9fdc7448-vtjh4 3/3 Running 0 42d
kube-proxy-cklcx 1/1 Running 1 123d
kube-proxy-dldnd 1/1 Running 4 169d
kube-proxy-gg89s 1/1 Running 0 169d
kube-proxy-mrkqf 1/1 Running 4 149d
kube-proxy-s95mm 1/1 Running 10 169d
kube-proxy-zxnb7 1/1 Running 2 169d
kube-scheduler-k8s-master-dev-0 1/1 Running 2 1d
kube-scheduler-k8s-master-dev-1 1/1 Running 6 123d
kube-scheduler-k8s-master-dev-2 1/1 Running 4 169d
kubernetes-dashboard-8555bd85db-4txtm 1/1 Running 0 42d
tiller-deploy-6677dc8d46-5n5cp 1/1 Running 0 42d
答案 0 :(得分:0)
让我们一步一步来,首先在集群中生成admin.conf文件: 您可以使用以下命令生成admin.conf文件:
kubeadm alpha phase kubeconfig admin --cert-dir /etc/kubernetes/pki --kubeconfig-dir /etc/kubernetes/
现在,您可以查看我的以下答案,如何通过kubeadm升级kubernetes集群(答案适用于1.10.0至1.10.11,但也适用于1.8至1.9,您只需要更改版本即可下载的软件包)
how to upgrade kubernetes from v1.10.0 to v1.10.11
希望这会有所帮助。
答案 1 :(得分:0)
有关如何从1.8升级到1.9的任何指示?
绝对kubeadm
我们尝试安装kubeadm v1.8.7并运行kubeadm升级计划,但是 输出失败-
[preflight]运行飞行前检查无法创建Kubernetes 文件“ /etc/kubernetes/admin.conf”中的客户端:无法加载管理员 kubeconfig [打开/etc/kubernetes/admin.conf:没有这样的文件或 目录]我们找不到文件admin.conf。关于如何的任何建议 我们可以重新生成此信息或需要什么信息?
kubeadm
需要满足以下条件:
首先,我要检查kube-system
ConfigMap的命名空间。如果存在,您应该能够相对轻松地继续。
如果不存在,则需要继续创建它。
kubeadm-config
将是一个很好的起点。您可以从kubeadm config upload from-flags
单位文件中指定kubelet
标志,这样可以使您保持良好状态。
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-config/#cmd-config-from-flags
第二,systemd
需要一个带凭据的conf文件。我以为您的kubeadm
目录中某处有其中之一;戳一下。
此文件看起来像您的本地kubeconfig,以:p开头
/etc/kubernetes