`

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优点

  • 基础设施编排
  • 容器编排与调度
  • 应用商店
  • 企业级权限管理
我使用Rancher主要目的: 它的k8s集群管理,监控状态管理,和界面操作都比Dashboard插件强大

arm架构安装Rancher

  1. #查看Linux内核版本
  2. uname -r
  3. 4.18.0-80.7.2.el7.aarch64
  4. #或者使用 uname -a
  5. #rancher的官方镜像默认是: rancher/rancher:latest 是x86架构的
  6. #arm64架构使用: rancher/rancher:v2.5.8-linux-arm64
  7. docker pull rancher/rancher:v2.5.8-linux-arm64
  8. docker pull rancher/rancher:v2.5.5-linux-arm64
  9. #在k8s的Master上执行,启动Rancher
  10. #如果您使用的 Rancher 2.5.x 及更新版本,需要开启特权模式安装 Rancher,请执行以下命令:
  11. docker run -d --privileged --restart=unless-stopped \
  12. -p 80:80-p 443:443 \
  13. --privileged \
  14. rancher/rancher:v2.5.8-linux-arm64

导入k8s集群

稍等一会,等启动成功后 浏览器访问:https://192.168.0.5/

设置admin的密码,如: admin 右下方选择语言: 简体中文

添加集群---使用现有的 Kubernetes 集群--导入 输入集群名称:k8s-beyond

执行导入命令,报错: 证书无效 kubectl apply -f https://192.168.0.5/v3/import/csn5rw4m8t7ns5l5wmgz7srnkstwbrcfqxcxsrwss8s6ztz2jcthl2.yaml

选择最后一个导入命令,绕过证书检查 curl --insecure -sfL https://192.168.0.5/v3/import/csn5rw4m8t7ns5l5wmgz7srnkstwbrcfqxcxsrwss8s6ztz2jcthl2.yaml | kubectl apply -f -

报错: Error: no objects passed to apply 在执行一次命令就好了

删除k8s集群

我因Rancher换一台机器部署了,删除k8s集群监控服务:删除Rancher依赖的namespace(cattle-system),状态一直是Terminating。

  1. #查看namespaces
  2. kubectl get namespaces
  3. #删除
  4. curl --insecure -sfL https://192.168.0.5/v3/import/csn5rw4m8t7ns5l5wmgz7srnkstwbrcfqxcxsrwss8s6ztz2jcthl2.yaml | kubectl delete -f -
  5. #namespace(cattle-system)没有删除掉,执行以下命令
  6. kubectl patch namespace cattle-system -p '{"metadata":{"finalizers":[]}}'--type='merge'-n cattle-system
  7. kubectl deletenamespace cattle-system --grace-period=0--force
  8. kubectl patch namespace cattle-global-data -p '{"metadata":{"finalizers":[]}}'--type='merge'-n cattle-system
  9. kubectl deletenamespace cattle-global-data --grace-period=0--force
  10. kubectl patch namespacelocal-p '{"metadata":{"finalizers":[]}}'--type='merge'-n cattle-system
  11. for 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;done
  12. kubectl deletenamespacelocal--grace-period=0--force
  13. kubectl get namespaces
  14. #在导入k8s集群

解决k8s组件controller-manager 和scheduler状态 Unhealthy

组件controller-manager 和scheduler状态 Unhealthy

  1. kubectl get cs
  2. netstat -tpnl
  3. #没有10251和10252端口
  4. #查看pod
  5. kubectl get pods --all-namespaces
  6. #检查kube-scheduler和kube-controller-manager组件配置是否禁用了非安全端口
  7. #将port=0注释掉
  8. # - --port=0
  9. vim /etc/kubernetes/manifests/kube-scheduler.yaml
  10. vim /etc/kubernetes/manifests/kube-controller-manager.yaml
  11. #然后重启kubelet
  12. systemctl restart kubelet

<audio controls="controls" style="display: none;"></audio>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics