Openshift可视化控制台的使用记录

Openshift可视化控制台的使用记录,第1张

Openshift可视化控制台的使用记录 前言

公司从Rancher切换到OpenShift环境 此前我未接触过容器化部署的概念,于是上网查了一下,但是时间比较紧,没有去详细了解,所以这里只谈使用,不谈别的 ,有兴趣的可以了解一下

  • 什么是OpenShift
  • 什么是k8s
  • OpenShift 和 k8s的比较
  • 总结版
使用(控制台和脚本两种方式) 一. 控制台 *** 作
  • 登录

  • 进入控制台查看项目

  • 选择你要进入的project 注意:现在是administrator

  • 查看项目的运行信息 这里面 一般中间件 例如 :nacos,rabbitMq 都会使用Stateful Sets这个模式 这个模式有状态相关的东西

  • 模板导入 (重头戏来了)
    选择这个倒入你的模板文件 yml

    随便在网上找的一片模板文件 可以借鉴下

apiVersion: v1
kind: Template
labels:
  template: mysql-ephemeral-template
message: |-
  The following service(s) have been created in your project: ${DATAbase_SERVICE_NAME}.

         Username: ${MYSQL_USER}
         Password: ${MYSQL_PASSWORD}
    Database Name: ${MYSQL_DATAbase}
   Connection URL: mysql://${DATAbase_SERVICE_NAME}:3306/

  For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/mysql-container/blob/master/5.7/README.md.
metadata:
  annotations:
    description: |-
      MySQL database service, without persistent storage. For more information about using this template, including OpenShift considerations, see https://github.com/sclorg/mysql-container/blob/master/5.7/README.md.

      WARNING: Any data stored will be lost upon pod destruction. only use this template for testing
    iconClass: icon-mysql-database
    openshift.io/display-name: MySQL (Ephemeral)
    tags: database,mysql
    template.openshift.io/documentation-url: https://docs.openshift.org/latest/using_images/db_images/mysql.html
    template.openshift.io/long-description: This template provides a standalone MySQL
      server with a database created.  The database is not stored on persistent storage,
      so any restart of the service will result in all data being lost.  The database
      name, username, and password are chosen via parameters when provisioning this
      service.
    template.openshift.io/provider-display-name: Red Hat, Inc.
    template.openshift.io/support-url: https://access.redhat.com
  creationTimestamp: null
  name: mysql-ephemeral
objects:
- apiVersion: v1
  kind: Secret
  metadata:
    name: ${DATAbase_SERVICE_NAME}
  stringData:
    database-password: ${MYSQL_PASSWORD}
    database-root-password: ${MYSQL_ROOT_PASSWORD}
    database-user: ${MYSQL_USER}
- apiVersion: v1
  kind: Service
  metadata:
    creationTimestamp: null
    name: ${DATAbase_SERVICE_NAME}
  spec:
    ports:
    - name: mysql
      nodePort: 0
      port: 3306
      protocol: TCP
      targetPort: 3306
    selector:
      name: ${DATAbase_SERVICE_NAME}
    sessionAffinity: None
    type: ClusterIP
  status:
    loadBalancer: {}
- apiVersion: v1
  kind: DeploymentConfig
  metadata:
    creationTimestamp: null
    name: ${DATAbase_SERVICE_NAME}
  spec:
    replicas: 1
    selector:
      name: ${DATAbase_SERVICE_NAME}
    strategy:
      type: Recreate
    template:
      metadata:
        creationTimestamp: null
        labels:
          name: ${DATAbase_SERVICE_NAME}
      spec:
        containers:
        - capabilities: {}
          env:
          - name: MYSQL_USER
            valueFrom:
              secretKeyRef:
                key: database-user
                name: ${DATAbase_SERVICE_NAME}
          - name: MYSQL_PASSWORD
            valueFrom:
              secretKeyRef:
                key: database-password
                name: ${DATAbase_SERVICE_NAME}
          - name: MYSQL_ROOT_PASSWORD
            valueFrom:
              secretKeyRef:
                key: database-root-password
                name: ${DATAbase_SERVICE_NAME}
          - name: MYSQL_DATAbase
            value: ${MYSQL_DATAbase}
          image: ' '
          imagePullPolicy: IfNotPresent
          livenessProbe:
            initialDelaySeconds: 30
            tcpSocket:
              port: 3306
            timeoutSeconds: 1
          name: mysql
          ports:
          - containerPort: 3306
            protocol: TCP
          readinessProbe:
            exec:
              command:
              - /bin/sh
              - -i
              - -c
              - MYSQL_PWD="$MYSQL_PASSWORD" mysql -h 127.0.0.1 -u $MYSQL_USER -D $MYSQL_DATAbase
                -e 'SELECt 1'
            initialDelaySeconds: 5
            timeoutSeconds: 1
          resources:
            limits:
              memory: ${MEMORY_LIMIT}
          securityContext:
            capabilities: {}
            privileged: false
          terminationMessagePath: /dev/termination-log
          volumeMounts:
          - mountPath: /var/lib/mysql/data
            name: ${DATAbase_SERVICE_NAME}-data
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        volumes:
        - emptyDir:
            medium: ""
          name: ${DATAbase_SERVICE_NAME}-data
    triggers:
    - imageChangeParams:
        automatic: true
        containerNames:
        - mysql
        from:
          kind: ImageStreamTag
          name: mysql:${MYSQL_VERSION}
          namespace: ${NAMESPACE}
        lastTriggeredImage: ""
      type: ImageChange
    - type: ConfigChange
  status: {}
parameters:
- description: Maximum amount of memory the container can use.
  displayName: Memory Limit
  name: MEMORY_LIMIT
  required: true
  value: 512Mi
- description: The OpenShift Namespace where the ImageStream resides.
  displayName: Namespace
  name: NAMESPACE
  value: openshift
- description: The name of the OpenShift Service exposed for the database.
  displayName: Database Service Name
  name: DATAbase_SERVICE_NAME
  required: true
  value: mysql
- description: Username for MySQL user that will be used for accessing the database.
  displayName: MySQL Connection Username
  from: user[A-Z0-9]{3}
  generate: expression
  name: MYSQL_USER
  required: true
- description: Password for the MySQL connection user.
  displayName: MySQL Connection Password
  from: '[a-zA-Z0-9]{16}'
  generate: expression
  name: MYSQL_PASSWORD
  required: true
- description: Password for the MySQL root user.
  displayName: MySQL root user Password
  from: '[a-zA-Z0-9]{16}'
  generate: expression
  name: MYSQL_ROOT_PASSWORD
  required: true
- description: Name of the MySQL database accessed.
  displayName: MySQL Database Name
  name: MYSQL_DATAbase
  required: true
  value: sampledb
- description: Version of MySQL image to be used (5.5, 5.6, 5.7, or latest).
  displayName: Version of MySQL Image
  name: MYSQL_VERSION
  required: true
  value: "5.7"
  • 切换developer身份点击add 选择闪电标的那个
  • 搜索你刚刚导入的模板名称-> 选择 -> 使用


  • 输入命名空间 镜像源 点击creat 就创建好了
    这里需要注意一下 创建好的ss对应的pvc可能会无法创建成功 需要手动复制pvc名称 删除正在创建的pvc重建 !
二. 脚本文件导入(除了个人测试,公司项目要上线的话都会选择这种 因为有留档的脚本文件)
  1. 脚本文件需要留存
  2. 脚本文件包括两个可执行脚本和一个或者两个配置文件
  • 这里以nacos为例

    其实和模板 *** 作的步骤是一样的 无非就是没有图形化界面了
    起作用的其实就是两个脚本文件
    配置文件中 从镜像库往openshift本地库导入镜像库 然后通过读取env配置和模板yml文件生成你想要的
    由于是公司的东西 我就截一部分图

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5668894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存