• 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
  • 相关阅读:
    Scotch: Combining SGX and SMM to Monitor Cloud Resource Usage【TEE的应用】
    13、序列化和反序列化
    【简单介绍下Sass,什么是Sass?】
    软件过程模型(软件开发模型)
    简述Java21新特性
    卷积神经网络(Convolutional Neural Networks,CNN)
    ssm大学校园慈善拍卖网站的设计与实现毕业设计源码250910
    Whisper 整体架构图
    第68步 时间序列建模实战:ARIMA建模(Matlab)
    [项目管理-13]:项目经理的困惑:为什么有些项目亏钱,项目还要做?
  • 原文地址:https://blog.csdn.net/weixin_45432833/article/details/133958296