kubernate1.22、kubesphere3 部署spring-boot微服务

目录

环境准备

Kubernetes 集群版本v1.22.10

kubesphere环境

需要的docker镜像

1、创建k8s的namespace和ConfigMap

yaml配置文件1shenyu-ns.yaml

1.1、执行命令

1.2、文件内容:

1.3、查看ConfigMap创建情况

2、创建本地存储卷

配置文件2shenyu-store.yaml

2.1、执行命令

2.2、通过kubesphere页面存储-持久卷声明查看创建结果

3 、设置访问外部服务endpoint

配置文件3shenyu-endpoints.yaml

执行命令

4、部署K8s的MySQL服务

配置文件4shenyu-mysql.yaml

4.1、执行命令

4.2、查看mysql服务部署状态

4.3、mysql容器日志

 4.4、mysql容器内的配置

4.5、通过kubesphere配置MySQl可以外部访问

    5、部署shenyu-admin服务

配置文件5shenyu-admin.yaml

5.1、执行命令

5.2、shenyu-admin 部署成功标志

6 、部署shenyu-bootstrap服务

配置文件6shenyu-bootstrap.yaml

6.1、执行命令

6.2、shenyu-bootstrap部署成功标志

7 、部署shenyu-demo服务

配置文件7shenyu-demo.yaml

7.1、执行命令

7.2、出现docker镜像拉取失败的问题

7.3、构建shenyu-demo的镜像

 7.3.1、构建命令

7.3.2、查看构建镜像结果

7.3.2 打标签tag 

7.3.4 、再次执行部署 

7.4、容器启动日志

 7.5 验证效果

8、kubectl命令

8.1、 强制删除pod

8.2、 pod容器内文件复制到宿主机目录

8.3 、dockers删除镜像命令

8.4、dos2unix 编码转换

9、问题记录

9.1、The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64) and no specific platform was requested


环境准备

Kubernetes 集群版本v1.22.10

kubesphere环境

需要的docker镜像

1、创建k8s的namespace和ConfigMap

yaml配置文件1shenyu-ns.yaml

1.1、执行命令

kubectl apply -f 1shenyu-ns.yaml

kubectl delete -f 1shenyu-ns.yaml

1.2、文件内容:

apiVersion: v1
kind: Namespace
metadata:
  name: shenyu
  labels:
    name: shenyu
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: shenyu-cm
  namespace: shenyu
data:
  application-local.yml: |
    server:
        port: 9195
        address: 0.0.0.0
    spring:
        main:
            allow-bean-definition-overriding: true
        application:
            name: shenyu-bootstrap
    management:
        health:
            defaults:
            enabled: false
    shenyu:
        local:
            enabled: true
        file:
            enabled: true
        cross:
            enabled: true
        dubbo:
            parameter: multi
        sync:
            websocket:
              urls: ws://shenyu-admin-svc:9095/websocket
        exclude:
            enabled: false
            paths:
            - /favicon.ico
        extPlugin:
            enabled: true
            threads: 1
            scheduleTime: 300
            scheduleDelay: 30
        scheduler:
            enabled: false
            type: fixed
            threads: 16
    logging:
        level:
            root: info
            org.springframework.boot: info
            org.apache.ibatis: info
            org.apache.shenyu.bonuspoint: info
            org.apache.shenyu.lottery: info
            org.apache.shenyu: info
  application-demo.yml: |
    server:
      servlet:
        context-path: /
      port: 8090
    spring:
      main:
        allow-bean-definition-overriding: true
      application:
        name: boot-demo
      security:
        user:
          name: admin
          password: 123456
      sql:
        init:
          schema-locations:
            - classpath*:sql/demo.sql
          continue-on-error: false
          username: root
          password: 123456
          separator: ;
          encoding: UTF-8
          mode: always
          platform: all
      datasource:
        username: root
        password: 123456
        url: jdbc:mysql://mysql:3306/demo?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false
        driver-class-name: com.mysql.cj.jdbc.Driver
        type: com.alibaba.druid.pool.DruidDataSource
        druid:
          initial-size: 5
          min-idle: 5
          max-active: 20
          max-wait: 60000
          time-between-eviction-runs-millis: 60000
          min-evictable-idle-time-millis: 300000
          validation-query: SELECT 1 FROM DUAL
          test-while-idle: true
          test-on-borrow: false
          test-on-return: false
          pool-prepared-statements: true
          max-pool-prepared-statement-per-connection-size: 20
          filters: stat,wall
          use-global-data-source-stat: true
    management:
      endpoints:
        web:
          exposure:
            include: "*"
    mybatis-plus:
      mapper-locations: classpath:mapper/*.xml
      global-config:
        db-config:
          id-type: AUTO
      configuration:
        map-underscore-to-camel-case: true
        call-setters-on-nulls: true
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
        cache-enabled: true
        database-id: mysql
  application-mysql.yml: |
    spring.datasource.url: jdbc:mysql://mysql:3306/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false
    spring.datasource.username: root
    spring.datasource.password: 123456
  my.cnf: |
    [client]
    socket=/var/run/mysqld/mysqld.sock
    !includedir /etc/mysql/conf.d/
    !includedir /etc/mysql/mysql.conf.d/                                      
    [mysqld]
    bind-address=0.0.0.0
    port=3306
    server-id=1
    skip-host-cache
    skip-name-resolve
    datadir=/var/lib/mysql
    socket=/var/run/mysqld/mysqld.sock
    secure-file-priv=/var/lib/mysql-files
    user=mysql  
    pid-file=/var/run/mysqld/mysqld.pid
    socket=/var/run/mysqld/mysqld.sock
    basedir=/var/lib/mysql
    datadir=/var/lib/mysql/data
    symbolic-links=0
    skip_name_resolve
    log_bin=mysql-bin
    binlog_format=mixed
    expire_logs_days=30
    init_connect='SET collation_connection = utf8mb4_unicode_ci'
    init_connect='SET NAMES utf8mb4'
    character-set-server=utf8mb4
    collation-server=utf8mb4_unicode_ci
    default-time_zone='+8:00'
    skip-character-set-client-handshake
    max_connections=1000
    max_connect_errors = 6000

1.3、查看ConfigMap创建情况

kubectl get configmap shenyu-cm -n shenyu -o yaml

或者通过k

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值