第二章 Kubernetes学习准备之SpringBoot博客系
学习目标:
-
熟悉 Spring Boot 博客应用 kubeblog的架构,功能
-
安装 Docker,mysql,IDEA,Maven
-
掌握博客项目的打包,运行
2-1 如何获取使用博客源码
https://gitee.com/InsaneLoafer/kubeblog
2-2 博客应用演示
image- 首页
- 查看博客,留言,Tag过滤
- 关键字查询
- 管理员控制台
-
写博客
-
留言
-
Tag管理
2-3 Spring Boot 博客应用代码整体介绍(JPA,Thymleaf)
2.3.1 博客项目代码特色
-
清新,优雅的 UI 设计
-
实际可用的技术博客系统
-
支持 MarkDown 编辑
-
支持后台管理系统
-
支持评论,留言回复,打赏
-
为你的个人技术背景加分
- 前端
- Thymeleaf 模板渲染引擎
- SemanticUI 程序员也能写出专业设计师风格的页面
- 后端
- SpringBoot 业界主流框架
- 数据层 -JPA 持久化数据访问 -Mysql 关系型数据库
2-4 VirtualBox 虚拟机配置双网卡实现固定IP
- Virtualbox安装CentOS(安装步骤参考:https://blog.csdn.net/maty_wang/article/details/79127718)
虚拟机需要分配2个CPU Core ,用于运行Kubeadm
- 配置虚机双网卡,实现固定IP ,且能访问外网
网卡1 :仅主机host-only
image网卡2 :网络转换地址NAT
image查看虚拟机网络,点击管理- > 主机网络管理器,记住ip地址( 192.168.56.1 ) , 并选择"手动配置网卡"。
image- 重启虚拟机,此时在虚拟机ping www.baidu.com是返回成功的。
- 设置外部网络访问虚拟机
设置静态ip地址,编辑网络配置文件,编辑网络设置文件
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=8146965a-1171-47bf-949b-df117cb49465
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.101
IPADDR为自定义的静态IP
- 修改完成后重启网络即可
systemctl restart network
2-5 博客应用开发环境搭建-IDEA,Maven
环境准备
JAVA安装参考:https://www.cnblogs.com/wjup/p/11041274.html
JDK下载:https://www.aliyundrive.com/s/njw9RB2EG3E
编辑/etc/profile
set java environment
JAVA_HOME=/var/java/jdk-17.0.1
JRE_HOME=/var/java/jdk-17.0.1/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
- 下载并安装 Maven
- 下载:http://maven.apache.org/download.cgi
wget [https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz](https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz) --no-check-certificate
Linux或Mac安装:
# 解压
tar -xzvf apache-maven-3.8.4-bin.tar.gz
# 编辑`/etc/profile`文件添加
export MAVEN_HOME=/var/local/apache-maven-3.8.4
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
保存退出,然后刷新配置
source /etc/profile
验证
[root@swarm-manager apache-maven-3.8.4]# mvn -version
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: /var/local/apache-maven-3.8.4
Java version: 1.8.0_311, vendor: Oracle Corporation, runtime: /usr/local/java/jdk1.8.0_311/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1127.el7.x86_64", arch: "amd64", family: "unix"
Windows环境:
Maven软件的安装 Maven 下载后,将 Maven 解压到一个没有中文没有空格的路径下,比如:H:\software\maven 下面。 解压后目录结构如下:
bin:存放了 maven 的命令
boot:存放了一些 maven 本身的引导程序,如类加载器等
conf:存放了 maven 的一些配置文件,如 setting.xml 文件
lib:存放了 maven 本身运行所需的一些 jar 包
- Maven环境变量配置 配置
MAVEN_HOME
,变量值就是你的 maven 安装的路径(bin 目录之前一级目录)
将MAVEN_HOME
添加到Path系统变量
- Maven 软件版本测试
win+R
打开dos窗口,通过mvn -v
命令检查 maven 是否安装成功,看到 maven 的版本为 3.6.3 及 java 版本为 jdk-11 即为安装 成功。 打开命令行,输入mvn –v
命令,如下图:
-
配置 IDEA
2-6 安装Docker以及环境配置
本文假设您已经在 Virtualbox 上安装了 Centos7 系统。
配置虚拟机免密登录
- 生成秘钥
ssh-keygen
- 查看生成的秘钥
cat ~/.ssh/id_rsa.pub
- 拷贝公钥到虚拟机上
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.0.101
在 Centos7 系统上安装Docker
- 添加依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置yum源
yum-config-manager --add-repo [https://download.docker.com/linux/centos/docker-ce.repo](https://download.docker.com/linux/centos/docker-ce.repo)
-
查看仓库中所有Docker版本
yum list docker-ce --showduplicates | sort -r
-
安装Docker
yum -y install docker-ce
-
启动并加入开机启动
systemctl start docker
systemctl enable docker
2-7 安装 Mysql Server 和 Mysq Workbench
环境准备
- 挂载外部持久化配置和数据目录
mkdir /opt/mysql
mkdir /opt/mysql/conf.d
mkdir /opt/mysql/data/
创建my.cnf
配置文件
touch /opt/mysql/my.cnf
my.cnf添加如下内容:
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
- 运行 Mysql Docker 镜像
docker run --name mysql57 -p 3306:3306 -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/log:/var/log/mysql -v /opt/mysql/my.cnf:/etc/mysql/my.cnf:rw -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7.30 --default-authentication-plugin=mysql_native_password
- 登录 mysql server,设置 root 密码
mysql -uroot -p UPDATE mysql.user SET host='%' WHERE user='root'; flush privileges;
- 安装Mysql client
- 添加rpm源
rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
- 安装x64位的 mysql客户端
yum install mysql-community-client.x86_64 -y
- 登录 mysql server
mysql -h 127.0.0.1 -uroot -p
输入密码:password
- 创建数据库 blogDB
CREATE DATABASE IF NOT EXISTS blogDB DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
2-8 博客应用编译,打包,运行
1. 项目编译,打包
在 IDEA 里设置 Maven 项目。
cd Final
mvn package
2. 运行博客项目
java -jar target/kubeblog.jar
- 访问博客用户端:http://localhost:5000
- 访问博客管理员端:http://localhost:5000/admin, 用户名密码
admin/password