- 博客(27)
- 收藏
- 关注
原创 kubernetes之数据管理
数据管理:为了持久化保存数据 可以使用kubernetes volumeVolume的生命周期独立于容器Pod中的容器有可能出现意外,而volume会被保留Volume:1.emptyDir是主机的一个空目录,对于容器他是持久的,而对于pod则不是,删除pod,emptydir volume也会被删除示例:[root@k8smaster ~]# mkdir 7-22[root@k8smaster ~]# cd 7-22/[root@k8smaster 7-22]# mkd
2020-07-23 21:28:19
302
原创 kubernetes之滚动更新
滚动更新:[root@master rolingup]# vim httpd-deploy.ymlapiVersion: apps/v1kind: Deploymentmetadata: name: httpd-deploy labels: run: apachespec: replicas: 3 selector: matchLabels: run: apache template: metadata: labels:
2020-07-21 22:45:43
413
原创 kubernetes之service
我们不应该期望Kubernetes Pod是健壮的,而是要假设Pod中的容器很可能因为各种原因发生故障而死掉。Deployment等controller会通过动态创建和销毁Pod来保证应用整体的健壮性。换句话说,Pod是脆弱的,但应用是健壮的。每个Pod都有自己的IP地址。当controller用新Pod替代发生故障的Pod时,新Pod会分配到新的IP地址。这样就产生了一个问题:如果一组Pod对外提供服务(比如HTTP),它们的IP很有可能发生变化,那么客户端如何找到并访问这个服务呢?Kubernet
2020-07-18 11:49:52
241
原创 kubernetes daemonset和job
DaemonSet典型应用Deployment部署的副本Pod会分布在各个Node上,每个Node都可能运行好几个副本。DaemonSet的不同之处在于:每个Node上最多只能运行一个副本。DaemonSet的典型应用场景有:·在集群的每个节点上运行存储Daemon,比如glusterd或ceph。·在每个节点上运行日志收集Daemon,比如flunentd或logstash。·在每个节点上运行监控Daemon,比如Prometheus Node ExPorter或collectd。其实Kube
2020-07-16 13:56:50
246
原创 Kubernetes之deployment
1用Deployment运行应用Kubernetes通过各种Controller来管理Pod的生命周期。为了满足不同业务场景,Kubernetes开发了Deployment、ReplicaSet、StatefuleSet、Job等多种Controller。首先使用最常用的Deployment。[root@master ~] kubectl run nginx-deploy --image=nginx --replicas=2查看[root@master ~] kubectl ge
2020-07-14 13:28:57
476
原创 kubernetes基本概念和基本功能
一、kubernetes架构Kubernetes体系架构图:1、Master节点Master是Kubernetes Cluster的大脑,运行着如下Daemon服务:kube-apiserver、kube-scheduler、kube-controller-manager、etcd和Pod网络(例如flannel)。·API Server(kube-apiserver)API Server提供HTTP/HTTPS RESTful API,即Kubernetes API。API Server是K
2020-07-12 16:03:12
520
原创 安装Kubernetes(K8S)平台
用kubeadm的方法安装k8s:环境: 三台主机 一台master 俩台node更改hosts文件:[root@master ~]# cat /etc/hosts192.168.3.100 master192.168.3.150 node1192.168.3.200 node2关闭swap和selinux 防火墙(实验环境 ) 并设置swap内核参数永久关闭swap 注释掉就好cat /etc/fstab#/dev/mapper/cl-swap swap
2020-07-09 14:15:10
634
原创 swarm health secret 与 stack
先准备需要的镜像:docker pull centos:7docker pull mysql:5.7docker pull wordpress做一个dockerfile:[root@swam1 centos]# cat dockerfile FROM centos:7RUN yum -y install epel-releaseRUN yum -y install nginxCOPY index.html /usr/share/n
2020-07-07 14:07:16
596
原创 swarm 通信
服务与服务之间的通信:通过服务发现就可以实现服务与服务之间的互相通信:1.首先创建一个overlay网络:[root@swam1 ~]# docker network create --driver overlay mytestreof5nftgdvjwevd6oyivsty5 创建了一个overlay的网络名字为 mytest因为 ingress不支持服务发现创建一个服务 使用刚才建的网络:[root@swam1 ~]# docker service cre
2020-07-05 12:30:47
317
原创 搭建私有仓库+swarm
环境:192.168.2.100 swam1192.168.2.150 swam2192.168.2.200 swam3更改host文件vim /etc/hosts192.168.2.100 swam1192.168.2.150 swam2192.168.2.200 swam3配置ssh免密登陆:Swam1:[root@swam1 ~]# ssh-keygen[root@swam1 ~]# ssh-copy-id 192.168.2.150[ro
2020-06-30 15:47:22
358
原创 Docker-Compose部署nginx 和lnmp
Docker-Composetomcatlnmptomcat使用Docker-Compose部署Nginx代理Tomcat集群,实现负载均衡[root@host1 ~]# mkdir compose在这个目录下创建多个目录[root@host1 compose]# mkdir nginx[root@host1 compose]# mkdir webhtml[root@host1 compose]# mkdir tomcat[root@host1 compose]# mkd
2020-06-27 13:06:04
403
原创 docker 日志
cker logs首先查看默认配置下Docker的日志功能。对于一个运行的容器,Docker会将日志发送到容器的标准输出设备(STDOUT)和标准错误设备(STDERR),STDOUT和STDERR实际上就是容器的控制台终端。以前台的方式运行一个容器:[root@docker ~]# docker run -p 80:80 httpd然后通过本地浏览器和docker主机测试访问该容器服务,然后查看日志信息:可以看到docker主机系统的日志 也可以看到容器的id使用docker attac
2020-06-23 22:04:48
2169
原创 docker 监控
一、数据收集器cAdvisorcAdvisor是google开发的容器监控工具,在host中运行cAdvisor容器。环境部署:两台docker环境主机。两台主机分别下载google/cadvisor镜像: docker pull google/cadvisordocker-1主机通过google/cadvisor镜像启动一个容器在后台运行:[root@docker-1 ~]# docker run \--volume=/:/rootfs:ro \--volume=/var/run:/v
2020-06-17 01:56:26
375
原创 docker监控
Docker监控当Docker部署规模逐步变大之后,可视化监控容器环境的性能和健康状态将会变的越来越重要。Docker自带的几个监控子命令:ps ,top和stats 。然后是几个功能更强的开源监控工具sysdig,Weave Scope,cAdvisor和Prometheus。一、Docker自带的监控子命令首先通过几个镜像运行几个容器:[root@docker ~]# docker images[root@docker ~]# docker run -d -p 80 --name http
2020-06-14 23:52:38
294
原创 docker跨主机存储
跨主机存储:1.安装rex-ray:curl -sSL https://dl.bintray.com/rexray/rexray/install |sh要共享存储的主机都得安装在cmd上查看ip地址在本地创建并编辑Rex-Ray的配置文件/etc/rexray/config.yml可以使用图形化的在线Rex-Ray配置生成器:https://rexrayconfig.cfapps.io/2.配置rex-ray的配置文件:配置宿主机:打开命令提示符:去你安装virt的目录在开启一个
2020-06-11 01:53:12
301
原创 docker跨网络之overlay
实验环境:共需要三台192.168.3.100 host1192.168.3.150 node1192.168.3.200 node2下载镜像[root@host1 ~]# docker pull progrium/consul运行容器:[root@host1 ~]# docker run -d --restart always -p 8400:8400 -p 8500:8500 -p 8600:53/udp -h node1 progrium/consul -s
2020-06-07 22:57:49
214
原创 docker 网络
一、Docker自带的三个网络Docker安装时会自动在host主机上创建三个网络,可以通过docker network ls命令查看当前默认的三个网络。查看docker当前的网络:[root@localhost ~]# docker network ls1、none网络none网络就是什么都没有的网络。挂在这个网络下的容器除了lo回环接口,没有其他任何网卡。容器创建时,可以通过–network=none指定容器使用none网络。通过busybox镜像启动一个指定none网络的容器:[r
2020-05-31 23:38:18
185
原创 docker 资源限制
限制容器对内存的使用一个 docker host 上会运行若干容器,每个容器都需要 CPU、内存和 IO 资源。对于 KVM,VMware 等虚拟化技术,用户可以控制分配多少 CPU、内存资源给每个虚拟机。对于容器,Docker 也提供了类似的机制避免某个容器因占用太多资源而影响其他容器乃至整个 host 的性能。内存限额 与操作系统类似,容器可使用的内存包括两部分:物理内存和 swap。 Docker 通过下面两组参数来控制容器内存的使用量。① -m 或 --memory:设置内存的使用限额,例如
2020-05-28 16:00:00
316
原创 dockerfile
查看当前本地所有的镜像,并创建一个用于存放Dockerfile文件的目录:[root@docker ~]# docker images[root@docker ~]# mkdir /dockerf[root@docker ~]# cd /dockerf/清空当前所有启动或者关闭的容器:[root@docker dockerf]# docker rm -f $(docker ps -qa)编辑一个Dockerfile文件:[root@docker dockerf]# vim Dockerfi
2020-05-25 13:06:01
138
原创 Docker 容器
启动一个新的容器(docker run):[root@docker ~]# docker run -i -t centos:latest /bin/bash停止一个容器(docker stop):[root@docker ~]# docker stop 298cc284be02 启动一个容器(docker start):[root@docker ~]# docker start vigilant_lovelace(names)重启一个容器(docker restart):[root@do
2020-05-21 23:11:33
137
原创 docker image镜像
1、使用Docker images查看主机上的images镜像[root@localhost ~]# docker images2.下载镜像:[root@localhost ~]# docker pull centos3.查找镜像:[root@localhost ~]# docker search centos4.查看指定镜像的信息:[root@localhost ~]# docker images centos5.查看镜像的完整信息:[root@localho
2020-05-19 18:04:51
208
原创 docker安装
安装docker:安装必须工具:[root@localhost ~]# yum -y install yum-utils device-mapper-persistent-data lvm2安装阿里的docker-ce的源:[root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo建立元数据:[root@localho
2020-05-17 22:06:16
299
原创 kvm迁移及优化
环境部署:三台主机192.168.2.10192.168.2.100192.168.2.200kvm-1主机安装kvm虚拟化平台:[root@kvm-1 ~]# yum -y install qemu-kvm qemu-kvm-tools qemu-img libvirt virt-install virt-manager bridge-utilskvm-2主机安装kvm虚拟化平台:[root@kvm-2 ~]# yum -y install qemu-kvm qemu-kvm-tools
2020-05-12 22:38:06
174
原创 KVM网络
1、基于NAT的虚拟网络连接虚拟机,查看虚拟机ip地址信息,并测试是否可以连接外网:[root@localhost ~]# virsh console test-os1 查看虚拟机的配置文件:[root@localhost ~]# vim /etc/libvirt/qemu/test-os1.xml 查看default.xml配置文件:[root@localhost ~]# vim /etc/libvirt/qemu/networks/default.xml 2、基于网桥的虚拟网络拷贝
2020-05-10 17:09:06
226
原创 存储池 存储卷
virsh中和存储池相关的命令pool-autostart 自动启动某个池pool-build 建立池pool-create-as 从一组变量中创建一个池pool-create 从一个 XML 文件中创建一个池pool-define-as 在一组变量中定义池pool-define 在一个XML文件中定义(但不启动)一个池或修改已有...
2020-05-07 17:49:00
1471
原创 virsh KVM文件管理
virsh KVM文件管理通过文件管理可以直接查看、修改、复制虚拟机的内部文件。例如,当系统因为配置文件无法启动时,可以直接修改虚拟机的文件。虚拟机磁盘文件主要有raw和qcow2格式。raw格式性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。要使用镜像功能,磁盘格式必须为qco...
2020-05-05 22:21:48
1836
原创 virsh管理虚拟机
virsh管理虚拟机virsh管理虚拟机一、管理虚拟机1、libvirt架构概述libvirt是用来管理虚拟机或虚拟化功能的软件集合,主要包括:libvirt API,libvirtd进程和virsh工具集三部分。最初的目的是为不同的hypervisor提供统一的管理接口。libvirtd该后台进程主要实现以下功能:(1)远程代理所有remote client发送来的命令,由该进程...
2020-04-27 17:08:03
935
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅