arm架构安装Rancher并导入k8s集群解决Error:|arm架构安装Rancher并导入k8s集群解决Error: no objects passed to apply
Rancher介绍
Rancher 2.0-2.4版本 是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。
Rancher 2.5版本 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。
Rancher优点
- 基础设施编排
- 容器编排与调度
- 应用商店
- 企业级权限管理
#查看Linux内核版本
uname -r
4.18.0-80.7.2.el7.aarch64
#或者使用 uname -a#rancher的官方镜像默认是: rancher/rancher:latest 是x86架构的#arm64架构使用: rancher/rancher:v2.5.8-linux-arm64
docker pull rancher/rancher:v2.5.8-linux-arm64
docker pull rancher/rancher:v2.5.5-linux-arm64#在k8s的Master上执行,启动Rancher
#如果您使用的 Rancher 2.5.x 及更新版本,需要开启特权模式安装 Rancher,请执行以下命令:
docker run -d --privileged --restart=unless-stopped \
-p 80:80 -p 443:443 \
--privileged \
rancher/rancher:v2.5.8-linux-arm64
导入k8s集群
【arm架构安装Rancher并导入k8s集群解决Error:|arm架构安装Rancher并导入k8s集群解决Error: no objects passed to apply】稍等一会,等启动成功后
浏览器访问:https://192.168.0.5/
设置admin的密码,如: admin
右下方选择语言: 简体中文
添加集群---使用现有的 Kubernetes 集群--导入
输入集群名称:k8s-beyond
执行导入命令,报错: 证书无效
kubectl apply -f https://192.168.0.5/v3/import...
选择最后一个导入命令,绕过证书检查
curl --insecure -sfL https://192.168.0.5/v3/import... | kubectl apply -f -
报错: Error: no objects passed to apply
在执行一次命令就好了
删除k8s集群
我因Rancher换一台机器部署了,删除k8s集群监控服务:删除Rancher依赖的namespace(cattle-system),状态一直是Terminating。
#查看namespaces
kubectl get namespaces#删除
curl --insecure -sfL https://192.168.0.5/v3/import/csn5rw4m8t7ns5l5wmgz7srnkstwbrcfqxcxsrwss8s6ztz2jcthl2.yaml | kubectl delete -f -#namespace(cattle-system)没有删除掉,执行以下命令kubectl patch namespace cattle-system -p '{"metadata":{"finalizers":[]}}' --type='merge' -n cattle-systemkubectl delete namespace cattle-system --grace-period=0 --forcekubectl patch namespace cattle-global-data -p '{"metadata":{"finalizers":[]}}' --type='merge' -n cattle-systemkubectl delete namespace cattle-global-data --grace-period=0 --forcekubectl patch namespace local -p '{"metadata":{"finalizers":[]}}' --type='merge' -n cattle-systemfor resource in `kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get -o name -n local`;
do kubectl patch $resource -p '{"metadata": {"finalizers": []}}' --type='merge' -n local;
donekubectl delete namespace local --grace-period=0 --forcekubectl get namespaces#在导入k8s集群
解决k8s组件controller-manager 和scheduler状态 Unhealthy
组件controller-manager 和scheduler状态 Unhealthy
kubectl get csnetstat -tpnl
#没有10251和10252端口#查看pod
kubectl get pods --all-namespaces#检查kube-scheduler和kube-controller-manager组件配置是否禁用了非安全端口
#将port=0注释掉
#- --port=0vim /etc/kubernetes/manifests/kube-scheduler.yaml
vim /etc/kubernetes/manifests/kube-controller-manager.yaml#然后重启kubelet
systemctl restart kubelet
推荐阅读
- arm架构安装RabbitMQ并升级erlang解决Requires: erlang >= 23.2
- 树莓派4B|树莓派4B raspberrypi在线安装Docker
- Python自学教程1-安装pycharm和执行环境
- Quartus-II 13.1 详细安装、注册、配置步骤
- Ubuntu|Ubuntu Kylin 16.04 下安装eclipse
- visual|由于找不到vcruntime140_1.dll,无法继续执行代码重新安装程序可能会解决此问题。
- 现代企业架构框架-数据架构
- Spring|Spring 02: Spring接管下的三层项目架构
- macos|nvm 安装教程(mac)
- MQ系列3(RocketMQ|MQ系列3:RocketMQ 架构分析)