• Rancher部署K8S集群


    一、介绍
    随着容器的普及和Kubernetes 的日渐成熟,企业内部运行多个Kubernetes 集群已变得颇为常见,然而部署kubernetes集群的方式也多样化,二进制部署、rancher、kubeadm、minikube等。然而本篇文章主要讲解的是如何使用rancher快速部署一个k8s集群。Rancher是一个开源的企业级容器管理平台。通过Rancher,我们不必再使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。
    二、优势
    多编排引擎支持: Rancher 提供支持多种容器编排引擎,包括 Kubernetes、Docker Swarm 等,使用户可以根据需求选择最适合自己的引擎,而不受限于特定技术栈。
    简化容器管理: Rancher 的直观用户界面和便捷的操作流程,使容器的部署、监控和管理变得简单易用,降低了上手门槛,适用于各种技术水平的用户。
    灵活的应用模板: 通过 Catalogs,Rancher 提供了一系列应用模板,使用户能够快速部署常用应用,从而大大简化了应用的创建和配置过程。
    跨云环境支持: Rancher 允许用户在多云环境中部署和管理容器集群,实现跨云的灵活性,适应不同云提供商和数据中心的需求。
    安全和集群管理: Rancher 提供丰富的安全性功能,包括访问控制、认证和授权,同时也提供集群管理工具,帮助用户轻松地创建、扩展和管理容器集群
    三、安装
    1、docker环境准备
    2、下载镜像

    [root@harbor ~]# docker pull  rancher/rancher:v2.7.0
    
    • 1

    3、启动容器

    [root@harbor ~]#  docker run -d --restart=unless-stopped --privileged --name rancher -p 80:80 -p 443:443 rancher/rancher:v2.7.0
    
    • 1

    4、查看状态

    [root@harbor ~]# docker ps |grep rancher
    73cafee7675a        rancher/rancher:latest   "entrypoint.sh"          9 seconds ago       Up 8 seconds        0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   rancher
    
    • 1
    • 2

    5、登录页面
    使用ip登录即可
    在这里插入图片描述登录密码查看

    [root@harbor ~]# docker logs 73cafee7675a 2>1  |grep "Bootstrap Password:"
    2023/10/21 02:29:54 [INFO] Bootstrap Password: b8lz4fxw9mv9gzkw8bcnf8gtqw79d98sv7fhrlgs8mfgzrwcqqzp8n
    
    • 1
    • 2

    在这里插入图片描述四、下载kubectl工具

    curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl
    chmod 755 kubectl 
    mv kubectl /usr/local/bin/kubectl
    [root@192 ~]# kubectl version --client
    Client Version: v1.28.3
    Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    五、集群管理
    1、添加config配置文件
    在这里插入图片描述在这里插入图片描述

    [root@192 ~]# mkdir ~/.kube
    [root@192 ~]# vim ~/.kube/config
    
    • 1
    • 2

    2、查看node状态

    [root@192 .kube]# kubectl get nodes
    NAME         STATUS   ROLES                       AGE     VERSION
    local-node   Ready    control-plane,etcd,master   5h56m   v1.24.4+k3s1
    
    • 1
    • 2
    • 3

    3、查看pod状态

    [root@192 .kube]# kubectl get pod -A
    NAMESPACE                   NAME                                READY   STATUS    RESTARTS      AGE
    cattle-fleet-local-system   fleet-agent-7bcc7d69cf-4nnj4        1/1     Running   1 (14m ago)   5h54m
    cattle-fleet-system         fleet-controller-5cbbd7c4c9-2tnp9   1/1     Running   2 (13m ago)   5h56m
    cattle-fleet-system         gitjob-5c5979d844-rl2jz             1/1     Running   1 (14m ago)   5h56m
    cattle-system               rancher-webhook-5898d78956-v9kdq    1/1     Running   1 (14m ago)   5h55m
    kube-system                 coredns-b96499967-sdjfp             1/1     Running   1 (14m ago)   5h57m
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    问题:
    如果出现以下报错需要加一下环境变量
    在这里插入图片描述处理:

    [root@192 .kube]# echo "export KUBECONFIG=/root/.kube/config" >> /etc/profile
    [root@192 .kube]# source /etc/profile
    
    • 1
    • 2
  • 相关阅读:
    Java 递归遍历文件所有目录(案例)
    springboot+火车票预订系统 毕业设计-附源码091029
    阿里云主要产品有哪些?有什么用?
    代码随想录day50:动态规划
    【机器学习】线性分类【下】经典线性分类算法
    【以图会意】操作系统的加载流程
    数据结构---复杂度(1)
    js--解决工厂创建对象的缺点---使用构造函数
    【WSL/WSL 2-Redis】解决Windows无法安装WSL Ubuntu子系统与Redis安装
    Redis源码与设计剖析-Redis事件处理
  • 原文地址:https://blog.csdn.net/weixin_45432833/article/details/133958296