[Gitops--8]微服务前置中间件部署

news2024/11/15 23:56:21

微服务前置中间件部署

1. MySQL主从

1.1 创建持久化存储

使用project-admin账号

请添加图片描述

进入sangomall项目

请添加图片描述

[存储],[存储卷],sangomall-mysql-master-pvc

请添加图片描述

storageclass创建详见K8s集群中部署KubeSphere 2.1章节
在k8s环境下可以看到这个sc

root@ks-master:~/yaml# kubectl get sc
NAME                            PROVISIONER        RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
local (default)                 openebs.io/local   Delete          WaitForFirstConsumer   false                  19d
managed-nfs-storage (default)   fuseim.pri/ifs     Delete          Immediate              false                  10m

多个节点挂载需要选择ReadWriteMany

请添加图片描述

[下一步],[创建],这样pvc就创建完成

请添加图片描述

再一样步骤创建sangomall-mysql-slave-pvc

请添加图片描述

1.2 配置文件

1.1 Master节点

sangomall-mysql-master-cnf

请添加图片描述

[添加数据]

skip-name-resolve一定要加,不然连接mysql 会慢

my.cnf,[下一步],[创建]

请添加图片描述

当你使用主从拓扑时,一定要对所有MysOL实例都分别指定一个独特的互不相同的server-id。默认值为0,当server-id=0时,对于主机来说依然会记录二进制日志,但会拒绝所有的从机连接,对于从机来说则会拒绝连接其它实例。

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
skip-ssl

server_id=1
log_bin=mysql-bin
read-only=0
binlog-do-db=mall_oms
binlog-do-db=mall_pms
binlog-do-db=mall_sms
binlog-do-db=mall_ums
binlog-do-db=mall_wms

replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

1.2 Slave节点

和maste一样创建[sangomall-mysql-slave-cnf],[my.cnf],[下一步],[创建]

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
skip-ssl

server_id=2
log_bin=mysql-bin
read-only=1
binlog-do-db=mall_oms
binlog-do-db=mall_pms
binlog-do-db=mall_sms
binlog-do-db=mall_ums
binlog-do-db=mall_wms

replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

请添加图片描述

1.3 添加root密码

请添加图片描述

请添加图片描述

1.4 mysql部署

1.4.1 Master部署

创建有状态服务

请添加图片描述

mysql-master

请添加图片描述

选择harbor上镜像

harbor.intra.com/baseimages/mysql:5.7.36

请添加图片描述

引用保密字典

请添加图片描述

[下一步],[挂载存储卷] /var/lib/mysql

请添加图片描述

[挂载配置文件]

请添加图片描述

保密字典选择之前创建的sangomall-mysql-master-cnf,挂载到/etc/mysql/conf.d

请添加图片描述

[下一步], [创建] Mysql-Master就被创建完成

请添加图片描述

1.4.2 Slave部署

[mysql-slave]

请添加图片描述

harbor.intra.com/baseimages/mysql:5.7.36

请添加图片描述

请添加图片描述

/var/lib/mysql

请添加图片描述

/etc/mysql/conf.d

请添加图片描述

[下一步], [创建] Mysql-Slave就被创建完成

请添加图片描述

确认2个pod都被正确创建

root@ks-master:~# kubectl get pods -A |grep mysql
sangomall                      mysql-master-v1-0                                                 1/1     Running            0          12m
sangomall                      mysql-slave-v1-0                                                  1/1     Running            0          4m11s

1.5 配置主从复制

1.5 Master节点授权数据同步

请添加图片描述

进入容器组

请添加图片描述

[打开终端]

mysql -uroot -p123456

请添加图片描述

添加用于同步用户
grant replication slave on *.* to 'backup'@'%' identified by '123456';

查看master状态
show master status\G;

请添加图片描述

将内存保存

File: mysql-bin.000003
Position: 439

确保在容器中可以解析到mysql-master.sangomall.svc.cluster.local

请添加图片描述

1.4 Slave节点同步master数据

进入Slave的控制台

mysql -uroot -p123456

将slave设置为从节点

change master to
master_host='mysql-master.sangomall.svc.cluster.local.',
master_user='backup',
master_password='123456',
master_log_file='mysql-bin.000003',
master_log_pos=439,
master_port=3306;

启动从库同步

start slave;

查看同步状态

mysql> show slave status \G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: mysql-master.sangomall.svc.cluster.local.
                  Master_User: backup
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 439
               Relay_Log_File: mysql-slave-v1-0-relay-bin.000002
                Relay_Log_Pos: 320
        Relay_Master_Log_File: mysql-bin.000004
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB: mysql,sys,information_schema,performance_schema
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 439
              Relay_Log_Space: 538
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
                  Master_UUID: d1e6fcff-d844-11ed-9270-0acd35891bf8
             Master_Info_File: /var/lib/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
           Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
     Last_SQL_Error_Timestamp:
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0
         Replicate_Rewrite_DB:
                 Channel_Name:
           Master_TLS_Version:
1 row in set (0.00 sec)

1.5.3 验证数据同步

当主节点有新数据更新时,从节点会自动同步

create database mall_oms;

请添加图片描述

2. Redis

2.1 配置pvc

redis-pvc

请添加图片描述

2.2 配置文件

redis-conf

redis-conf
appendonly yes

请添加图片描述

[下一步],[创建]

请添加图片描述

2.3 部署Redis

创建[有状态服务]

请添加图片描述

名称为:[redis],[下一步]

镜像为

harbor.intra.com/baseimages/redis:5.0.7

请添加图片描述

redis-server
/etc/redis/redis.conf

请添加图片描述

挂载卷

请添加图片描述

[挂载保密字典]

/etc/redis
redis.conf

请添加图片描述

请添加图片描述

[下一步],[创建]

请添加图片描述

测试解析

 dig -t a redis.sangomall.svc.cluster.local. @10.233.0.3

请添加图片描述

验证服务

root@ks-master:~# kubectl exec -it -n sangomall redis-v1-0 bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
root@redis-v1-0:/data# redis-cli
127.0.0.1:6379> set key1 v1
OK
127.0.0.1:6379> get key1
"v1"
127.0.0.1:6379> exit
root@redis-v1-0:/data# exit
exit

3.ELK

3.1 创建Es的pvc

es-pvc

请添加图片描述

这里readwriteonce即可

请添加图片描述

[下一步],[创建] 这样pvc就创建完成了

请添加图片描述

3.2 创建ES字典

es-conf

请添加图片描述

[添加数据]

http.host: 0.0.0.0
discovery.type: single-node
ES_JAVA_OPTS: -Xms64m -Xmx512m

请添加图片描述

[创建]

请添加图片描述

3.3 创建ES服务

这里选择[有状态服务]

请添加图片描述

elasticsearch
请添加图片描述

harbor.intra.com/baseimages/elasticsearch:7.17.7

请添加图片描述

添加3个环境变量

请添加图片描述

/usr/share/elasticsearch/data
请添加图片描述

[下一步],[创建]

请添加图片描述

3.4 访问测试

请添加图片描述

 dig -t a elaticsearch.sangomall.svc.cluster.local. @10.233.0.3

请添加图片描述

curl http://elasticsearch.sangomall.svc.cluster.local:9200

请添加图片描述

4. Kibana

4.1 创建kibana服务

创建[无状态服务]

请添加图片描述

[kibana]

请添加图片描述

镜像选择harbor仓库中的kibana

harbor.intra.com/baseimages/kibana:7.17.7

请添加图片描述

添加环境变量

ELASTICSEARCH_HOSTS http://elasticsearch.sangomall.svc.cluster.local:9200

请添加图片描述

[下一步],[下一步],[创建]

请添加图片描述

4.2 创建Kibana eip

[编辑外部访问]

请添加图片描述

[LoadBalancer]

eip.openelb.kubesphere.io/v1alpha2的值通过以下命令获得

# kubectl get eip
NAME         CIDR                            USAGE   TOTAL
layer3-eip   192.168.31.210-192.168.31.220   2       11

这里的NAME即是eip.openelb.kubesphere.io/v1alpha2的值

lb.kubesphere.io/v1alpha1: openelb
protocol.openelb.kubesphere.io/v1alpha1: layer2
eip.openelb.kubesphere.io/v1alpha2: layer3-eip

请添加图片描述

创建完成后
请添加图片描述

将地址配置到dns或hosts中

请添加图片描述

root@ks-master:~# ping kibana.intra.com
PING kibana.intra.com (192.168.31.212) 56(84) bytes of data.
64 bytes from ks-master (192.168.31.212): icmp_seq=1 ttl=64 time=0.051 ms
64 bytes from ks-master (192.168.31.212): icmp_seq=2 ttl=64 time=0.059 ms
64 bytes from ks-master (192.168.31.212): icmp_seq=3 ttl=64 time=0.064 ms
^C
--- kibana.intra.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2007ms
rtt min/avg/max/mdev = 0.051/0.058/0.064/0.005 ms

访问页面

http://kibana.intra.com:5601/

请添加图片描述

测试通过后删除掉kibana的外部访问

请添加图片描述

5. RabbitMQ

5.1 PVC创建

rabbmq-pvc

请添加图片描述

5.2 部署RabbitMQ

[有状态服务] rabbitmq

镜像选择

harbor.intra.com/baseimages/rabbitmq:3.10.20-management-alpine

请添加图片描述

/var/lib/rabbitmq

请添加图片描述

[下一步],[创建]

请添加图片描述

验证服务能解析

dig -t a rabbitmq.sangomall.svc.cluster.local. @10.233.0.3
root@ks-master:~# dig -t a rabbitmq.sangomall.svc.cluster.local. @10.233.0.3

; <<>> DiG 9.16.1-Ubuntu <<>> -t a rabbitmq.sangomall.svc.cluster.local. @10.233.0.3
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32872
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 1bcc9a0e98f56984 (echoed)
;; QUESTION SECTION:
;rabbitmq.sangomall.svc.cluster.local. IN A

;; ANSWER SECTION:
rabbitmq.sangomall.svc.cluster.local. 30 IN A   10.233.83.47

;; Query time: 0 msec
;; SERVER: 10.233.0.3#53(10.233.0.3)
;; WHEN: Wed Apr 12 11:29:58 CST 2023
;; MSG SIZE  rcvd: 129

5.3 访问测试

rabbitmq-route

rabbitmq-intra.com
15672

请添加图片描述

[下一步],[添加元数据]

kubernetes.io/ingress.class: apisix

请添加图片描述

请添加图片描述

登录APISIX,此时rabbitmq的路由被创建

http://192.168.31.131:31869/

请添加图片描述

DNS对域名进行解析,将A记录指向apisix网关地址

[root@centos7-1 ~]# vi /var/named/intra.zone
[root@centos7-1 ~]# systemctl restart named
[root@centos7-1 ~]# cat /var/named/intra.zone
$TTL 1d
@       IN      SOA     intra.com. admin.intra.com. (
                        0;
                        1H;
                        5M;
                        1W;
                        1D);
@ NS ns.intra.com.
ns A 192.168.31.17
harbor A 192.168.31.104
kibana A 192.168.31.212
rabbitmq A 192.168.31.211
web1 A 192.168.31.211

浏览器访问

http://rabbitmq.intra.com/
# 用户名密码
guest/guest

请添加图片描述

6. Nacos

6.1 Nacos PVC

nacos-pvc

请添加图片描述

6.2 Nacos服务部署

[有状态服务] nacos-server

镜像选择

harbor.intra.com/baseimages/nacos-server:1.4.2

请添加图片描述

MODE standalone

请添加图片描述

[挂载存储卷]

/home/nacos/data

请添加图片描述

[下一步],[下一步],[创建]

请添加图片描述

6.3 访问测试

测试解析

root@ks-master:~# dig -t a nacos-server.sangomall.svc.cluster.local. @10.233.0.3

; <<>> DiG 9.16.1-Ubuntu <<>> -t a nacos-server.sangomall.svc.cluster.local. @10.233.0.3
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4119
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 327890f817c8b95d (echoed)
;; QUESTION SECTION:
;nacos-server.sangomall.svc.cluster.local. IN A

;; ANSWER SECTION:
nacos-server.sangomall.svc.cluster.local. 30 IN A 10.233.80.48

;; Query time: 8 msec
;; SERVER: 10.233.0.3#53(10.233.0.3)
;; WHEN: Wed Apr 12 13:17:39 CST 2023
;; MSG SIZE  rcvd: 137

添加路由

nacos-server-route

请添加图片描述

[下一步],[添加元数据]

kubernetes.io/ingress.class: apisix

请添加图片描述

域名解析

[root@centos7-1 ~]# vi /var/named/intra.zone
[root@centos7-1 ~]# systemctl restart named
[root@centos7-1 ~]# cat /var/named/intra.zone
$TTL 1d
@       IN      SOA     intra.com. admin.intra.com. (
                        0;
                        1H;
                        5M;
                        1W;
                        1D);
@ NS ns.intra.com.
ns A 192.168.31.17
harbor A 192.168.31.104
kibana A 192.168.31.212
rabbitmq A 192.168.31.211
web1 A 192.168.31.211
nacos-server A 192.168.31.211

客户url访问

http://nacos-server.intra.com/nacos
# 用户名密码
nacos/nacos

请添加图片描述

7. Zipkin

7.1 服务依赖

zipkin依赖于elasticsearch,先确保可以解析elasticsearch

root@ks-master:~# dig -t a elasticsearch.sangomall.svc.cluster.local. @10.233.0.3

; <<>> DiG 9.16.1-Ubuntu <<>> -t a elasticsearch.sangomall.svc.cluster.local. @10.233.0.3
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50774
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: facb147d338b5dec (echoed)
;; QUESTION SECTION:
;elasticsearch.sangomall.svc.cluster.local. IN A

;; ANSWER SECTION:
elasticsearch.sangomall.svc.cluster.local. 30 IN A 10.233.83.48

;; Query time: 0 msec
;; SERVER: 10.233.0.3#53(10.233.0.3)
;; WHEN: Wed Apr 12 13:35:20 CST 2023
;; MSG SIZE  rcvd: 139

7.2 部署Zipkin

创建[无状态服务]

zipkin-server

镜像选择

harbor.intra.com/baseimages/zipkin:2.24

请添加图片描述

配置环境变量

STORAGE_TYPE: elasticsearch
ES_HOSTS: elasticsearch.sangomall.svc.cluster.local.:9200

请添加图片描述

[下一步],[下一步],[创建]

测试是否可以解析

dig -t a zipkin-server.sangomall.svc.cluster.local. @10.233.0.3

结果也是没问题的

root@ks-master:~# dig -t a zipkin-server.sangomall.svc.cluster.local. @10.233.0.3

; <<>> DiG 9.16.1-Ubuntu <<>> -t a zipkin-server.sangomall.svc.cluster.local. @10.233.0.3
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1210
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: ee7d7b15b95e0fcc (echoed)
;; QUESTION SECTION:
;zipkin-server.sangomall.svc.cluster.local. IN A

;; ANSWER SECTION:
zipkin-server.sangomall.svc.cluster.local. 30 IN A 10.233.27.128

;; Query time: 3 msec
;; SERVER: 10.233.0.3#53(10.233.0.3)
;; WHEN: Wed Apr 12 13:50:13 CST 2023
;; MSG SIZE  rcvd: 139

7.3 测试访问

zipkin-server-route

zipkin-server.intra.com
9411

请添加图片描述

[添加元数据]

kubernetes.io/ingress.class: apisix

请添加图片描述

域名解析

[root@centos7-1 ~]# cat /var/named/intra.zone
$TTL 1d
@       IN      SOA     intra.com. admin.intra.com. (
                        0;
                        1H;
                        5M;
                        1W;
                        1D);
@ NS ns.intra.com.
ns A 192.168.31.17
harbor A 192.168.31.104
kibana A 192.168.31.212
rabbitmq A 192.168.31.211
web1 A 192.168.31.211
nacos-server A 192.168.31.211
zipkin-server A 192.168.31.211

访问测试

http://zipkin-server.intra.com/zipkin/

请添加图片描述

8. Sentinel

8.1 部署Sentinel

创建[无状态服务] sentinel-server

镜像使用harbor上的

harbor.intra.com/baseimages/sentinel-dashboard:1.7.2

请添加图片描述

[下一步],[下一步],[创建]

请添加图片描述

集群中解析

root@ks-master:~# dig -t a sentinel-server.sangomall.svc.cluster.local. @10.233.0.3

; <<>> DiG 9.16.1-Ubuntu <<>> -t a sentinel-server.sangomall.svc.cluster.local. @10.233.0.3
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23170
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: c93cc5fa76af7e0f (echoed)
;; QUESTION SECTION:
;sentinel-server.sangomall.svc.cluster.local. IN        A

;; ANSWER SECTION:
sentinel-server.sangomall.svc.cluster.local. 30 IN A 10.233.3.139

;; Query time: 4 msec
;; SERVER: 10.233.0.3#53(10.233.0.3)
;; WHEN: Wed Apr 12 15:17:52 CST 2023
;; MSG SIZE  rcvd: 143

8.2 应用路由

sentinel-route

sentinel.intra.com
8858

请添加图片描述

[添加元数据]

kubernetes.io/ingress.class: apisix

请添加图片描述

配置DNS

[root@centos7-1 ~]# cat /var/named/intra.zone
$TTL 1d
@       IN      SOA     intra.com. admin.intra.com. (
                        0;
                        1H;
                        5M;
                        1W;
                        1D);
@ NS ns.intra.com.
ns A 192.168.31.17
harbor A 192.168.31.104
kibana A 192.168.31.212
rabbitmq A 192.168.31.211
web1 A 192.168.31.211
nacos-server A 192.168.31.211
zipkin-server A 192.168.31.211
sentinel A 192.168.31.211

访问url

http://sentinel.intra.com/
# 用户名密码
sentinel/sentinel

请添加图片描述

9. Skywalking

9.1 服务依赖

Skywalking依赖elasticsearch,所以先测试els是否正常解析

root@ks-master:~# dig -t a elasticsearch.sangomall.svc.cluster.local. @10.233.0.3

; <<>> DiG 9.16.1-Ubuntu <<>> -t a elasticsearch.sangomall.svc.cluster.local. @10.233.0.3
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56731
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: bb18e9ef60ef3f2d (echoed)
;; QUESTION SECTION:
;elasticsearch.sangomall.svc.cluster.local. IN A

;; ANSWER SECTION:
elasticsearch.sangomall.svc.cluster.local. 30 IN A 10.233.83.48

;; Query time: 0 msec
;; SERVER: 10.233.0.3#53(10.233.0.3)
;; WHEN: Wed Apr 12 15:40:14 CST 2023
;; MSG SIZE  rcvd: 139

9.2 Skywalking Oap部署

创建[无状态服务] skywalking-oap-server

镜像

harbor.intra.com/baseimages/skywalking-oap-server:9.4.0

请添加图片描述

环境变量

SW_STORAGE  elasticsearch
SW_STORAGE_ES_CLUSTER_NODES    elasticsearch.sangomall.svc.cluster.local.:9200

请添加图片描述

[下一步],[下一步],[创建]
请添加图片描述

验证,确保服务可以解析

root@ks-master:~# dig -t a skywalking-oap-server.sangomall.svc.cluster.local. @10.233.0.3

; <<>> DiG 9.16.1-Ubuntu <<>> -t a skywalking-oap-server.sangomall.svc.cluster.local. @10.233.0.3
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39288
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 9ef1e9fe750766cd (echoed)
;; QUESTION SECTION:
;skywalking-oap-server.sangomall.svc.cluster.local. IN A

;; ANSWER SECTION:
skywalking-oap-server.sangomall.svc.cluster.local. 30 IN A 10.233.7.39

;; Query time: 0 msec
;; SERVER: 10.233.0.3#53(10.233.0.3)
;; WHEN: Wed Apr 12 16:10:12 CST 2023
;; MSG SIZE  rcvd: 155

9.3 Skywalking UI 部署

创建[无状态服务] skywalking-ui
镜像使用

harbor.intra.com/baseimages/skywalking-ui:9.4.0

请添加图片描述

[环境变量]

SW_OAP_ADDRESS   http://skywalking-oap-server.sangomall.svc.cluster.local.:12800

请添加图片描述

[下一步],[下一步],[创建]

请添加图片描述

9.4 Skywalking UI 访问

创建[应用路由] skywalking-ui

skywalking-ui.intra.com
8080

请添加图片描述

[添加元数据]

kubernetes.io/ingress.class   apisix

请添加图片描述

创建DNS解析

[root@centos7-1 ~]# vi /var/named/intra.zone3
[root@centos7-1 ~]# systemctl restart named
[root@centos7-1 ~]# cat /var/named/intra.zone
$TTL 1d
@       IN      SOA     intra.com. admin.intra.com. (
                        0;
                        1H;
                        5M;
                        1W;
                        1D);
@ NS ns.intra.com.
ns A 192.168.31.17
harbor A 192.168.31.104
kibana A 192.168.31.212
rabbitmq A 192.168.31.211
web1 A 192.168.31.211
nacos-server A 192.168.31.211
zipkin-server A 192.168.31.211
sentinel A 192.168.31.211
skywalking-ui A 192.168.31.211

浏览器访问

http://skywalking-ui.intra.com/general

请添加图片描述

10. RocketMQ

10.1 RocketMQ Pvc创建

10.1.1 RocketMQ namesrv PVC

rocketmq-namesrc-pvc
请添加图片描述

选择nfs

请添加图片描述

10.2.1 RocketMQ broker PVC

创建2个PVC

rocketmq-broker-logs-pvc
rocketmq-broker-store-pvc

请添加图片描述

10.2 RocketMQ 部署

10.2.1 RocketMQ namesrv部署

创建[有状态服务] rocketmq-namesrv
镜像

harbor.intra.com/baseimages/rocketmq:4.9.4

请添加图片描述

启动命令:
/bin/bash
参数:
mqnamesrv
环境变量
JAVA_OPT_EXT: -Xms512M -Xmx512M -Xmn128m

请添加图片描述

挂载存储

/home/rocketmq/logs

请添加图片描述

[下一步],[下一步],[创建]

请添加图片描述

尝试解析

root@ks-master:~# dig -t a rocketmq-namesrv.sangomall.svc.cluster.local. @10.233.0.3

; <<>> DiG 9.16.1-Ubuntu <<>> -t a rocketmq-namesrv.sangomall.svc.cluster.local. @10.233.0.3
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40683
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 3baa8b38fbdb4ad7 (echoed)
;; QUESTION SECTION:
;rocketmq-namesrv.sangomall.svc.cluster.local. IN A

;; ANSWER SECTION:
rocketmq-namesrv.sangomall.svc.cluster.local. 30 IN A 10.233.83.55

;; Query time: 3 msec
;; SERVER: 10.233.0.3#53(10.233.0.3)
;; WHEN: Wed Apr 12 16:50:13 CST 2023
;; MSG SIZE  rcvd: 145

10.2.2 RocketMQ broker部署

创建[有状态服务] rocketmq-broker-1
镜像

harbor.intra.com/baseimages/rocketmq:4.9.4

请添加图片描述

删除9876端口

请添加图片描述

配置启动命令和环境变量

启动命令:
/bin/bash
参数:
mqbroker,-n,rocketmq-namesrv.sangomall.svc.cluster.local.:9876
环境变量
JAVA_OPT_EXT: -server -Xms128m -Xmx128m -Xmn128m
NAMESRV_ADDR: rocketmq-namesrv.sangomall.svc.cluster.local.:9876

请添加图片描述

[挂载存储卷]

/home/rocketmq/logs

请添加图片描述

[挂载存储卷]

/home/rocketmq/store

请添加图片描述

[下一步],[下一步],[创建]

测试解析

root@ks-master:~# dig -t a rocketmq-broker-1.sangomall.svc.cluster.local @10.233.0.3

; <<>> DiG 9.16.1-Ubuntu <<>> -t a rocketmq-broker-1.sangomall.svc.cluster.local @10.233.0.3
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46511
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: aebce3b8398ed98f (echoed)
;; QUESTION SECTION:
;rocketmq-broker-1.sangomall.svc.cluster.local. IN A

;; ANSWER SECTION:
rocketmq-broker-1.sangomall.svc.cluster.local. 30 IN A 10.233.83.65

;; Query time: 4 msec
;; SERVER: 10.233.0.3#53(10.233.0.3)
;; WHEN: Thu Apr 13 09:02:50 CST 2023
;; MSG SIZE  rcvd: 147

10.3 RocketMQ Dashboard 部署

10.3.1 创建RocketMq Dashboard服务

创建[无状态服务] rocketmq-dashboard
使用镜像

harbor.intra.com/baseimages/rocketmq-dashboard:1.0.0

请添加图片描述

端口 8080
环境变量

JAVA_OPTS: -Drocketmq.namesrv.addr=rocketmq-namesrv.sangomall.svc.cluster.local.:9876

请添加图片描述

[下一步],[下一步],[创建]

10.3.2 创建Rocketmq-Dashboard应用路由

[应用路由],[创建] rocketmq-dashboar

rocketmq-dashboard.intra.com
8080

请添加图片描述

[添加元数据]

kubernetes.io/ingress.class   apisix

请添加图片描述

添加DNS解析

[root@centos7-1 ~]# vi /var/named/intra.zone
[root@centos7-1 ~]# systemctl restart named
[root@centos7-1 ~]# cat /var/named/intra.zone
$TTL 1d
@       IN      SOA     intra.com. admin.intra.com. (
                        0;
                        1H;
                        5M;
                        1W;
                        1D);
@ NS ns.intra.com.
ns A 192.168.31.17
harbor A 192.168.31.104
kibana A 192.168.31.212
rabbitmq A 192.168.31.211
web1 A 192.168.31.211
nacos-server A 192.168.31.211
zipkin-server A 192.168.31.211
sentinel A 192.168.31.211
skywalking-ui A 192.168.31.211
rocketmq-dashboard A 192.168.31.211

浏览器访问

http://rocketmq-dashboard.intra.com/

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/487656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cadence Allegro(1):手动PCB封装制作(以TYPE-C 16Pin为例)

Cadence Allegro 16.6&#xff08;1&#xff09;&#xff1a;手动PCB封装制作&#xff08;以TYPE-C 16Pin为例&#xff09; 前提摘要&#xff1a; PCB设计软件版本&#xff1a; 焊盘设计 &#xff1a;Pad Designer 16.6PCB设计 &#xff1a;PCB Editor 16.6 个人说明&#xf…

【HarmonyOS】自定义组件之ArkUI实现通用标题栏组件

【关键字】 标题栏、常用内置组件整合、ArkUI、自定义组件 1、写在前面 在上一篇文章中我们通过Java语言实现了一个通用的标题栏组件&#xff0c;有需要的可以看下&#xff0c;文章地址&#xff1a; 华为开发者论坛 现在很多朋友都已经转战ArkTS语言了&#xff0c;那么今天…

项目集的定义及管理

一、什么是项目集 项目集是相互关联且被协调管理的项目、子项目集和项目集活动&#xff0c;以便获得分别管理所无法获 得的效益。 以项目集的形式管理项目、子项目集及项目集活动能确保项目集组件的战略和工作计划根据各组 件的成果做出相应调整&#xff0c;或者按照发起组织的…

PWM控制舵机

文章目录 运行环境&#xff1a;1.1 原理1)A板原理图2)PA8引脚配置3)定时器Timers配置 2.1代码解释1)定时器1初始化函数2)启动定时器中断3)启动PWM/设置占空比4)launch设置5) 编译调试 3.1实验效果 运行环境&#xff1a; ubuntu18.04.melodic 宏基暗影骑士笔记本 stm32f427IIH6…

JAVA常用的工具类

文章目录 1 集合工具类1.1 java.util.Collections1.1.1 基本操作1.1.2 转换线程安全集合 1.2 org.springframework.util.CollectionUtils1.3 org.apache.commons.collections.CollectionUtils1.4 org.apache.commons.lang.ArrayUtils1.5 org.apache.commons.lang3.ArrayUtils1.…

[Java] 中的具体集合

文章目录 集合根接口List列表&#xff08;线性表&#xff09;Queue & Deque双端队列 Set集合HashSet源码应用 TreeSet源码 Map映射Map的底层实现HashMapLinkedHashMapTreeMap Maps methodcompute()merge()replace()remove() Stream流Collections工具类 集合表示一组对象&am…

Reactor 第九篇 WebFlux重构个人中心,效果显著

1 重构背景 原有的开发人员早已离职&#xff0c;代码细节没人知道&#xff0c;经过了一段时间的维护&#xff0c;发现有以下问题&#xff1a; 个人中心系统的特征就是组装各个业务的接口&#xff0c;输出个人中心业务需要的数据&#xff0c;整个系统调用了几十个第三方业务线的…

moment在vue的使用

第一步&#xff1a;安装moment npm install moment --save-dev第二步&#xff1a;在使用moment的地方引入moment import moment from "moment"; monent的方法&#xff1a; &#xff08;1&#xff09;moment([日期])&#xff1a; 获取当前日期或指定日期&#xff…

pytorch学习率设置——optimizer.param_groups、对不同层设置学习率、动态调整学习率。

文章目录 前言1、关于optimizer.param_groups2、设置学习率3、optim 提供的优化器 前言 我的需求&#xff1a;我需要在yolov7中更改其中一层的学习率&#xff0c;但yolov7的学习率是随着eporch的变化动态变化的。 1、关于optimizer.param_groups “param_groups” 是 Pytorch…

LeetCode1047. 删除字符串中的所有相邻重复项

1047. 删除字符串中的所有相邻重复项 给出由小写字母组成的字符串 S&#xff0c;重复项删除操作会选择两个相邻且相同的字母&#xff0c;并删除它们。 在 S 上反复执行重复项删除操作&#xff0c;直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一…

RabbitMQ 工作队列模型(任务队列)

任务模型 概念 ​ 当消息处理比较耗时的时候&#xff0c;可能生产消息的速度大于消费的速度&#xff0c;长此以往&#xff0c;就会导致消息堆积&#xff0c;无法及时处理&#xff0c;此时可以使用任务模型&#xff0c;当多个消费者绑定一个队列&#xff0c;共同消费其中的消息…

认识JSP

什么是JSP? JSP&#xff08;Java Server Pages&#xff09;是一种类似于HTML的标记语言&#xff0c;用于创建动态Web页面。与HTML不同的是&#xff0c;JSP页面中可以嵌入Java代码&#xff0c;由Web服务器在动态页面中生成HTML代码&#xff0c;从而实现Web应用程序的前端交互效…

scratch求和 中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析2023年3月

目录 scratch求和 一、题目要求 1、准备工作 2、功能实现 二、案例分析

node之Express

目录 Express简介 安装 创建基本的Web服务器 托管静态资源 以上述案例为基础访问静态资源的路径为&#xff1a;http://127.0.0.1:8080/xxx.html 托管多个静态资源目录 路由的概念 路由的匹配过程 模块化路由 模块化路由案例 中间件的概念 定义中间件函数例 全局生…

AI助阵,领先创新丨智能评价分析·数字员工,开启顶级消费者体验新篇章!

GPT-4作为人工智能时代发展道路上的里程碑&#xff0c;以其惊人的多模态大模型能力吸引了众多零售消费品牌的关注&#xff0c;利用AI技术解决客户复杂业务问题&#xff0c;成为推动行业提质增效的重要途径。实在智能是国内首个生成式AI标准编写单位&#xff0c;始终坚持AI赋能商…

各种常用字符编码详解【图文教程】,Unicode 是一个编码规范,并不是一个具体的编码

文章目录 常见编码的比较&#xff0c;各个编码中各字符占用(字节数):简体中文编码发展史&#xff0c;编码出现时间和涵盖范围UTF-8、unicode与GBK编码转化一问一答其他ASCII表 参考文档 常见编码的比较&#xff0c;各个编码中各字符占用(字节数): 编码英文中文&#xff08;简体…

数说热点 | 跟着《长月烬明》起飞,今年各地文旅主打的就是一个听劝

近日&#xff0c;随着热播剧《长月烬明》的爆火&#xff0c;蚌埠、宣城、敦煌等多个与剧情梦幻联动的宝藏城市被带飞&#xff0c;各地热心网友也纷纷催促自家文旅局赶紧“蹭飞”&#xff0c;《长月烬明》以一己之力打造了影视文旅融合的新样板。 仙偶剧特效天花板&#xff0c;…

SpringCloud------代码demo(二)

SpringCloud------代码demo&#xff08;二&#xff09; 编码实操 以订单——支付微服务模块作为基础&#xff0c;开始逐渐扩充 微服务架构编码构建 1.约定 > 配置 > 编码 2.IDEA新建project工作空间 3.Rest微服务工程构建 总父工程 POM project module 首先创建maven项…

FPGA入门系列14--VGA

文章简介 本系列文章主要针对FPGA初学者编写&#xff0c;包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解&#xff0c;旨在更快速的提升初学者在FPGA开发方面的能力&#xff0c;每一个章节中都有针对性的代码…

06 - 3 事件驱动架构模式——EDA

何为EDA 事件驱动架构是一种异步分发事件的架构模式用于高扩展且低耦合的系统以事件为核心&#xff0c;一系列解耦的、单一功能的事件处理器 Notification 源系统发送消息通知其他系统状态改变接收方响应非必须发送 Event 逻辑与处理 Event 逻辑无依赖&#xff0c;独立变化解…