
虚拟化
_最爱吃兽奶
这个作者很懒,什么都没留下…
展开
-
k8s——安装 Helm 与基本设置
k8s——安装 Helm 与基本设置Helm 架构:部署 Helm:使用 Helm:Helm 架构:Helm有两个重要概念: chart 和 release:Chart:是创建一个应用的集合,包涵了各种kubernetes的配置模板,参数定义,依赖关系Release:是chart运行的实例,chart能够多次安装到同一个集群,每次安装都是一个releaseHelm 是包管理工具,这里的包就是指的chart。Helm能够:1.从零创建新chart.2.与存储chart的仓库交互,拉取、保存原创 2020-08-03 12:23:59 · 487 阅读 · 0 评论 -
k8s——statefulset 与 ingress
k8s——statefulset 与 ingressStatefulSetStatefulSet设计Headless Service创建Statefulset:IngressStatefulSetDeployment的不足,Deployment不足以覆盖所有的应用编排问题,因为在它看来,一个应用的所有Pod是完全一样的,所有它们之间就没有顺序,也无所谓运行在哪台宿主机上,需要时,Deployment就通过Pod模板创建新的Pod,不需要时就“杀掉”任意一个Pod。但是在实际场景中,并不是所有应用都满足原创 2020-07-31 12:46:17 · 1337 阅读 · 0 评论 -
k8s——加密管理 (secret,configmap)
k8s——加密管理Kubenetes的加密管理:SecretPod通过volume的方式使用secretPod通过环境变量的方式使用secretconfigmapPod通过volume使用configmap:Pod通过环境变量使用configmapKubenetes的加密管理:SecretSecret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec 中。Secret 可以以 Volume 或者环境变量的方式使用,SECRET会以密文的方式存储,原创 2020-07-27 13:17:48 · 3511 阅读 · 0 评论 -
k8s——数据管理
k8s——数据管理Volume:emptyDirhostpath volume:外部 storage provider回收pv(删除pvc):MYSQL使用pv,pvc:Volume:Volume可以持久化保存数据,Volume的生命周期独立于容器,Pod中的容器有可能出现意外,而volume会被保留,Pod 中的所有容器都可以共享 Volume,它们可以指定各自的 mount 路径emptyDiremptyDir 是主机的一个空目录,对于容器他是持久的,而对于pod则不是,删除pod,emp原创 2020-07-24 11:18:20 · 493 阅读 · 0 评论 -
k8s——滚动更新与 Health Check
k8s——滚动更新与 Health CheckRolling Update回滚Health Check默认的健康检查Liveness 探测Readiness 探测Liveness 与 Readiness 的区别:在Scale Up中使用 Health Check在滚动更新中使用Health CheckRolling Update下面我们部署三个副本应用,初始镜像为 httpd:2.2,然后将其更新到 httpd:2.4编写 httpd:2.2 配置文件:[root@master service]原创 2020-07-21 23:36:17 · 860 阅读 · 0 评论 -
k8s-通过 Service访问 Pod
k8s-通过 Service访问 Pod创建 Service创建 Deployment创建 serviceDNS 访问 Service外网访问 Service创建 Servicek8s 从逻辑上代表了一组 Pod,具体是哪些 Pod 则是由 label 来挑选。 Service 有自己的 IP,而且这个 IP 是不变的,客户端只需要访问 Service 的 IP, k8s 则负责建立和维护 Service 与 Pod 的映射关系,无论后端 Pod 如何变化,对客户端不会有任何影响,因为 Service原创 2020-07-19 21:32:43 · 1399 阅读 · 0 评论 -
k8s-DaemonSet 与 Job 使用
k8s-DaemonSet 与 Job 使用DaemonSetdaemonset 案例一:daemonset 案例二:Job部署一个 Job:部署一个失败的 Job:并行执行 Job:定时执行 Job:DaemonSetdeployment部署的fubenpod会分布到各个node上,每个node都可能运行好几本副本,daemonset的不同之处在于:每个node上最多只能运行一个副本。daemonset的典型应用场景有:1.在集群的每个节点上运行储存 Daemon,比如 glusterd 或 ce原创 2020-07-16 19:20:17 · 836 阅读 · 0 评论 -
k8s-Deployment 使用
k8s-Deployment 使用Deploymentk8s 创建资源的两种方式Deployment YAMLScale Up/Down用 label 控制 Pod 的位置:Deployment先运行一个 Deployment[root@master ~]# kubectl run nginx-1 --image=nginx --replicas=2kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be remo原创 2020-07-14 17:59:27 · 1392 阅读 · 0 评论 -
k8s的基本概念与基本功能
k8s的基本概念与基本功能k8s基本概念kubernetes架构Master 节点API Server(kube-apiserver)Scheduler(kube-scheduler)Controller Manager(kube-controller-manager)etcdNode 节点kubeletkube-proxyPod 网络k8s基本功能部署应用:访问应用:Scale 伸缩滚动更新更新回滚:k8s基本概念kubernetes架构Master 节点Master 是 Kubernetes C原创 2020-07-12 14:25:05 · 659 阅读 · 0 评论 -
Centos7-kubeadm方式安装k8s
K8S的安装搭建初始环境安装 Kubernetes部署 Kubernetes参考链接 https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/环境:192.168.19.160 master192.168.19.161 node1192.168.19.162 node2搭建初始环境以下在全部节点进行操作编写hosts文件[root@localhost ~]# vim /原创 2020-07-09 18:39:13 · 176 阅读 · 0 评论 -
Docker-swarm配置 Health,Secret 与 stack
Docker-swarm配置 Health Check使用 SecretSecret 配置实例配置 Health Check[root@node2 ~]# docker run -dit --name test --health-cmd "curl -f http://localhost/ ||exit 1" --health-timeout 5s --health-interval 8s -p 80 nginxdc5b1f1cc71a33d8919e5f66430bb1d3badade27a3989原创 2020-07-08 11:32:51 · 858 阅读 · 0 评论 -
Docker-swarm
Docker-swarm如何访问 Servicesrouting meshServices 之间通信如何滚动更新 Service(Rolling Update)如何访问 Services部署web_server[root@node1 ~]# docker service create --name web_server --replicas=2 192.168.19.130:5000/httpd启动了一个容器,是 web_server 的一个副本,容器监听了80 端口,但是并没有映射到 Docke原创 2020-07-05 18:12:51 · 419 阅读 · 0 评论 -
Docker-swarm集群
Docker-swarm集群创建集群环境192.168.19.130 node1 manager192.168.19.131 node2192.168.19.132 node3编辑hosts文件(三台节点)[root@localhost ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost原创 2020-06-30 18:10:39 · 225 阅读 · 0 评论 -
Docker-compose搭建lnmp
Docker-compose搭建lnmp+Discuz论坛主机:192.168.19.130下载镜像docker pull nginxdocker pull mysql:5.7docker pull cytopia/php-fpm-5.6建立新的目录,并创建文件[root@localhost lnmp]# tree.├── conf│ └── default.conf├── docker-compose.yml└── html ├── dbtest.php原创 2020-06-28 12:43:32 · 778 阅读 · 0 评论 -
Docker compose nginx实例
Docker composedocker compose 安装[root@localhost]# curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose[root@localhost]# chmod +x /usr/local/bin/docker-compose [root@原创 2020-06-24 13:54:50 · 238 阅读 · 0 评论 -
Docker 日志-ELK
Docker 日志-ELKELKElasticsearchLogstashKibana日志处理流程安装 ELK 套件ELK部署与使用万能数据收集器 Fluentd安装FluentdELKELK是三个软件的合称:Elasticsearch,Logstash,Kibana.Elasticsearch一个近乎实时查询的全文搜索引擎。Elasticsearch 的设计目标就是要能够处理和搜索巨量的日志数据。Logstash读取原始日志,并对其进行分析和过滤,然后将其转发给其他组件进行索引或存储。Log原创 2020-06-23 17:40:51 · 605 阅读 · 0 评论 -
Docker 日志 logging-driver
Docker 日志与 Docker logsDocker Logging DriverDocker logs运行 httpd 容器:[root@localhost ~]# docker run -p 80:80 httpd因为我们在启动的时候没有用-d参数,所以httpd 容器以前台方式启动,日志会直接输出在终端上。在后台运行:[root@localhost ~]# docker run -dit -p 80:80 httpd这种情况要想查看容器的日志,可以用 attach[roo原创 2020-06-21 15:13:53 · 4889 阅读 · 0 评论 -
Docker数据收集器与Prometheus
Docker数据收集器与Prometheus数据收集器 cadvisor运行cadvisor监控容器PrometheusPrometheus 架构:Prometheus ServerExporter可视化组件Alertmanager搭建Prometheus运行 Node Export运行 cadvisor运行 Prometheus Server运行Grafana配置Grafana数据收集器 cadvisorcadvisor是Google开发的容器监控工具:运行cadvisor[root@host1原创 2020-06-16 12:27:31 · 734 阅读 · 0 评论 -
Docker监控(sysdig与Weave Scope)
Docker Weave Scope监控Docker 自带的监控子命令sysdigWeave ScopeDocker 自带的监控子命令ps 查看当前运行的容器[root@localhost ~]# docker container ps[root@localhost ~]# docker container lstop 查看容器运行的进程[root@localhost ~]# docker container top busybox[root@localhost ~]# docker c原创 2020-06-14 17:37:54 · 367 阅读 · 0 评论 -
Docker Rex-Ray 跨主机存储
Docker跨主机存储安装配置Rex-Ray配置VirtualBox backend使用Rex-Ray volume环境host1 192.168.0.100host2 192.168.0.110安装配置Rex-Ray[root@host1 ~]# curl -ssl https://dl.bintray.com/rexray/rexray/install | shrexray has been installed to /usr/bin/rexrayREX-Ray------B原创 2020-06-09 13:34:29 · 619 阅读 · 0 评论 -
Docker跨网络overlay,macvlan
Docker跨网络overlay,maclanDocker machine环境做overlay网络Docker machine环境做overlay网络环境consul 192.168.19.130host1 192.168.19.20host2 192.168.19.30下载镜像[root@consul ~]# docker search consul[root@consul ~]# docker pull progrium/consul 启动consul容器[roo原创 2020-06-07 13:40:28 · 424 阅读 · 0 评论 -
Docker用registry搭建私有库
Docker搭建私有库安装私有库镜像docker pull registry启动镜像docker run -dit -p 5000:5000 --restart always -v /opt/data/registry:/var/lib/registry --name registry registry:2对镜像打包docker tag centos7:latest 192.168.19.130:5000/centos7修改docker配置(服务端和客户端都进行操作)vim /us原创 2020-06-04 19:07:50 · 124 阅读 · 0 评论 -
Docker 三剑客 machine
Dockermachine安装machine创建machine管理MachineDocker-machine是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker。我们还可以通过 docker-machine 命令来管理这些虚拟机和 Docker环境machine 192.168.19.130host1 192.168.19.20安装machine官网:https://docs.docke原创 2020-06-04 17:57:48 · 266 阅读 · 0 评论 -
Docker 存储卷
Docker 存储卷Docker的两类存储资源storage driverData Volume之bind mountbind mountdocker managed volumebind mount 与 docker managed volume的区别共享数据容器与host共享数据容器之间共享数据data-packed volume containervolume生命周期管理备份恢复迁移销毁Docker的两类存储资源storage driverDocker镜像的分层结构容器由最上面一个可写的容器原创 2020-06-02 20:30:15 · 314 阅读 · 0 评论 -
Docker 网络配置
Docker 网络配置none网络host网络bridge网络自定义容器网络Docker 网络docker网络从覆盖范围可分文单个host上的容器网络和跨多个host的网络。docker安装时会自动在host创建三个网络[root@localhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE91f24d00be88 bridge原创 2020-05-31 14:41:07 · 374 阅读 · 0 评论 -
Docker 资源限制
Docker 资源限制限制容器对内存的使用:限制容器对CPU使用限制容器的Block IO实现容器的底层技术限制容器对内存的使用:下载progrium/stress镜像 作为压力测试[root@localhost ~]# docker pull progrium/stressdocker run --help-m, --memory bytes 内存限制 --memory-reservation bytes 内存的软限制 --memory-s原创 2020-05-28 19:52:21 · 312 阅读 · 0 评论 -
Dockerfile基本用法
DockerfileDocker 并不建议用户通过commit方式构建镜像。原因如下::这是一种手工创建镜像的方式,容易出错,效率低且重复性弱。:使用者并不知道镜像是如何创建出来的,里面是否有恶意程序,存在安全隐患。用Dockerfile构建镜像,底层也docker commit 一层一层构建新镜像的。1.运行docker build命令,-t将新镜像命名,末尾的.指名build context为当前目录,从当前目录下寻找Dockerfile,也可以用-f指定Dockerfile的位置。2.原创 2020-05-24 18:32:22 · 233 阅读 · 0 评论 -
docker容器用法
docker容器容器是Docker又-核心概念简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。新建一个容器docker run -it centos7:latest /bin/bash-t:让docker分配一个终端并绑定到容器的标准输入上-i:让容器的标准输入保持打开(交互模式)可以使用exit退出,exit退出之后将会关闭这个容器也可以使用CTRL+p + CTRL+q原创 2020-05-21 20:00:15 · 152 阅读 · 0 评论 -
docker镜像用法
docker镜像Docker image详细介绍docker images是docke的三大组件之一。docker把下载的 images存储到docker主机上,如果一个image不在主机上,docker会从一个镜像仓库下载, 默认的仓库是DOCKER HUB公共仓库。使用docker images 显示本机上的images[root@localhost ~]# docker imagesREPOSITORY TAG IMAGE ID原创 2020-05-19 14:06:17 · 189 阅读 · 0 评论 -
docker介绍与安装
docker介绍与安装Docker简介Docker 安装Docker简介Docker是什么?Docker的英文本意是“搬运工”,在程序员的世界里,Docker搬运的是集装箱(Container),集装箱里装的是任意类型的App,开发者通过Docker可以将App变成一种标准化的、可移植的、自管理的组件,可以在任何主流系统中开发、调试和运行。说白了,docker是一种用了新颖方式实现的轻量级虚拟机,类似于VM,但是在原理和应用上和VM的差别还是很大的.并且docker的专业叫法是应用容器(Applic原创 2020-05-17 12:49:09 · 238 阅读 · 0 评论 -
KVM迁移
KVM迁移静态迁移(冷迁移)对于静态迁移,你可以在宿主机上保存一个完整的客户机镜像快照,然后在宿主机中关闭或者暂停该客户机,然后将该客户机的镜像文件复制到另一台宿主机中,使用在源主机中启动该客户机时的命令来启动复制过来的镜像。动态迁移(热迁移)如果源宿主机和目的宿主机共享存储系统,则只需要通过网络发送客户机的 vCPU 执行状态、内存中的内容、虚机设备的状态到目的主机上。否则,还需要将客户机的磁盘存储发到目的主机上。共享存储系统指的是源和目的虚机的镜像文件目录是在一个共享的存储上的。在基于共享存原创 2020-05-12 16:20:58 · 836 阅读 · 0 评论 -
KVM网络配置
KVM网络配置NAT模式桥接模式qemu-kvm支持的网络虚拟机的网络模式基于NAT(Network Address Translation)的虚拟网络基于网桥(Bridge)的虚拟网络ü 用户自定义的隔离的虚拟网络直接分配网络设备(包括VT-d和SR-IOV)查看qemu网络配置文件cat test1.xml<interface type='network'> <mac address='52:54:00:23:03:eb'/> <source n原创 2020-05-10 13:06:50 · 1103 阅读 · 0 评论 -
KVM存储池与存储卷
KVM存储池与存储卷存储池创建基于目录的存储池创建基于LVM的存储池基于NFS的存储池存储卷存储池kvm存储模式基于文件系统的存储dir:Filesystem Directoryfs:Pre-Formatted Block Devicenetfs:Network Exported Directory基于设备的存储Disk:Physical Disk DeviceIscsi:iS...原创 2020-05-07 15:14:53 · 2097 阅读 · 0 评论 -
KVM——文件管理
KVM文件管理管理虚拟磁盘磁盘快照管理通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置文件无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件主要有raw和qcow2格式。raw格式性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。要使用镜像功能,磁盘格式必须为qcow2。raw格式的话,速度稍微快点,在高版本的qemu-...原创 2020-05-01 19:35:38 · 2387 阅读 · 2 评论 -
virsh常用命令管理虚拟机
virsh常用命令管理虚拟机KVM虚拟机克隆KVM虚拟机快照管理虚拟机libvirt架构概述:libvirt是用来管理虚拟机或虚拟化功能的软件集合,主要包括:libvirt API,libvirtd进程和virsh工具集三部分。最初的目的是为不同的hypervisor提供统一的管理接口。libvirtd该后台进程主要实现以下功能:(1)远程代理所有remote client发送来的命令...原创 2020-04-28 13:10:59 · 1316 阅读 · 0 评论 -
KVM命令安装虚拟机与virt管理虚拟机
KVM命令安装虚拟机命令安装虚拟机VNC安装virsh命令使用命令安装虚拟机使用qemu-img创建磁盘文件qemu-img create -f qcow2 /kvm-vm/vmtest1.qcow2 10G通过qemu-img info 可以查看磁盘情况qemu-img info /kvm-vm/vmtest1.qcow2通过文件管理可以直接查看、修改、复制虚拟机的内部文件...原创 2020-04-26 19:32:42 · 526 阅读 · 0 评论 -
KVM的图形界面安装及操作
KVM的图形界面安装及操作KVM的安装使用virt-manager管理虚拟机KVM(Kernelbased Virtual Machine) http://www.linuxkvm.org/ ,基于内核的虚拟机,配合QEMU(处理器虚拟软件),需要CPU支持虚拟化技术(并且在BIOS里打开虚拟化选项),效率可达到物理机的80%以上。KVM的安装环境要求:如果是物理服务器,需要在BIOS...原创 2020-04-25 20:59:12 · 10273 阅读 · 1 评论