- 博客(53)
- 收藏
- 关注
原创 python faker模块做假数据到数据库
在编写程序过程中,我们常常需要用到很多数据来进行测试。如果要是手动制造数据的话,肯定要花费大把精力,这不合理。此时我们应该使用Faker这个Python库,用它来生成各种各样的伪数据。
2023-01-11 21:12:59 489 1
原创 k8s之Horizontal Pod Autoscaler(Pod水平自动伸缩)
官方文档:Pod 水平自动扩缩 | Kuberneteshttps://kubernetes.io/zh/docs/tasks/run-application/horizontal-pod-autoscale/Pod 水平自动扩缩(Horizontal Pod Autoscaler) 可以基于 CPU 利用率自动扩缩 ReplicationController、Deployment、ReplicaSet 和 StatefulSet 中的 Pod 数量。 除了 CPU 利用率,也可以基于其他应程序提供
2022-02-15 16:12:02 1478
原创 k8s的两种网络插件flannel和calico
网络插件网络架构是k8s中较为复杂、让很多用户头疼的方面之一,k8s网络模型本身对某些特定的网络功能有一定要求,但在实现方面也具有一定的灵活性。因此,业界已有不少不同的网络方案,来满足特定的环境和要求下面是对常用的两个网络插件的简单介绍,方便记忆...
2022-01-14 16:51:54 937 1
原创 记一次nginx转发nodeport类型的svc遇到的坑
在k8s中创建了一个nodeport类型的svc由于这个端口需要可以在公网访问,而我的k8s集群部署在内网环境,所以需要用路由器做映射到公网,成功将服务映射到公网后,开发要求加https证书,但是加好证书之后界面报出426这个报错之前很少见到,百度查了一下是协议不同导致的,首先想到的就是http协议版本不同这时候将http版本升到1.1问题就解决了...
2022-01-08 17:08:07 666
原创 rocketmq
什么是mqmq本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息,在互联网中,mq是一种非常常见的上下游“逻辑解耦”+“物理解耦”的消息通信服务,使用了mq之后,消息发送上游只需要依赖mq,不用依赖其他服务为什么用mq流量消峰如果订单系统最大能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余的,正常时段我们下单一秒后就能返回结果,但是在高峰期,如果有两万次下单操作系统是处理不了的,只能限制顶端超过一万后不允许用户下
2021-11-06 17:28:19 135 1
原创 istio:灰度发布与AB测试
灰度发布只让一部分用户继续使用老版本,一部分用户开始用新版本,如果用户对新版本没有什么意见,那么逐步扩大范围,把所有用户都迁移到新版本上面来优点:保证整体系统稳定性用户无感知,平滑过渡缺点:自动化要求高A/B测试灰度发布的另一种方式,主要对特定用户采样后,对采集的反馈数据做相关对比,然后根据对比结果做出决策。用来测试应用功能表现的方法,侧重应用的可用性,受欢迎程度等,最后决定是否升级istio实现灰度发布用户的请求由gateway转发到虚拟服务(virtu..
2021-09-14 17:56:27 323
原创 istio简介
servicemeshservicemesh的中文译为“服务网格”,是一个用于处理服务和服务之间通信的基础设施层,它负责为构建复杂的云原生应用传递可靠的网络请求,并为服务通信实现了微服务所需的基本组件功能,例如服务发现、负载均衡、监控、流量管理,访问控制等。在实践中,服务网格通常实现为一组和应用程序部署在一起的轻量级的网络代理,但对应用程序来说是透明的绿色方块为应用服务,蓝色方块为sidecarproxy,应用服务之间通过sidecarproxy进行通信,整个服务通信形成图中的蓝色网络...
2021-09-11 15:56:22 199
原创 容器的设计模式
举例:如何将jar包容器化方法一:将jar包和jdk环境打包进一个镜像中缺点:每次更新都需要重新打包新的jar包方法二:镜像里只做jdk环境,通过共享存储的方式将jar挂载到容器中,再执行启动命令缺点:由于pod调度,需要单独维护一套网络存储系统那有没有方法可以同时解决这两个问题呢?initcontainer会比spec.containers定义的用户容器先启动,并且严格按照定义顺序依次执行容器设计模式:sidecar通过在pod定义专门容器,来执行住业务容器需要的辅..
2021-08-26 18:02:18 189
原创 容器与pod
容器的本质是一个视图被隔离、资源受限的进程容器里pid=1的进程就是应用本身管理虚拟机=管理基础设施;管理容器=管理应用本身k8s是云时代的操作系统,那么容器镜像其实就是这个操作系统的软件安装包那pod就是进程组举例:一个程序由4个进程组成,这些进程之间共享某些文件如果这个程序由一个容器跑起来,那么pid=1的进程就是应用本身,那么谁来管理剩余的三个进程呢?由于容器是单进程模型,pid=1的进程挂掉后,其他进程也会随之挂掉除非应用进程本身举报“进程管理”能力(这意味.
2021-08-26 16:01:17 384
转载 elk分析nginx日志和展示
本次使用7.10.2版本的elk搭建logstach建议将logstach和nginx部署到一台方便日志收集,如果想分开部署需要添加filebeatwget https://artifacts.elastic.co/downloads/logstash/logstash-7.10.2-x86_64.rpmrpm -ivhlogstash-7.10.2-x86_64.rpmcat /etc/logstash/logstash.yml |grep -v '#' |grep -v '^$'.
2021-06-28 19:29:29 432
原创 容器搭建naocs1.3.2并将数据存储到mysql中
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server:1.3.2#运行一个nacos容器docker cp nacos:/home/nacos/conf ./ #将配置文件拷贝到本地docker rm -f nacos #删除容器#创建docker-compose文件vim docker-compose.ymlversion: '3.1'services: nginx: .
2021-06-25 11:57:49 195 1
原创 prometheus监控k8s(03)
prometheusserver搭建https://blog.csdn.net/weixin_50801368/article/details/118051802kube-state-metrics的安装vim cluster-role-binding.yamlapiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata: labels: app.kubernetes.io/name: kub..
2021-06-21 16:35:57 140
原创 prometheus监控k8s(02)
node_exporter安装:https://blog.csdn.net/weixin_50801368/article/details/118051444
2021-06-19 12:15:17 157
原创 prometheus监控k8s(01)
prometheus的相关介绍这里就不做赘述了,不知道的同学可以自行百度,这里重要介绍利用prometheus对k8s的监控之前的文档里已经搭建好k8s集群,和k8s的
2021-06-19 11:54:05 182
原创 安装新版dashboard1.8.3
k8s自动化安装请参照文档:1.8.3配置文件参考官方文档 增加了通过api-server方式访问dashboard 增加了NodePort方式暴露服务,这样集群外部可以使用 https://NodeIP:NodePort (注意是https不是http,区别于1.6.3版本) 直接访问 dashboard,生产环境建议关闭该访问途 ...
2021-06-19 11:33:41 192
原创 ansible自动化部署k8s集群
| 192.168.1.151 | master || 192.168.1.152 | node01|| 192.168.1.152 | node03 |
2021-06-19 11:27:45 732
原创 阿里云域名转发
登录阿里云后搜索域名点击解析-->添加记录填写一个二级域名,并添加一个解析地址,可以用本地的cmd去ping一下域名确认解析是否正常,现在去访问这个域名肯定是不安全的所以我们要添加证书,走https协议在阿里云的搜索框搜索ssl证书可以申请免费证书,安装流程操作就可以了,这边不做演示,拿到证书后需要下载公私钥,我这里用的是nginx做转发所以下载了nginx版的将公私钥解压出来放到nginx服务器上面 server { listen ..
2021-06-08 15:42:01 1253
原创 jenkins配置邮件告警
下载插件managejenkins—>configure system我使用的是微信企业邮箱,所以进入微信企业邮箱生成的密码填写在SMTP Password中<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</t...
2021-06-08 15:26:46 219
原创 全链路监控工具pinpoint与zipkin
zipkin:由Twitter公司开源,开放源代码分布式的跟踪系统,用于收集服务的定时数据,以解决微服务架构中的延迟问题,包括:数据的收集、存储、查找和展现。Pinpoint:一款对Java编写的大规模分布式系统的APM工具,由韩国人开源的分布式跟踪组件。全面的调用链路数据分析全面的调用链路数据分析,提供代码级别的可见性以便轻松定位失败点和瓶颈。zipkinzipkin的链路监控粒度相对没有那么细,调用链中具体到接口级别,再进一步的调用信息并未涉及。pinpointpinpoin
2021-05-15 19:50:20 719 2
原创 全链路监控
什么是全链路监控在分布式微服务架构中,系统为了接收并处理一个前端用户请求,需要让多个微服务应用协同工作,其中的每一个微服务应用都可以用不同的编程语言构建,由不同的团队开发,并可以通过多个对等的应用实例实现水平扩展,甚至分布在横跨多个数据中心的数千台服务器上,单个用户请求会引发不同应用之间产生一串顺序性的调用关系,如果要对这些调用关系进行监控,了解每个应用如何调用,这就产生了全链路监控为什么要进行全链路监控?在微服务架构中,服务会被拆分成多个模块,这些模块可能由不同的开发团队开发、维护,也
2021-05-15 19:38:16 664 2
原创 traefik2灰度发布与流量控制
灰度发布Traefik2.0 的一个更强大的功能就是灰度发布,灰度发布我们有时候也会称为金丝雀发布(Canary),主要就是让一部分测试的服务也参与到线上去,经过测试观察看是否符号上线要求。我们需要创建两组pod,我们希望通过 Traefik 来控制我们的流量,将 3⁄4 的流量路由到 appv1,1/4 的流量路由到 appv2 去,这个时候就可以利用 Traefik2.0 中提供的带权重的轮询(WRR)来实现该功能,首先在 Kubernetes 集群中部署上面的两个服务。为了对比结果我们这里
2021-04-20 11:47:13 1536
原创 traefik应用
利用traefik使应用对外提供服务创建一组pod和对应的serviceapiVersion: v1kind: Servicemetadata: name: whoamispec: ports: - protocol: TCP name: web port: 80 selector: app: whoami ---kind: DeploymentapiVersion: apps/
2021-04-20 11:03:43 184 1
原创 traefik
Traefik介绍traefik是一个开源的可以使服务发布变得轻松有趣的边缘路由器,它负责接收你系统的请求,然后使用合适的组件来对这些请求进行处理特点:1、traefik的与众不同在于他会自动发现适合你服务的配置,当traefik在检查你的服务时,会找到服务的相关信息并找到合适的服务来满足对应的请求2、traefik兼容所有主流的集群技术,比如k8s,docker,dockerswarm,aws,mesos等等,并且可以同时处理多种方式使用 Traefik,不需要维护或者同步一个独.
2021-04-19 19:38:50 882
原创 prometheus+grafana安装和基本配置
官网地址:https://prometheus.io/download/安装prometheus:wgethttps://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-386.tar.gz#找一个最新版的和自己系统吻合的版本tar -xvf prometheus-2.26.0.linux-386.tar.gz -C /usr/local/cd /usr/local/mv..
2021-04-13 16:26:44 199
原创 docker日志时间不正确
dockerlogs容器名查看的日志总比宿主机的日志相差8小时,感觉是因为时区不对的原因version: "3"services: sh-user-center: container_name: sh-user-center restart: always image: 192.168.1.154/test/sh-user-center:v1 network_mode: host volumes: - /data/logs/paas/a..
2021-04-10 16:21:43 1287
原创 k8s之service
定义service是k8s的核心概念之一,通过创建service,可以为一组具有相同功能的容器应用提供一个统一的入口,并且将请求负载分发到后端的各个容器应用上。apiVersion: v1 #指定api版本kind: Service #创建的类型metadata: #元数据 name: string #service的名字 name
2021-04-10 13:50:25 336
原创 容器化部署redis高可用(一主两从三哨兵)
redis一主两从部署mkdir /redisvim docker-compose.ymlversion: '3'services: master: image: redis:5.0.9-alpine3.11 container_name: redis-master network_mode: host restart: always volumes: - /redis/node-1/data:/data #目录没有创建就好了,/da
2021-03-23 16:00:01 426 1
原创 k8s控制器之deployment(2)
pod版本回退查看版本历史[root@master k8s]# kubectl rollout history deployment deployment-testdeployment.apps/deployment-testREVISION CHANGE-CAUSE1 kubectl set image deployment deployment-test deployment-test=nginx:1.16-alpine --record=true2
2021-03-19 18:01:44 180
原创 k8s之labels详解
一、标签是什么标签是k8s特色的管理方式,便于分类管理资源对象。一个标签可以对应多个资源,一个资源也可以有多个标签,它们是多对多的关系。一个资源拥有多个标签,可以实现不同维度的管理。可以使用标签选择器来指定能使用哪些标签。二、label使用label的使用无非就是增删改查查看node的lable标签[root@master ~]# kubectl get nodes --show-labelsNAME STATUS ...
2021-03-11 22:03:05 3246
原创 Ambari自动部署Hadoop
前言:年前的时候搭建了一套cdh大数据管理平台,年后发现收费了,只能重新研究一套Apache Ambari用来管理大数据了下载地址:https://pan.baidu.com/s/1-H_Vmf1yXDNivaO83LnVAQ ysr0https://pan.baidu.com/s/1EaiTmCTzxerv9W3BWGFdzg kkhahttps://pan.baidu.com/s/1FCQrexNC06uNZCtceCV-Og on5y环境配置# vim...
2021-03-08 16:39:35 1516 3
原创 利用jenkins实现容器化自动构建微服务项目2
利用jenkins拉取镜像并启动容器添加一个密钥凭据,需要docker服务器和jenkins服务器去做免密,这个就可以在jenkins上面实现对docker服务器的控制#!/bin/bashharbor_ip=192.168.1.154harbor_user=adminharbor_passwd=shuhai@123docker login $harbor_ip -u $harbor_user -p $harbor_passwddocker_id=`docker ps |..
2021-03-05 15:59:38 1022 4
原创 利用jenkins实现容器化自动构建微服务项目
dockerfile编写FROM java:8COPY *.jar /app.jarCMD ["--server.port=8066"]EXPOSE 8066ENTRYPOINT ["java","-jar","/app.jar"]jenkins配置构建一个maven的项目,用来将开发的源码打包成jar包,然后就是在脚本中实现docker镜像的构建#!/bin/bashjenkins_war_home=/var/lib/jenkins/workspace/doc.
2021-03-05 15:37:45 933
原创 Dockerfile文件详解
什么是dockerfile用来构建docker镜像的文件,命令参数脚本构建步骤1、编写一个dockerfile文件2、docker build构建成为一个镜像3、docker run 运行一个镜像成为容器4、docker push 发布镜像指令1、每个保留关键字(指令)都是必须是大写字母2、执行从上到下顺序执行3、#表示注释4、每一个指令都会创建提交一个新的镜像层,并提交FROM #基础镜像MAINTAINER #维护者信息RUN
2021-02-28 19:39:34 67
原创 nginx代理转发
server { listen 80; server_name localhost; client_max_body_size 1024M; location /my/ { proxy_pass http://my_server/;.
2021-02-28 19:30:37 155
原创 docker网络
同一台宿主机下容器之间是如何通信的?当我们安装好docker就会出现一个docker0的网络,这里的docker0就是一个路由转发的功能,docker0与宿主机网卡是直连模式,ip就是所有容器下的网关,我们每启动一个docker容器,docker就会给docker容器分配一个ip,我们只要安装了docker, 就会有一个网卡docker0桥接模式,使用的技术是evth-pair技术evth-pair技术 就是一对的虚拟设备接口,他们都是成对出现的,一段连着协议,一端彼此相连 正因为这个特性,ev
2021-02-18 15:57:11 91
原创 docker基础命令
docker 帮助命令docker version #显示docker的信息 dcoker info #显示docker的系统信息docker help #docker名称查询docker镜像命令docker images #查看镜像[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEjava 8 d2
2021-02-09 08:11:12 90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人