(1)使用其中一个k8s节点master01,安装docker
[root@master01 ~]# yum install -y docker-ce
(2)安装git
[root@master01 ~]# yum install -y git
(3)克隆zrlog源码
[root@master01 ~]# git clone https://gitee.com/94fzb/zrlog-docker.git
(4)编译
[root@master01 ~]# cd zrlog-docker
下载Skywalking的java agent
[root@master01 zrlog-docker]# which wget &> /dev/null || yum install -y wget
[root@master01 zrlog-docker]# wget https://archive.apache.org/dist/skywalking/java-agent/8.15.0/apache-skywalking-java-agent-8.15.0.tgz
[root@master01 zrlog-docker]# tar zxf apache-skywalking-java-agent-8.15.0.tgz
##将刚刚解压的包,用zip压缩
[root@master01 zrlog-docker]# which zip &>/dev/null || yum install -y zip
[root@master01 zrlog-docker]# zip -r java-agent.zip skywalking-agent
##编辑zrlog包里的启动脚本run.sh,目的是为了增加skywalking的java agent
[root@master01 zrlog-docker]# which unzip &>/dev/null || yum install -y unzip
[root@master01 zrlog-docker]# wget http://dl.zrlog.com/release/zrlog.zip
[root@master01 zrlog-docker]# mkdir zrlog
[root@master01 zrlog-docker]# unzip zrlog.zip -d zrlog/
[root@master01 zrlog-docker]# vi zrlog/bin/run.sh ##内容改为如下,原本内容需要注释掉
java -javaagent:/opt/tomcat/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=app1 -Dskywalking.collector.backend_service=192.168.1.60:11800 -Xmx128m -Dfile.encoding=UTF-8 -jar zrlog-starter.jar
#说明:
javaagent:指定skywalking-agent.jar文件路径
skywalking.agent.service_name: 本应用在skywalking中的名称
skywalking.collector.backend_service: skywalking 服务端地址,grpc上报地址,默认端口是 11800
##将zrlog重新打包
[root@master01 zrlog-docker]# cd zrlog
[root@master01 zrlog]# zip -r zrlog.zip ./*
[root@master01 zrlog]# cd ..
[root@master01 zrlog-docker]# /bin/mv zrlog/zrlog.zip ./
修改Dockerfile
[root@master01 zrlog-docker]# vi Dockerfile #改为如下
FROM registry.cn-hangzhou.aliyuncs.com/abroad_images/openjdk:17
MAINTAINER “xiaozhang” xiaozhang@163.com
CMD [“/bin/bash”]
ARG DUMMY
RUN mkdir -p /opt/tomcat
RUN curl -o /opt/tomcat/ROOT.zip http://dl.zrlog.com/release/zrlog.zip?${DUMMY}
COPY zrlog.zip /opt/tomcat/ROOT.zip
RUN cd /opt/tomcat && jar -xf ROOT.zip
ADD /java-agent.zip /opt/tomcat/java-agent.zip
RUN cd /opt/tomcat && jar -xf java-agent.zip
ADD /bin/run.sh /run.sh
RUN chmod a+x /run.sh
RUN rm /opt/tomcat/ROOT.zip
CMD /run.sh
##到此结束
##编译成镜像
[root@master01 zrlog-docker]# sh build.sh
(5)安装zrlog应用
[root@master01 zrlog-docker]# docker run -itd -p 28080:8080 -e DOCKER_MODE='true' zrlog /run.sh
查看容器
[root@master01 zrlog-docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b59e3d69bc70 zrlog "/run.sh" 41 seconds ago Up 41 seconds 0.0.0.0:28080->8080/tcp, :::28080->8080/tcp angry_elion
2、配置java应用
(1)使用helm安装一个数据库
[root@master01 skywalking]# helm search repo mysql
NAME CHART VERSION APP VERSION DESCRIPTION
bitnami/mysql 9.14.1 8.0.35 MySQL is a fast, reliable, scalable, and easy t...
bitnami/phpmyadmin 13.0.0 5.2.1 phpMyAdmin is a free software tool written in P...
bitnami/mariadb 14.1.0 11.1.2 MariaDB is an open source, community-developed ...
bitnami/mariadb-galera 10.0.3 11.1.2 MariaDB Galera is a multi-primary database clus...
[root@master01 ~]# helm pull --untar bitnami/mysql
[root@master01 ~]# cd mysql/
[root@master01 mysql]# vi values.yaml
# 第21行定义sc
21 storageClass: "nfs-client"
# 第85-88行修改国外镜像为国内镜像
85 image:
86 registry: registry.cn-hangzhou.aliyuncs.com
87 repository: abroad_images/mysql
88 tag: 8.0.35-debian-11-r0
# 第1039-1042行修改国外镜像为国内镜像
1039 image:
1040 registry: registry.cn-hangzhou.aliyuncs.com
1041 repository: abroad_images/os-shell
1042 tag: 11-debian-11-r90
# 第1073-1076行修改国外镜像为国内镜像
1073 image:
1074 registry: registry.cn-hangzhou.aliyuncs.com
1075 repository: abroad_images/mysqld-exporter
1076 tag: 0.15.0-debian-11-r70
[root@master01 mysql]# helm install zrlog-mysql .
NAME: zrlog-mysql
LAST DEPLOYED: Sat Nov 4 19:00:05 2023
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: mysql
CHART VERSION: 9.14.1
APP VERSION: 8.0.35
** Please be patient while the chart is being deployed **
Tip:
Watch the deployment status using the command: kubectl get pods -w --namespace default
Services:
echo Primary: zrlog-mysql.default.svc.cluster.local:3306
Execute the following to get the administrator credentials:
echo Username: root
MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace default zrlog-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d)
To connect to your database:
1. Run a pod that you can use as a client:
kubectl run zrlog-mysql-client --rm --tty -i --restart='Never' --image registry.cn-hangzhou.aliyuncs.com/abroad_images/mysql:8.0.35-debian-11-r0 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash
2. To connect to primary service (read/write):
mysql -h zrlog-mysql.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"
验证
[root@master01 mysql]# kg po | grep mysql
zrlog-mysql-0 1/1 Running 0 13m
(2)创建数据库
[root@master01 mysql]# MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace default zrlog-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d)
[root@master01 mysql]# kubectl run zrlog-mysql-client111 --rm --tty -i --restart='Never' --image registry.cn-hangzhou.aliyuncs.com/abroad_images/mysql:8.0.35-debian-11-r0 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash
[root@master01 mysql]# mysql -h zrlog-mysql.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD" -e"create database zrlog"
I have no name!@zrlog-mysql-client111:/$ mysql -h zrlog-mysql.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD" -e "create database zrlog"
(3)浏览器输入http://192.168.1.60:28080进行访问测试

查看数据服务器地址为10.0.194.31
[root@master01 mysql]# kg svc | grep mysql
zrlog-mysql ClusterIP 10.0.194.31 <none> 3306/TCP 10m
zrlog-mysql-headless ClusterIP None <none> 3306/TCP 10m
查看数据库密码为SI1k6ff4ZF
[root@master01 mysql]# kubectl get secret --namespace default zrlog-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d
SI1k6ff4ZF
根据查询填写信息后,点击【下一步】

填写网站信息后,点击【下一步】


点击【点击查看】即可查看博客网站目前信息

点击【管理】后,输入账号密码

点击【文章撰写】,填写相关内容后,点击【发布】

(4)浏览器输入http://192.168.1.60:8080进行访问测试
点击【普通服务】-【服务】-【Service】即可查看服务

点击【普通服务】-【服务】-【Topology】即可查看服务走向
