实战交付一套dubbo微服务到k8s集群(8)之configmap使用
使用ConfigMap管理应用配置
拆分环境
主机名 | 角色 | IP地址 |
---|---|---|
mfyxw10.mfyxw.com | zk1.od.com(Test环境) | 192.168.80.10 |
mfyxw20.mfyxw.com | zk2.od.com(Prod环境) | 192.168.80.20 |
mfyxw30.mfyxw.com | 无,暂时停用此zookeepre | 192.168.80.30 |
1.将原来运行的zookeeper停止并且将配置文件修改
分别在mfyxw10、mfyxw20、mfyxw30主机上执行
[root@mfyxw10 ~]# /opt/zookeeper/bin/zkServer.sh stop #以mfyxw10为例,其它二台类似
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
将/data/zookeeper/data和/data/zookeeper/logs所有文件和目录都清空(以mfyxw10为例,其它二台类似)
[root@mfyxw10 ~]# rm -fr /data/zookeeper/data/*
[root@mfyxw10 ~]# rm -fr /data/zookeeper/logs/*
分别在mfyxw10和mfyxw20主机下执行,修改zookeeper配置文件(以mfyxw10为例)
[root@mfyxw10 ~]# cat > /opt/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
clientPort=2181
EOF
分别在mfyxw10和mfyxw20主机下执行(以mfyxw10为例),启动zookeeper
[root@mfyxw10 ~]# /opt/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@mfyxw10 ~]#
[root@mfyxw10 ~]# /opt/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: standalone
[root@mfyxw10 ~]#
2.将dubbo-monitor的pod删除
在master节点(mfyxw30或mfyxw40)上任意一台执行即可
[root@mfyxw30 ~]# kubectl delete -f http://k8s-yaml.od.com/dubbo-monitor/Deployment.yaml
deployment.extensions "dubbo-monitor" deleted
在运维主机(mfyxw50)上重新为dubbo-monitor提供Deployment和configMap的配置资源清单
Deployment.yaml文件内容如下:
[root@mfyxw50 ~]# cat > /data/k8s-yaml/dubbo-monitor/dp.yaml << EOF
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: dubbo-monitor
namespace: infra
labels:
name: dubbo-monitor
spec:
replicas: 1
selector:
matchLabels:
name: dubbo-monitor
template:
metadata:
labels:
app: dubbo-monitor
name: dubbo-monitor
spec:
containers:
- name: dubbo-monitor
image: harbor.od.com/infra/dubbo-monitor:latest
ports:
- containerPort: 8080
protocol: TCP
- containerPort: 20880
protocol: TCP
imagePullPolicy: IfNotPresent
volumeMounts:
- name: configmap-volume
mountPath: /dubbo-monitor-simple/conf
volumes:
- name: configmap-volume
configMap:
name: dubbo-monitor-cm
imagePullSecrets:
- name: harbor
restartPolicy: Always
terminationGracePeriodSeconds: 30
securityContext:
runAsUser: 0
schedulerName: default-scheduler
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
revisionHistoryLimit: 7
progressDeadlineSeconds: 600
EOF
configMap.yaml文件内容如下:
[root@mfyxw50 ~]# cat > /data/k8s-yaml/dubbo-monitor/configmap.yaml << EOF
apiVersion: v1
kind: ConfigMap
metadata:
name: dubbo-monitor-cm
namespace: infra
data:
dubbo.properties: |
dubbo.container=log4j,spring,registry,jetty
dubbo.application.name=simple-monitor
dubbo.application.owner=Maple
dubbo.registry.address=zookeeper://zk1.od.com:2181
dubbo.protocol.port=20880
dubbo.jetty.port=8080
dubbo.jetty.directory=/dubbo-monitor-simple/monitor
dubbo.charts.directory=/dubbo-monitor-simple/charts
dubbo.statistics.directory=/dubbo-monitor-simple/statistics
dubbo.log4j.file=/dubbo-monitor-simple/logs/dubbo-monitor.log
dubbo.log4j.level=WARN
EOF
3.应用dubbo-monitor资源配置清单
在master节点(mfyxw30或mfyxw40)上任意一台执行即可
[root@mfyxw30 ~]# kubectl apply -f http://k8s-yaml.od.com/dubbo-monitor/configmap.yaml
configmap/dubbo-monitor-cm created
[root@mfyxw30 ~]#
[root@mfyxw30 ~]# kubectl apply -f http://k8s-yaml.od.com/dubbo-monitor/dp.yaml
deployment.extensions/dubbo-monitor created
[root@mfyxw30 ~]# kubectl get pod -n infra
NAME READY STATUS RESTARTS AGE
dubbo-monitor-6676dd74cc-rd86g 1/1 Running 0 55s
jenkins-b99776c69-p6skp 1/1 Running 10 22d
4.将duboo-monitor的pod扩容到2份
在master节点(mfyxw30或mfyxw40)上任意一台执行即可
[root@mfyxw30 ~]# kubectl scale --replicas=2 -f http://k8s-yaml.od.com/dubbo-monitor/dp.yaml
deployment.extensions/dubbo-monitor scaled
[root@mfyxw30 ~]#
[root@mfyxw30 ~]# kubectl get pod -n infra
NAME READY STATUS RESTARTS AGE
dubbo-monitor-6676dd74cc-9hghb 0/1 ContainerCreating 0 4s
dubbo-monitor-6676dd74cc-rd86g 1/1 Running 0 15m
jenkins-b99776c69-p6skp 1/1 Running 10 22d
[root@mfyxw30 ~]# kubectl get pod -n infra
NAME READY STATUS RESTARTS AGE
dubbo-monitor-6676dd74cc-9hghb 1/1 Running 0 8s
dubbo-monitor-6676dd74cc-rd86g 1/1 Running 0 15m
jenkins-b99776c69-p6skp 1/1 Running 10 22d
5.查看dubbo-monitor
启用了二份dubbo-monitor,在浏览器访问dubbo-monitor,不停刷新能看得到会在二个POD中切换
实战交付一套dubbo微服务到k8s集群(8)之configmap使用的更多相关文章
- 8.实战交付一套dubbo微服务到k8s集群(1)之Zookeeper部署
1.基础架构 主机名 角色 ip HDSS7-11.host.com K8S代理节点1,zk1 10.4.7.11 HDSS7-12.host.com K8S代理节点2,zk2 10.4.7.12 H ...
- 实战交付一套dubbo微服务到k8s集群(1)之Zookeeper部署
基础架构 主机名 角色 IP地址 mfyxw10.mfyxw.com K8S代理节点1,zk1 192.168.80.10 mfyxw20.mfyxw.com K8S代理节点2,zk2 192.168 ...
- 实战交付一套dubbo微服务到k8s集群(6)之交付dubbo-monitor到K8S集群
dubbo-monitor官方源码地址:https://github.com/Jeromefromcn/dubbo-monitor 1.下载dubbo-monitor源码 在运维主机(mfyxw50. ...
- 12.实战交付一套dubbo微服务到k8s集群(5)之交付dubbo-monitor到K8S集群
dubbo-monitor官方源码地址:https://github.com/Jeromefromcn/dubbo-monitor 1.下载dubbo-monitor源码并解压 [root@hdss7 ...
- 11.实战交付一套dubbo微服务到k8s集群(4)之使用Jenkins进行持续构建交付dubo服务的提供者
1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4. 添加参数 # 参数 . name: git_repo type: string description: 项目在 ...
- 9.实战交付一套dubbo微服务到k8s集群(2)之Jenkins部署
1.下载Jenkins镜像打包上传harbor上 [root@hdss7- ~]# docker pull jenkins/jenkins:2.190. [root@hdss7- ~]# docker ...
- 实战交付一套dubbo微服务到k8s集群(7)之交付dubbo服务的消费者集群到K8S
构建dubbo-demo-consumer,可以使用和dubbo-demo-service的流水线来构建 1.登录jenkins构建dubbo-demo-consumer 2.填写构建dubbo-de ...
- 实战交付一套dubbo微服务到k8s集群(5)之使用Jenkins进行持续构建交付dubo服务的提供者
1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4.添加第一个参数:设置项目的名称 5.添加第二个参数:docker镜像名称 6.添加第三个参数:项目所在的git中央 ...
- 实战交付一套dubbo微服务到k8s集群(2)之Jenkins部署
Jenkins官网:https://www.jenkins.io/zh/ Jenkins 2.190.3 镜像地址:docker pull jenkins/jenkins:2.190.3 1.下载Je ...
随机推荐
- Oracle获取session的IP方法
方法1 创建触发器: create orreplace trigger login_on alfterlogon on database begin dbms_application_info ...
- Nacos使用和注册部分源码介绍
Nacos简单介绍 Nacos致力于帮助您发现.配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理.Nacos帮助您更敏捷和容易地构建. ...
- 前端知识(一)02 初识 Node.js-谷粒学院
目录 初识Node.js 一.Node.js的概念 1.JavaScript引擎 2.什么是Node.js 3.Node.js有什么用 二.BFF 1.BFF 解决什么问题 2.BFF是什么 三.安装 ...
- error: Failed dependencies: rpm安装包失败报错依赖包
error: Failed dependencies: mysql-community-release conflicts with (installed) mysql57-community-rel ...
- Vue中:error 'XXXXX' is not defined no-undef解决办法
Vue中:error 'XXXXX' is not defined no-undef解决办法 报错内容: × Client Compiled with some errors in 7.42s √ S ...
- linux系统层面调优
linux系统层面调优和常见的面试题 - 云+社区 - 腾讯云 https://cloud.tencent.com/developer/article/1664287
- 服务端 TCP 连接的 TIME_WAIT 过多问题的分析与解决
https://mp.weixin.qq.com/s/VRQ_12tzy3gRYD091cI7Ew
- file descriptor 0 1 2 一切皆文件 stdout stderr stdin /dev/null 沉默是金 pipes 禁止输出 屏蔽 stdout 和 stderr 输入输出重定向 重定向文件描述符
movie.mpeg.001 movie.mpeg.002 movie.mpeg.003 ... movie.mpeg.099 $cat movie.mpeg.0*>movie.mpeg ...
- v-modal的使用。
v-model用于表单数据的双向绑定,其实它就是一个语法糖,这个背后就做了两个操作:v-bind绑定一个value属性:v-on指令给当前元素绑定input事件.
- 004_C++常见错误类型总结(一)之最后几行错误
1.介绍 经常进行代码测试和静态代码分析的同学,应该会遇到这样的一个问题,就是一个程序段的最后几行,或者一个源文件末尾会出现错误.本文,结合专业的静态代码分析软件PSV-Studio提供错误类型代码库 ...