第二章 Kubernetes学习准备之SpringBoot博客系统

学习目标:

  1. 熟悉 Spring Boot 博客应用 kubeblog的架构,功能

  2. 安装 Docker,mysql,IDEA,Maven

  3. 掌握博客项目的打包,运行

2-1 如何获取使用博客源码

https://gitee.com/InsaneLoafer/kubeblog

2-2 博客应用演示

image
  1. 首页
  • 查看博客,留言,Tag过滤
  • 关键字查询
  1. 管理员控制台
  • 写博客

  • 留言

  • Tag管理

2-3 Spring Boot 博客应用代码整体介绍(JPA,Thymleaf)

2.3.1 博客项目代码特色

  • 清新,优雅的 UI 设计

  • 实际可用的技术博客系统

  • 支持 MarkDown 编辑

  • 支持后台管理系统

  • 支持评论,留言回复,打赏

  • 为你的个人技术背景加分

  1. 前端
  • Thymeleaf 模板渲染引擎
  • SemanticUI 程序员也能写出专业设计师风格的页面
  1. 后端
  • SpringBoot 业界主流框架
  1. 数据层 -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
  1. 下载并安装 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 目录之前一级目录)
image

MAVEN_HOME 添加到Path系统变量

image
  • Maven 软件版本测试 win+R 打开dos窗口,通过 mvn -v命令检查 maven 是否安装成功,看到 maven 的版本为 3.6.3 及 java 版本为 jdk-11 即为安装 成功。 打开命令行,输入 mvn –v命令,如下图:
image
  1. 下载IDEA: https://www.jetbrains.com/idea/download/

  2. 配置 IDEA

2-6 安装Docker以及环境配置

本文假设您已经在 Virtualbox 上安装了 Centos7 系统。

配置虚拟机免密登录

  • 生成秘钥

ssh-keygen

  • 查看生成的秘钥

cat ~/.ssh/id_rsa.pub

  • 拷贝公钥到虚拟机上

ssh-copy-id -i .ssh/id_rsa.pub [email protected]

在 Centos7 系统上安装Docker

  1. 添加依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

  1. 设置yum源

yum-config-manager --add-repo [https://download.docker.com/linux/centos/docker-ce.repo](https://download.docker.com/linux/centos/docker-ce.repo)

  1. 查看仓库中所有Docker版本 yum list docker-ce --showduplicates | sort -r

  2. 安装Docker yum -y install docker-ce

  3. 启动并加入开机启动

systemctl start docker

systemctl enable docker

2-7 安装 Mysql Server 和 Mysq Workbench

环境准备

  1. 挂载外部持久化配置和数据目录
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
  1. 运行 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
  1. 登录 mysql server,设置 root 密码

mysql -uroot -p UPDATE mysql.user SET host='%' WHERE user='root'; flush privileges;

  1. 安装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

你可能感兴趣的:(第二章 Kubernetes学习准备之SpringBoot博客系统)