# learn-spring-cloud **Repository Path**: chintensakai/learn-spring-cloud ## Basic Information - **Project Name**: learn-spring-cloud - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 3 - **Created**: 2021-11-08 - **Last Updated**: 2022-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [toc] ### 1. 支持一键部署工具mini-gde https://gitee.com/chintensakai/mini-gde ![img.png](README.assets/img1.png) ![img.png](README.assets/img2.png) ~~### 1. 服务迁移到k8s集群中~~ 01-08 安装metallb模拟loadbalancer ``` kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.11.0/manifests/namespace.yaml kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.11.0/manifests/metallb.yaml apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: config: | address-pools: - name: default protocol: layer2 addresses: - 192.168.1.240-192.168.1.250 ``` ![img.png](README.assets/img.png) 01-08 台式机安装了metallb,模拟loadbalancer,统一都不用带端口了 ~~注意:笔记本上ingress是LoadBalancer,所以直接访问域名就行,实际是访问到loadbalancer的80端口, 而台式机是NodePort,所以域名需要加nodePort:http://chins-blog.me:31943/new~~ ``` docker build -t chintensakai/learn-xxx:0.0.1 . ## docker save chintensakai/learn-xxx:0.0.1 -o learn-xxx.tar helm package xxx helm install xxx ``` ``` docker run -itd -v /c/Users/toy_s/Documents/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest docker run -itd -v /home/ubuntu/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest ``` ### ~~1. 创建所需的docker容器~~ #### 1.1 nacos ``` ## 修改mysql容器名和本机暴露端口,避免和mysql冲突 vim example/standalone-mysql-8.yaml mysql: container_name: nacos-mysql ports: - "3316:3306" ## 修改nacos访问mysql的服务名,和上面mysql容器名对应 vim example/standalone-mysql-8.yaml MYSQL_SERVICE_HOST=nacos-mysql ## 启动 docker-compose -f example/standalone-mysql-8.yaml up ``` #### 1.2 mysql ``` ubuntu: sudo docker run -d --name mysql -v /home/ubuntu/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql widowns: docker run -d --name mysql -v /c/Users/toy_s/Documents/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:8.0.16 ``` ##### 1.2.1 创建数据库 ``` CREATE SCHEMA `learn-auth` DEFAULT CHARACTER SET utf8mb4 ; ``` ### 2. 业务介绍 #### 2.1 learn-auth - 认证服务器 ``` http://127.0.0.1:8800/oauth2/authorize?client_id=my-client&response_type=code&redirect_uri=http://127.0.0.1:2022/code-redirect ``` ### 3. k8s部署 ``` docker build -t chintensakai/learn-auth:0.0.1 . ``` ### 0. 问题记录 2022-01-08 ``` sudo groupadd docker #添加docker用户组 sudo gpasswd -a $USER docker #将当前用户添加至docker用户组 newgrp docker #更新docker用户组 ``` 2021-12-19 问题:gateway 设置lb://xxxx,报503 解决:添加如下依赖 ```spring-cloud-starter-loadbalancer``` 2021-12-18 1. mybatis-plus 报错: Could not resolve type alias '' 原因:parameterType="" 入参为List,这里空了忘记写, 改成:parameterType="java.util.List" 2. is not in the allowlist. If you believe this class is safe to deserialize @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS) @JsonIgnoreProperties(ignoreUnknown = true) 4. window.onload = function() { window.opener.postMessage([[${token}]], "http://127.0.0.1:8080"); window.close(); } 前端项目必须用127.0.0.1:8080来访问,而不能用localhost:8080,否则收不到事件 2021-11-21: discovery写成了discover,在笔记本上本机部署的nacos中一直没有发现,因为默认的server-addr就是127.0.0.1,而到了台式机上,nacos部署在ubuntu中,一下子就暴露出来了 2021-11-17: { "error": "invalid_grant" } 请求体格式不对,参照rfc文档解决 ![image-20211119195554062](README.assets/image-20211119195554062.png) 2021-11-16 1. ' org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter' is deprecated -> 使用spring-authorization-server + No enum constant com.baomidou.config.rules.IdStrategy.assign_id mybatis 插件版本低,不支持assign_id + The parameters 'dataSource' for goal com.baomidou:mybatisplus-maven-plugin:1.0:code are missing or invalid ​ 直接运行插件就行 2021-11-15 + 只有添加了starter-web,使它成为一个web项目,才能注册到nacos + 新版本不再默认加载bootstrap.yaml文件