注册中心servicecomb单节点k8s部署yaml

使用内嵌ETCD,挂载ETCD数据目录。镜像使用的自定义servicecomb RPM包

---
apiVersion: v1
kind: Service
metadata:
  name: servicecomb
  labels:
    app: servicecomb
spec:
  ports:
  - port: 30100
    targetPort: 30100
    name: sercombport
  clusterIP: None
  selector:
    app: servicecomb
---
apiVersion: v1
kind: Service
metadata:
  name: servicecomb-cs
  labels:
    app: servicecomb
spec:
  ports:
  - port: 80
    targetPort: 30100
    name: centerclient
  - port: 30103
    targetPort: 30103
    name: frontendclient
  selector:
    app: servicecomb
  type: NodePort
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: servicecomb-config
  labels:
    app: servicecomb
data:
  app.conf: |
    ETCD_DATA_DIR="/data/svr/etcd/data"
    component_name = service_center
    runmode = prod
    frontend_host_ip = 0.0.0.0
    httpaddr = 0.0.0.0
    frontend_host_port = 30103
    httpport = 30100 
    read_header_timeout = 60s
    read_timeout = 60s
    idle_timeout = 60s
    write_timeout = 60s
    max_header_bytes = 32768
    max_body_bytes = 2097152
    enable_pprof = 0
    plugins_dir = ./plugins
    discovery_plugin = etcd
    aggregate_mode = ""
    self_register = 1
    registry_plugin = embeded_etcd
    manager_name = "sr-0"
    manager_addr = "http://127.0.0.1:22380"
    manager_cluster = "sr-0=http://127.0.0.1:22380"
    auto_sync_interval = 30s
    connect_timeout = 10s
    registry_timeout = 30s
    compact_index_delta = 100
    compact_interval = 12h
    enable_cache = 1
    cipher_plugin = ""
    quota_plugin = ""
    auth_plugin = ""
    auditlog_plugin = ""
    trace_plugin = ""
    uuid_plugin = "context"
    limit_ttl = "s"
    limit_conns = 0
    limit_iplookups = "RemoteAddr,X-Forwarded-For,X-Real-IP"
    ssl_plugin = ""
    ssl_mode = 0
    ssl_verify_client = 1
    ssl_min_version = TLSv1.2
    ssl_ciphers = TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256
    log_rotate_size = 20
    log_backup_count = 50
    log_format = text
    log_sys = false
    [prod]
    loglevel = INFO
    logfile = /data/logs/servicecomb/service-center.log
    [dev]
    loglevel = DEBUG
    logfile = ""
    enable_pprof = 1
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  labels:
    app: servicecomb
  name: servicecomb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: servicecomb
  serviceName: servicecomb
  template:
    metadata:
      labels:
        app: servicecomb
      annotations:
        reloader.stakater.com/auto: "true"
    spec:
      containers:
        - name: servicecomb
          image: harbor.ops.xxx.cn/bus/servicecomb:v1 #镜像地址
#          imagePullPolicy: IfNotPresent
          imagePullPolicy: Always
          ports:
          - containerPort: 30100
            name: centerport
            protocol: TCP
          - containerPort: 30103
            name: frontendport
            protocol: TCP
          env:
          - name: POD_IP
            valueFrom:
              fieldRef:
                fieldPath: status.podIP
          command:
            - /bin/sh
            - -ec
            - |
              cd /data/svr/servicecomb &&  sh start-frontend.sh
              exec ./service-center
          readinessProbe:
            tcpSocket:
              port: 30100
            initialDelaySeconds: 30
            periodSeconds: 5
            timeoutSeconds: 5
          livenessProbe:
            tcpSocket:
              port: 30100
            initialDelaySeconds: 40
            periodSeconds: 30
            successThreshold: 1
            failureThreshold: 1
          volumeMounts:
          - mountPath: /data/svr/servicecomb/data
            name: combedata
          - name: combconfig
            mountPath: /data/conf/servicecomb/app.conf
            subPath: app.conf
      volumes:
      - name: combconfig
        configMap:
          defaultMode: 0655
          name: servicecomb-config
  volumeClaimTemplates:
  - metadata:
      name: combedata
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: default-nfs
      resources:
        requests:
          storage: 0.5Gi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要通过YAML文件部署Kubernetes Dashboard,可以按照以下步骤进行操作: 1. 首先,创建一个名为`dashboard.yaml`的YAML文件,并使用文本编辑器打开它。 2. 在`dashboard.yaml`文件中,添加以下内容: ```yaml apiVersion: v1 kind: Namespace metadata: name: kubernetes-dashboard --- apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard ``` 这将创建一个名为`kubernetes-dashboard`的命名空间以及一个名为`admin-user`的ServiceAccount。 3. 接下来,添加以下内容来授予ServiceAccount相关权限: ```yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kubernetes-dashboard ``` 这将创建一个名为`admin-user`的ClusterRoleBinding,并将其绑定到`cluster-admin`角色。 4. 最后,在`dashboard.yaml`文件中添加以下内容来部署Dashboard: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: kubernetes-dashboard namespace: kubernetes-dashboard labels: k8s-app: kubernetes-dashboard spec: replicas: 1 selector: matchLabels: k8s-app: kubernetes-dashboard template: metadata: labels: k8s-app: kubernetes-dashboard spec: serviceAccountName: admin-user containers: - name: kubernetes-dashboard image: kubernetesui/dashboard:v2.4.0 ports: - containerPort: 8443 protocol: TCP args: - --enable-skip-login ``` 这将创建一个名为`kubernetes-dashboard`的Deployment,并使用`admin-user` ServiceAccount进行验证。Dashboard的镜像版本为v2.4.0,并且启用了跳过登录的功能。 5. 保存并关闭`dashboard.yaml`文件。 6. 运行以下命令来部署Dashboard: ``` kubectl apply -f dashboard.yaml ``` 这将使用`dashboard.yaml`文件中定义的配置部署Kubernetes Dashboard。 部署完成后,可以使用以下命令检查Dashboard的状态: ``` kubectl get all -n kubernetes-dashboard ``` 确保所有相关的Pod和服务都处于运行状态。然后,可以通过访问Dashboard的URL(通常是https://<cluster-ip>:8443)来访问Kubernetes Dashboard。请注意,具体的URL和访问方式可能因集群配置而有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值