- 博客(37)
- 收藏
- 关注
原创 k8s-secret与configmap
secret与configmapSecret创建方式使用键值对文件方式yaml文件Pod通过volume的方式使用secretPod通过环境变量的方式使用secretConfigmap创建方式键值对文件yamlPod通过volume使用configmapPod通过环境变量使用configmapSecretSecret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec 中。Secret 可以以 Volume 或者环境变量的方式使用创建方式使用键值
2020-07-27 11:53:11 533
原创 k8s-滚动更新与健康检查
Rolling Updata与Health Check更新与回滚滚动更新实例:部署httpd2.2更新到2.4回滚实例:httpd指定回滚Health Check默认的健康检查实例Liveness探测实例Readiness探测实例Scale up使用health check实例滚动更新中使用health check实例手动设置 maxSurge和maxUnavailable更新与回滚滚动更新滚动更新一次只更新一小部分副本,成功后再更新更多的副本,最终完成所有副本,最大的好处是零停机。实例:部署htt
2020-07-22 12:06:17 1196
原创 k8s-service
Service是Kubernetes中最核心的概念,正是因为对此概念的支持,Kubernetes在某种角度下可以被看成是一种微服务平台。Kubernetes中的pod并不稳定,比如由ReplicaSet、Deployment、DaemonSet等副本控制器创建的pod,其副本数量、pod名称、pod所运行的节点、pod的IP地址等,会随着集群规模、节点状态、用户缩放等因素动态变化。Service是一组逻辑pod的抽象,为一组pod提供统一入口,用户只需与service打交道,service提供DNS解析名称
2020-07-19 19:52:18 322 1
原创 k8s-Daemonset与Job
Daemonset与JobDaemonset实例1:busybox实例2:node-exporterJobDaemonset一个DaemonSet确保了所有的node上仅有一个的Pod的一个实例。当node被添加到集群中,Pod也被添加上去。当node被从集群移除,这些Pod会被垃圾回收。删除一个DaemonSet将会清理它创建的Pod实例1:busyboxvim busybox.ymlapiVersion: apps/v1kind: DaemonSetmetadata: name:
2020-07-17 12:01:38 475
原创 k8s-deployments
为了满足不同业务场景,k8s开发了Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job 等多种 Controllerdeploymentsdeployments创建流程运行deployments查看deployments查看replicaset查看pod总结流程Deployments YAML创建yaml伸缩 Scale Up/Downk8s的Failover用label控制pod的位置deployments创建流程运行deployments运行一个dep
2020-07-14 18:30:57 412
原创 K8s基本概念与基本功能使用
概念与基本功能使用Kubernetes的整体架构master节点API Server(API服务器)Scheduler(调度器)ControllerEtcdnode节点Kubeletkube proxy基本功能使用部署应用Kubernetes的整体架构Kubernetes属于主从分布式架构,主要由Master Node和Worker Node组成,以及包括客户端命令行工具kubectl和其它附加项。Master Node:作为控制节点,对集群进行调度管理;Master Node由API Serve
2020-07-12 18:11:26 712
原创 Kubernetes部署
Kubernetes部署准备工作安装docker安装 Kubernetes下载镜像添加网络组件flannel使用Kubernetes初始化并加入集群简单使用准备工作环境:192.168.1.10 master192.168.1.20 node1192.168.1.30 node2注:内存必须在2G以上 cpu个数2个以上以下操作均在三台实例上运行vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 loc
2020-07-08 21:25:48 360
原创 docker-swarm Health、Secret与Stack
Health、Secret与StackHealth CheckSecretsecret 用法实例:部署wordpressStack常用命令实例:使用stack部署wordpressHealth Check容器启动之后,初始状态会为 starting (启动中)。Docker Engine会等待 interval 时间,开始执行健康检查命令,并周期性执行。如果单次检查返回值非0或者运行需要比指定 timeout 时间还长,则本次检查被认为失败。如果健康检查连续失败超过了 retries 重试次数,状态就会
2020-07-07 23:10:20 616
原创 docker-swarm网络与镜像更新回滚
Swarm网络swarm服务创建出来之后默认使用是bridge网络,能满足容器层次的网络通信,如果想外部访问service就需要暴露服务端口docker service create --name my-web --replicas=3 --publish 8080:80 192.168.1.10:5000/httpd创建服务时暴露端口给外部网络即可完成访问curl 192.168.1.10:8080<html><body><h1>It works!</
2020-07-06 12:16:21 1148
原创 docker-swarm
简介Swarm的特性:1.工作节点的注册和发现2.管理节点收集集群中所有的信息3.管理节点支持HA4.管理节点能感知集群的变化,在节点挂掉后重新调度上面的container5.提供filter和scheduler的调度策略调度集群里的容器Swarm概念swarm:是一组docker引擎的集群node:是单个docker引擎的实例,可以在一个物理机上也可以在多个application:是应用manager node:部署应用的时候会有一个manager node节点Worker nod
2020-07-01 11:36:24 507
原创 docker-compose部署nginx代理tomcat集群实现负载均衡与部署lnmp+discuz
nginx代理tomcat集群与部署lnmp+Discuznginx代理tomcat集群实现负载均衡目录结构构建tomcat镜像nginx配置文件时区文件网页文件docker-compose.yml启动并访问验证lnmp+Discuznginx代理tomcat集群实现负载均衡目录结构[root@localhost my-composetest]# tree.├── docker-compose.yml├── etc│ └── localtime ##时区文件├── nginx
2020-06-28 21:08:24 767
原创 docker ELK+filebeat+fluentd和compose的简单使用
Filebeat+Fluentd和ComposeELK+FilebeatFilebeat的架构设计filebeat安装FluentdELK+filebeat+fluentdcompose的简单使用ELK+Filebeat关于docker elk安装可以翻阅上一个博客filebeat 是基于原先 logstash-forwarder 的源码改造出来的。换句话说:filebeat 就是新版的 logstash-forwarder,也会是 ELK Stack 在 shipper 端的第一选择。Filebe
2020-06-24 11:55:59 1301
原创 Docker日志
docker logsdocker默认配置下日志会发送到容器的标准输出设备和标准错误设备例子:docker run -p 80:80 httpdAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this messageAH00558:
2020-06-22 13:57:35 399
原创 docker监控-数据收集器cAdvisor与prometheus架构
数据收集器cAdvisor与prometheus架构数据收集器cAdvisorprometheus架构ExporterPrometheusGrafana数据收集器cAdvisorcAdvisor(Container Advisor)为容器用户提供了对其运行容器的资源使用和性能特征的理解。 它是一个运行守护程序,用于收集,聚合,处理和导出有关正在运行的容器的信息。 具体而言,对于每个容器,它保留资源隔离参数,历史资源使用和完整历史资源使用的直方图。##下载镜像docker pull google/ca
2020-06-16 20:10:17 661
原创 docker监控
Docker自带的监控命令docker container ps 查看当前运行的容器docker container psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESceb5a7ef3180 registry:2 "/entrypoint.sh
2020-06-15 11:22:43 221
原创 docker跨主机存储
Rex-Ray driver特点cep 是开源的,而且社区活跃。支持多种 backend,VirtualBox 的 Virtual Media、Amazon EBS、CephRBD、OpenStack Cinder 等。支持多种操作系统,Ubuntu、CentOS、RHEL 和 CoreOS。支持多种容器编排引擎,Docker Swarm、Kubernetes 和 Mesos。Rex-Ray 安装使用方法非常简单。实验环境:Oracle VM VirtualBox虚拟机docker:
2020-06-09 15:03:24 260
原创 docker跨主机网络
overlay与macvxlanoverlaymacvxlanoverlayoverlay网络模型在docker集群节点间的加入了一层虚拟网络,它有独立的虚拟网段,意味着docker容器发送的内容,会先发送到虚拟子网,再由虚拟子网包装为宿主机的真实网址进行发送。也意味着在overlay网络模型上,docker不会暴露端口给宿主机,所有有关网络的事情都交给overlay去处理了,这样的好处就是在同一台服务器,不会引起端口冲突环境:关闭防火墙192.168.1.10 consul192.168.
2020-06-08 14:02:07 513
原创 docker私有库搭建及dockermachine搭建
docker私有库搭建官方提供了Docker Hub作为一个公开的集中仓库,但是网速相对较慢,所以在内部网络中创建私有库会避免浪费资源的问题。下载registry镜像docker pull registry:2##目前Docker Registry已经升级到了v2,最新版的Docker已不再支持v1。运行registry镜像docker run -dit -p 5000:5000 --restart always -v /opt/data/registry:/var/lib/registry
2020-06-03 20:37:43 544 1
原创 docker Data volume存储资源
Data volumeBind mountmanaged volume容器之间数据共享data-packed volume container删除(销毁)volumeData volume存在于宿主机中,独立于容器,和容器的生命周期是分离的,数据卷存在于宿主机的文件系统中,数据卷可以目录也可以是文件,容器可以利用数据卷与宿主机进行数据共享,实现了容器间的数据共享和交换。Data volume特点:容器启动的时候初始化的,如果容器使用的镜像包含了数据,这些数据也会拷贝到数据卷中。容器对数据卷的修改是
2020-06-02 17:05:33 288
原创 docker的基本网络
默认网络使用docker network ls查看docker network lsNETWORK ID NAME DRIVER SCOPE0bd3ee847342 bridge bridge localaa4c159d7c35 host host localc34d73cf4f4c
2020-05-30 17:50:52 527
原创 Docker资源限制
容器资源限制默认情况下, 容器没有资源限制 ,可以使用主机内核调度程序允许的尽可能多的给定资源。 Docker 提供了控制容器可以 使用多少内存或 CPU 的方法 。1.内存限制##使用progrium/stress对容器进行压力测试docker run -it -m 200M --memory-swap=300M progrium/stress --vm 1 --vm-bytes 280M##参数说明-m:设置内存使用额--memory-swap:设置内存+swap使用额(如果不指定 默认为
2020-05-29 11:28:23 294
原创 Dockerfile 指令的使用方法
dockerfile,相当于是一个文档,客户可以基于dockerfile生成新的容器dockerfile仅仅是用来制作镜像的源码文件,是构建容器过程中的指令,docker能够读取dockerfile的指定进行自动构建容器,基于dockerfile制作镜像,每一个指令都会创建一个镜像层,即镜像都是多层叠加而成,因此,层越多,效率越低,创建镜像,层越少越好。因此能在一个指令完成的动作尽量通过一个指令定义。例子:Dockerfile:FROM centosRUN yum install -y vimC
2020-05-25 11:55:50 368
原创 docker容器基本命令
容器(Container)——镜像运行时的实体镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的 命名空间命令1.新建并启动容器docker run -d -i -t centos:latest /bin/bash##参数说明-d:守护进程方式-t:分配一个伪终端-i:标准输入
2020-05-21 16:30:23 206
原创 docker镜像(images)
images介绍docker把下载好的镜像上传到docker本地镜像仓库中,如果本地镜像仓库中不存在需要用到的镜像,docker会从一个镜像库中去下载所需镜像,默认的公共仓库是Docker HUB。1.显示本机上的imagesdocker imagesREPOSITORY TAG IMAGE ID CREATED SIZEcentos-min latest f
2020-05-19 15:25:13 251
原创 docker安装部署以及简单操作
Docker中基本概念镜像(Image)镜像,从认识上简单的来说,就是面向对象中的类,相当于一个模板。从本质上来说,镜像相当于一个文件系统。Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。容器(Container)容器,从认识上来说,就是类创建的实例,就是依据镜像这个模板创建出来的实体。容器的实质是进程,但与直接在宿主执行的进程不同
2020-05-17 17:54:11 237
原创 kvm迁移
环境:192.168.1.10 kvm-node1192.168.1.20 kvm-node2192.168.1.21 nfs编辑三台机子hosts文件/etc/hosts:192.168.1.10 kvm-node1192.168.1.20 kvm-node2192.168.1.21 nfsnfs搭建:lvm:vgcreate nfspool /dev/sdbmkfs.xfs /dev/nfspool/nfspolmkd
2020-05-14 13:00:15 247 1
原创 kvm存储池、存储卷
存储池存储池是一个由libvirt管理的文件、目录或存储设备,提供给虚拟机使用。存储池被分为存储卷,这些存储卷保存虚拟镜像或连接到虚拟机作为附加存储。libvirt通过存储池的形式对存储进行统一管理、简化操作1.dir:基于目录创建存储池创建目录:/kvm-vm/dirpool进入vish创建基于目录存储池命令格式:pool-define-as 池名称 池格式 目标路径pool...
2020-05-08 13:53:24 774 1
原创 kvm文件管理
虚拟磁盘离线访问工具安装工具:yum install guestfs guestfs-toolsrpm -qa | grep guestfslibguestfs-tools-1.40.2-5.el7_7.3.noarchlibguestfs-tools-c-1.40.2-5.el7_7.3.x86_64libguestfs-1.40.2-5.el7_7.3.x86_64...
2020-05-06 12:38:10 383
原创 virsh管理虚拟机,克隆与快照
virsh的名称的含义是virtualization shell。它有两种工作模式:立即模式[root@localhost kvm-vm]# virsh list --all Id Name State---------------------------------------------------- - centos...
2020-04-29 00:48:32 2543
原创 kvm命令行安装虚拟机与vnc安装
环境:centos7最小化安装1.安装虚拟化软件yum install qemu qemu-img qemu-kvm libvirt libvirt-python libguestfs-tools virt-install2.创建磁盘文件cd /kvm-vm/qemu-img create -f qcow2 /kvm-vm/vmtest01.qcow2 10G#-f为指定文件格式 ...
2020-04-26 18:35:51 1271
原创 kvm图形界面安装(图文)
KVM(Kernelbased Virtual Machine) http://www.linuxkvm.org/ ,基于内核的虚拟机,配合QEMU(处理器虚拟软件),需要CPU支持虚拟化技术(并且在BIOS里打开虚拟化选项),效率可达到物理机的80%以上。安装系统:Centos7如果使用用VMware Workstation安装系统,需要勾选虚拟化功能安装系统时安装虚拟化功能...
2020-04-24 21:09:59 3131
原创 MongoDB分片集群搭建
MongoDB分⽚介绍分⽚的⽬的 . ⾼数据量和吞吐量的数据库应⽤会对单机的性能造成较⼤压⼒,⼤的查询量会将单机的CPU耗尽,⼤的数据量对单机的存储压⼒较⼤,最终会耗尽系统的内存⽽将压⼒转移到磁盘IO上。 . 为了解决这些问题,有两个基本的⽅法: 垂直扩展和⽔平扩展。 垂直扩展:增加更多的CPU和存储资源来扩展容量。 ⽔平扩展:将数据集分布在多个服务器上。⽔平扩展即分⽚。分⽚集群的构造...
2020-04-23 21:21:16 232
原创 MongoDB副本集与备份恢复
副本集副本集原理Primary 节点将数据修改操作记录到本地的 oplog(操作日志,在 local 库下)中,Secondary 节点定期到 Primary 节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证 Secondary 与 Primary 数据一致。在 MongoDB 副本集中,Secondary 会不间断的通过心跳来探测 Primary 是否正常,当 Primary ...
2020-04-21 21:12:54 868
原创 MongoDB查询,索引,聚合的命令
MongoDB查询文档find()语法:db.collection.find(query, projection)query :可选,使用查询操作符指定查询条件projection :可选,使用投影操作符指定返回的键实例:> db.tt1.find(){ "_id" : ObjectId("5e9c2fe4adfddc4273831131"), "name" : "zhan...
2020-04-19 20:32:30 428
原创 MongoDB安装部署及报警信息解决方法
安装部署下载地址:https://www.mongodb.com/download-center/community解压: tar zxf mongodb-linux-x86_64-rhel70-4.2.3.GZ移动到常用的目录下 MV mongodb-linux-x86_64-rhel70-4.2.3 /usr/local/mongodb/创建链接:ln -s /usr/loca...
2020-04-14 22:41:49 375
原创 redis主从复制
参与复制的Redis实例划分为主节点(master)和从节点(slave)。默认情况下, Redis都是主节点。每个从节点只能有一个主节点,而主节点可以同时具有多个从节点。复制的数据流是单向的,只能由主节点复制到从节点。配置复制的方式有以下三种:在配置文件中加入slaveof (masterHost) (masterPort)随Redis启动生效。在redis-server启动命令后加入...
2020-04-09 20:51:48 201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人