• k8s搭建web界面管理rancher


    rancher部署

    一、准备介质

    镜像v2.4.17

    docker pull rancher/rancher:v2.4.17
    

    二、使用docker安装

    点击查看代码
     docker run -d --restart=unless-stopped -p 80:80 -p 443:443 \
     -v /home/ap/aipf/rancher_home/rancher:/var/lib/rancher \
     -v /home/ap/aipf/rancher_home/auditlog:/var/log/auditlog \
     --name rancher rancher/rancher:v2.4.17
    

    访问本机ip

    三、使用k8s部署rancher

    3.1、创建namespace

    kubectl create ns rancher
    

    3.2、创建rancher的存储路径pv/pvc

    点击查看代码
    ---
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv-rancher
      namespace: rancher
    spec:
      capacity:
        storage: 20Gi
      accessModes:
      - ReadWriteMany
      persistentVolumeReclaimPolicy: Retain
      storageClassName: local-storage
      local:
        path: /home/ap/nas_b
      nodeAffinity:
        required:
          nodeSelectorTerms:
          - matchExpressions:
            - key: kubernetes.io/hostname
              operator: In
              values:
              - k8s-master
    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pvc-rancher
      namespace: rancher
    spec:
      accessModes:
       - ReadWriteMany
      storageClassName: local-storage
      resources:
        requests:
          storage: 15Gi
    

    3.3、创建rancher的配置文件

    点击查看代码
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: rancher
      name: rancher
      namespace: rancher
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: rancher
      template:
        metadata:
          labels:
            app: rancher
          containers:
          - image: rancher/rancher:v2.4.17
            imagePullPolicy: IfNotPresent
            name: rancher
            envFrom:
            - configMapRef:
                name: ai-platform-config
            ports:
            - containerPort: 80
            volumeMounts:
            - mountPath: /var/lib/rancher
              name: ai-rancher-volumes
              subPath: rancher_home/rancher
            - mountPath: /var/log/auditlog
              name: ai-rancher-volumes
              subPath: rancher_home/auditlog
    
          volumes:
          - name: ai-rancher-volumes
            persistentVolumeClaim:
              claimName: pvc-rancher
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: rancher
      labels:
        app: rancher
      namespace: rancher
    spec:
      type: ClusterIP
      selector:
        app: ai-admin-web
      ports:
      - port: 80
        targetPort: 80
    
    
    注意:k8s集群多的时候,配置文件可以添加标签指定rancherd pod启动到固定节点上 也可以搭建harbor 拉取镜像从harbor获取 第一次启动rancher可以挂载目录为空,需要你这边使用docker启动后,在吧数据拷贝进去,然后在重启
    点击查看代码
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: rancher
      name: rancher
      namespace: rancher
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: rancher
      template:
        metadata:
          labels:
            app: rancher
        spec:
          nodeSelector:
            rancherbase: "true"
          containers:
          - image: rancher.harbor.io/rancher/rancher:v2.4.17
            imagePullPolicy: IfNotPresent
            name: rancher
            envFrom:
            - configMapRef:
                name: ai-platform-config
            ports:
            - containerPort: 80
            volumeMounts:
            - mountPath: /var/lib/rancher
              name: ai-rancher-volumes
              subPath: rancher_home/rancher
            - mountPath: /var/log/auditlog
              name: ai-rancher-volumes
              subPath: rancher_home/auditlog
    
          volumes:
          - name: ai-rancher-volumes
            persistentVolumeClaim:
              claimName: pvc-rancher
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: rancher
      labels:
        app: rancher
      namespace: rancher
    spec:
      type: ClusterIP
      selector:
        app: ai-admin-web
      ports:
      - port: 80
        targetPort: 80
    
    
    ![](https://img2020.cnblogs.com/blog/1461308/202112/1461308-20211220164832096-358264527.png)

    3.4、使用上面的配置文件启动rancher服务

    [root@k8s-master conf]# kubectl apply -f rancher-pv.yaml 
    persistentvolume/pv-rancher created
    persistentvolumeclaim/pvc-rancher created
    
    [root@k8s-master conf]# kubectl get pv,pvc -A | grep rancher
    persistentvolume/pv-rancher   20Gi       RWX            Retain           Bound    rancher/pvc-rancher     local-storage            79s
    rancher       persistentvolumeclaim/pvc-rancher   Bound    pv-rancher   20Gi       RWX            local-storage   79s
    

    3.5、启动rancher服务

    [root@k8s-master conf]# kubectl apply -f rancher.yaml 
    deployment.apps/rancher created
    service/rancher created
    
  • 相关阅读:
    查找第一个不重复的字符问题
    gops
    关于 Go 中 Map 类型和 Slice 类型的传递
    Go 程序的性能优化及 pprof 的使用
    Go语言标准库_输入/输出
    Linux 终端 Bash 常用快捷键介绍及经验
    蓄水池采样算法(Reservoir Sampling)
    Guice 依赖绑定
    基本动态规划之硬币问题
    程序打包成jar 获取不到工程目录下文件的问题
  • 原文地址:https://www.cnblogs.com/pythonx/p/15711816.html
Copyright © 2020-2023  润新知