kubernetes - Rancher 的掌舵操作失败
问题描述
我已经使用 helm3 在 microk8s 上安装了新的牧场主,并且 helm 操作会定期失败。我对在哪里看什么一无所知。你能指出我正确的方向吗?
Waiting for Kubernetes API to be available
helm upgrade --history-max=5 --install=true --namespace=rancher-operator-system --reset-values=true --timeout=5m0s --values=/home/shell/helm/values-rancher-operator-crd-0.1.100.yaml --version=0.1.100 --wait=true rancher-operator-crd /home/shell/helm/rancher-operator-crd-0.1.100.tgz
Release "rancher-operator-crd" does not exist. Installing it now.
W1129 15:37:01.028852 39 warnings.go:67] apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition
Error: rendered manifests contain a resource that already exists. Unable to continue with install: CustomResourceDefinition "clusters.rancher.cattle.io" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "rancher-operator-crd"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "rancher-operator-system"
Waiting for Kubernetes API to be available
helm upgrade --history-max=5 --install=true --namespace=fleet-system --reset-values=true --timeout=5m0s --version=0.3.100 --wait=true fleet-crd /home/shell/helm/fleet-crd-0.3.100.tgz
Release "fleet-crd" does not exist. Installing it now.
W1129 15:36:48.667489 41 warnings.go:67] apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition
Error: rendered manifests contain a resource that already exists. Unable to continue with install: CustomResourceDefinition "bundles.fleet.cattle.io" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "fleet-crd"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "fleet-system"
也许问题是我用 helm3 安装了它?我想用最新的技术,所以我想用helm3。那可能吗?如果没有,是否可以并排使用两个头盔?
解决方案
我不熟悉从 Helm 为 Rancher 启动 Kubernetes,但由于它说它因资源已经存在且所有权无效而失败,可能是至少一个主机节点上存在冲突,因此安装不是 100%新鲜的。
由于您正在尝试全新安装,因此是否从每个节点清除与 Kubernetes 相关的所有内容都无关紧要。
这是清理集群节点的文档。通常,我会在这里的回答中解释该链接文档中的内容,但它相当长。它的核心是:
- 清除所有牧场主组件(手动或通过运行清理脚本)
- 如果它没有那么远,你可能不需要那个部分,但应该检查一下
- 删除所有(相关的,或简单的)容器、图像和卷
docker container rm ...
docker image rm ...
docker volume rm ...
- 移除坐骑
for mount in $(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher; do umount $mount; done
- 删除目录和文件
-
sudo rm -Rf /etc/ceph \ /etc/cni \ /etc/kubernetes \ /opt/cni \ /opt/rke \ /run/secrets/kubernetes.io \ /run/calico \ /run/flannel \ /var/lib/calico \ /var/lib/etcd \ /var/lib/cni \ /var/lib/kubelet \ /var/lib/rancher/rke/log \ /var/log/containers \ /var/log/kube-audit \ /var/log/pods \ /var/run/calico
-
- 最后,重启
- 这将清除已使用的非持久网络接口
当无法删除旧的挂载目录或容器时,我的笔记中有这些额外内容。
使用它来帮助确定有问题的进程,然后手动执行卸载操作。
grep "docker" /proc/*/mountinfo | grep "${SOME_CONTAINER_HASH}" | awk '{ print $1; }' | perl -p -e 's:^/proc/(\d+)/.*$:\1:' | sort -n | uniq
然后
ps -p "${PROBLEM_PID}"
推荐阅读
- android-memory - android,如何以编程方式使用“dumpsys meminfo”
- azure-devops - 如何使用 Azure 和 NX 部署多个应用程序 (monorepo)
- apache-kafka - 用于 Confluent 平台的 Cassandra Sink 连接器
- java - 如何删除数组中的最后一个元素并将新元素放在前面?
- sql - 在 DB2 蓝表的特定单元格中插入一个值
- amazon-web-services - 是否有适用于 Localstack 的 AWS 工作人员环境?
- php - Microsoft Graph 创建联系人问题
- python - 模拟器的Python列表问题
- android - 离子电容器构建android失败过程DebugGoogleServices丢失
- javascript - 与数组混淆