一【前提】
官方文档
官方介绍:
Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。
二【部署】
具体的部署文档,大家可以参考官方文档。这边仅记录下在部署中的步骤及踩坑的步骤。
2.1 部署命令
如果是为了研究部署在测试环境,或者生产环境不是大规模的情况下,可以直接使用docker部署方式,来启动rancher.
笔者,目前部署了2个版本。
分别是2.4.8 和 最新版本的2.5.9. 所以接下来主要讲解下最新版本2.5.9的部署。
自有主机快速部署参考文档:https://rancher2.docs.rancher.cn/docs/rancher2.5/quick-start-guide/deployment/quickstart-manual-setup/_index
部署最新版本,2.5.9

 docker run -d --privileged --restart=unless-stopped   -p 80:80 -p 443:443   --name rancher  rancher/rancher:latest

等待docker 部署,按照提示设置账号密码即可。
2.2 rancher login
API 密钥与特定用户(例如: Default Admin) 绑定,可以创建、删除和操作有权访问的所有集群和项目。
在这里插入图片描述
生成api&key
在这里插入图片描述
然后在宿主机登陆,即可实现宿主机调用API.
rancher login

rancher login $rancher地址 --token $Access Key:$Secret Key 

2.3 rancher-cli
界面上下载rancher-cli 用于宿主机命令执行

tar -zxvf rancher-linux-amd64-v2.5.9.tar.gz
mv rancher-v2.5.9/rancher /usr/bin/rancher

2.4 kubectl
用于调度kubectl
自行下载kubectl

/usr/local/bin/kubectl

三【仓库镜像】
kubectl 命令 设置自己的私有镜像仓库地址

kubectl create secret docker-registry secret-name --namespace=default \
--docker-server=http://192.168.1.1 --docker-username=username \
--docker-password=password --docker-email=xxx@xxx.xxx

四【调用命令】飞流上部署自建的rancher仓库

#pull images
server=$1
images=$2
rancher kubectl set image deployment/$server $server=$仓库地址//$server:$images -n default
#启动部署
date=`date +'%Y-%m-%d %H:%M:%S'`
p="{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"cattle.io/timestamp\":\"${date}\"}}}}}"
rancher kubectl patch deploy $server -p "$p"

五 【反亲和性部署】-【不同pod部署在不同机器上】
即 同一个服务,多个pods部署在不同node节点上。 反亲和性,podAntiAffinity

通过rancher 配置容器标签。
在这里插入图片描述
yaml 文件

spec:
  affinity:
    podAntiAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchExpressions:
          - key: app2
            operator: In
            values:
            - web
        topologyKey: kubernetes.io/hostname

node限制:【限制pod部署node节点】
给每台主机设置node标签。
【全局】-主机列表-选择节点,编辑标签。
在这里插入图片描述

例如:不部署在node1节点上。
在这里插入图片描述

Logo

开源、云原生的融合云平台

更多推荐