微服务编排

路由:/managements/server

参考Rancher地址(用户名:admin 密码:hnxjy123456789):hhttps://172.20.32.234:30206/dashboard/c/local/explorer/apps.deployment/microservices/osredm-mon#pods

微服务编排

查看容器列表

字段 说明
状态
名称
标识
应用类型
镜像
就绪
重启次数
存活时间
操作 “停止” “强制停止” “重启” “暂停” “编辑配置” “环境变量管理” “删除” “下载YAML”

新建应用

示例文件:

  • Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: osredm-zone
  namespace: microservices
  labels:
    mon-skywalking-key: "microservices-modules-zone"
    mon-sentinel-key: "microservices-modules-zone"
    mon-nacos-key: "microservices-zone"
  annotations:
    mon-name: "专区服务test"
spec:
  replicas: 1
  selector:
    matchLabels:
      app: zone
  template:
    metadata:
      labels:
        app: zone
    spec:
      containers:
        - name: zone
          image: 192.168.0.214:32001/microservices-modules-zone:latest
          imagePullPolicy: IfNotPresent
          env:
            - name: TZ
              value: Asia/Shanghai
          ports:
            - containerPort: 8086
          resources:
            limits:
              memory: "1024Mi"
          volumeMounts:
            - name: shared-logs-volume
              mountPath: /home/microservices/logs
              subPath: microservices-ns/logs
      volumes:
        - name: shared-logs-volume
          hostPath:
            path: /data/k8s-data/
            type: DirectoryOrCreate
  • StatefulSet
# redis-statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: test-redis
  namespace: data
  annotations:
    mon-name: "缓存服务"
spec:
  serviceName: test-redis
  replicas: 1
  selector:
    matchLabels:
      app: test-redis
  template:
    metadata:
      labels:
        app: test-redis
    spec:
      containers:
        - name: test-redis
          image: redis:5.0
          command: ["redis-server"]
          volumeMounts:
            - name: redis-data
              mountPath: /data
              subPath: data-ns/redis-micro/
          ports:
            - containerPort: 6379
          resources:
            limits:
              memory: "100Mi"
      volumes:
        - name: redis-data
          hostPath:
            path: /data/k8s-data/
            type: DirectoryOrCreate
  • DaemonSet
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: test-cadvisor
  namespace: base-service
  annotations:
    mon-name: "容器监控探针"
spec:
  selector:
    matchLabels:
      app: test-cadvisor
  template:
    metadata:
      labels:
        app: test-cadvisor
    spec:
      tolerations:
        - key: node-role.kubernetes.io/master
          effect: NoSchedule
      containers:
        - name: test-cadvisor
          image: google/cadvisor:v0.31.0
          ports:
            - containerPort: 8080
          volumeMounts:
            - name: rootfs
              mountPath: /rootfs
              readOnly: true
            - name: var-run
              mountPath: /var/run
              readOnly: true
            - name: sys
              mountPath: /sys
              readOnly: true
            - name: docker
              mountPath: /var/lib/docker
              readOnly: true
      volumes:
        - name: rootfs
          hostPath:
            path: /
        - name: var-run
          hostPath:
            path: /var/run
        - name: sys
          hostPath:
            path: /sys
        - name: docker
          hostPath:
            path: /var/lib/docker

环境变量

Secret类型需要使用以下编排文件创建后才有下拉值可选:

  1. 登录服务器,新建一个yaml文件(如secret.yaml),输入以下内容;
  2. 执行命令:kubectl apply -f secret.yaml。如需删除,使用命令: kubectl delete -f secret.yaml
apiVersion: v1
data:
  database: cnVveWktZ2l0bGluaw==
  root-password: VHJ1c3RfIyUwMQ==
kind: Secret
metadata:
  name: test-secret
  namespace: microservices

ConfigMap类型需要使用以下编排文件创建后才有下拉值可选:

  1. 登录服务器,新建一个yaml文件(如configmap.yaml),输入以下内容;
  2. 执行命令:kubectl apply -f configmap.yaml。如需删除,使用命令: kubectl delete -f configmap.yaml
apiVersion: v1
data:
  test-config1: xxx
  test-config2: yyy
  test-config3: zzz
kind: ConfigMap
metadata:
  name: test-config-map
  namespace: microservices