自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(340)
  • 收藏
  • 关注

原创 Tomcat面试题+http面试题+Nginx面试题+常见面试题

Tomcat面试题1、Tomcat的缺省端口是多少?怎么修改?答:缺省端口是8080,若要修改,可以进入Tomcat的安装目录下找到conf目录下的server.xml文件,找到该文件中的Connector字段中的port。2、Tomcat有哪几种connector运行模式(服务的请求方式)?答:三种。修改它的运行模式需要在主配置文件中找到connector字段中的protocol进行修改...

2019-12-12 15:04:43 11806 2

原创 linux报错Loading mirror speeds from cached hostfile解决方法

修改yum源,在安装更新rpm包时获得比较理想的速度。这里以163源为例子。cd /etc/yum.repos.dmv CentOS-Base.repo CentOS-Base.repo.backupwget http://mirrors.163.com/.help/CentOS6-Base-163.repomv CentOS6-Base-163.repo CentOS-Base.repoyum clean all...

2021-09-24 15:38:43 2373 1

原创 如何使用vSphere Client 将文件上传到EXSI服务器的方法步骤

随着使用虚拟化技术的企业越来越多,期间的疑问也越来越多。esxi在安装系统的时候,需要先上传iso镜像文件到exsi的datastore里,这里使用vSphere Client上传。1、用vSphere Client 连上服务器,然后找到摘要,存储器那里,有一个datastore,就是存储器的名字,如图12、点击右键,有“浏览数据存储”,单击它,如图23、然后会出来一个界面,有一个上传的小图标,在左上角,如图34、单击上传的图标,然后选择要上传的文件,然后等待成功即可。...

2021-09-23 11:04:13 1394

原创 这些你都知道吗

运维人员常用的Linux命令汇总https://mp.weixin.qq.com/s/5GpI9LYrtbXMA0pEJ_gmcw只需一条命令,就可以查出哪些端口被防火墙阻止了!https://mp.weixin.qq.com/s/6AAzwGkXHbYSVmjuAwq_-wDocker 极简入门指南,10 分钟就能看懂~https://mp.weixin.qq.com/s/6pJg0xOFdEmxvjbtvBfZFgLinux 下大文件切割与合并https://mp.weixin.qq.co

2021-08-02 10:10:54 427 2

原创 最小化安装contos7需要安装的常用命令

yum install lrzsz 安装rz命令yum install vim 安装vim命令yum install epel-release.noarch 安装yum扩展源yum update 更新yum源yum install bash-completion.noarch 安装tab键

2021-05-13 16:22:52 345

转载 转载链接

https://mp.weixin.qq.com/s/VReNOMsrnzL9Jf1Jo9WdlA开源、强大的Linux服务器集群管理工具,比宝塔好用!

2020-10-07 10:52:34 266 1

原创 linux 使用team实现双网卡绑定单个IP

(1)简单的说就是多个物理的端口绑定在一起当成一个逻辑端口来使用,以便提高带宽,实现负载平衡或高可用的功能。(2)配置的基本过程就是配置一个逻辑端口的连接,视作 master;然后把需要的物理端口配置 成 slave 连接,绑定到组。然后把这个逻辑端口分配 IP 就可以用了。(3)网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度。(4)网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模

2020-08-27 16:00:17 1063

原创 linux 使用bond实现双网卡绑定单个IP

双网卡绑定单个IP 地址 为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。bond在Linux下叫bonding,IBM称为etherchanel,broadcom叫team,但是名字怎么变,效果都是将两块或更多的网卡当做一块网卡使用,在增加带宽的同时也可以提高冗余性。实现双网卡绑定的方法有两种: bond和team这里先记下bond的绑定方法bond支持的模式共支持bond[0-6]共七种模式,常用的就三种,如

2020-08-27 13:56:40 1346

原创 针对Kubernetes群集做资源限制

Kubernetes对资源的限制实际上是通过cgroup来控制的,cgroup是容器的一组用来控制内核如何运行进程的相关属性集合,针对内存、CPU各种设备都有对应的cgroup。默认情况下,Pod运行没有CPU和内存的限制,这就意味着系统中的任何pod将能够像执行该pod所在的节点一样,消耗足够多的CPU和内存,一般会针对某些应用的Pod资源进行资源限制,这个资源限制是通过resources的limits来实现的。注:以下只是在yaml文件中进行资源限制的一个片段,并不是完整的yaml文件!1)针对p

2020-08-26 16:50:16 181

原创 Kubernetes集群水平扩展——HPA(自动伸缩)

Kubernetes集群可以通过Replication Controller的scale机制完成服务的扩容或缩容,实现具有伸缩性的服务。Kubernetes集群自动伸缩分为:sacle手动伸缩:kubernetes资源对象的升级、回滚、扩容、缩容autoscale自动伸缩:也就是本篇博文所介绍的HPA;Kubernetes自动扩展主要分为:水平扩展:针对实例数目的增减;垂直扩展:也就是单个实例就可以使用的资源的增减,比如增加CPU、内存;一、HPA简介HPA的全称为(Horizontal P

2020-08-26 15:28:28 879

原创 Kubernetes的三种可视化UI界面

一、dashboard1)获取yaml文件修改并执行[root@master ~]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml[root@master ~]# vim recommended.yaml +39#定位到39行,修改其提供的service资源spec: type: NodePort ports: - port

2020-08-25 15:56:11 9401 3

原创 Kubernetes数据持久化之Secret与ConfigMap

ConfigMap和Secret是Kubernetes中两种特殊类型的存储卷,ConfigMap这种资源对象主要用于提供配置数据以定制程序行为,不过一些敏感的配置信息,比如像用户名、密码、密钥等通常都是由Secret这种资源对象来进行配置的,他们将相应的配置信息保存于对象中,而后在Pod资源上以存储卷的形式将其挂载并获取相应配置,以实现配置与镜像文件的解耦。一、Secret资源对象1) Secret概述Secret资源对象存储数据的方式是以键值对的方式进行存储的,在Pod资源进行Secret的方式是通

2020-08-24 17:19:37 332

原创 Kubernetes之Ingress-nginx部署使用

一、Ingress简介在Kubernetes中,服务和Pod的IP地址仅在集群内部网络内部使用,对于集群的应用是不可见的。为了使外部的应用能够访问集群内的服务,在Kubernetes目前提供了以下几种方案:1)NodePort2)LoadBalancer3)Ingress1)Ingress组成Ingress 是反向代理规则,用来规定 HTTP/S 请求应该被转发到哪个 Service 上,比如根据请求中不同的 Host 和 url 路径让请求落到不同的 Service 上;Ingress

2020-08-23 18:08:34 2444

原创 Kubernetes数据持久化之StatefulSet(自动创建PVC)

一、Kubernetes无状态服务VS有状态服务1)Kubernetes无状态服务Kubernetes无状态服务特征:1)是指该服务运行的实例不会在本地存储需要持久化的数据,并且多个实例对于同一请求响应的结果是完全一致的;2)多个实例可以共享相同的持久化数据。例如:nginx实例、tomcat实例等;3)相关的Kubernetes资源有:ReplicaSet、ReplicationController、Deployment等,由于是无状态服务,所以这些控制器创建的Pod名称都是随机性的。并且在缩

2020-08-21 12:09:05 2605

原创 Kubernetes数据持久化之Storage Class(自动创建PV)

通过博文Kubernetes数据持久化可以了解到Kubernets实现数据持久化的流程为:搭建NFS底层存储——>创建PV——>创建PVC——>创建pod 最终将pod中的container实现数据的持久化!从上述流程中,看似没有什么问题,但是仔细研究就会发现:PVC在向PV申请存储空间时,是根据指定PV的名称、访问模式、容量大小来决定具体向哪个PV申请空间的。打比方说:如果PV的容量是20G,定义的访问模式是WRO(只允许以读写的方式挂载到单个节点),而PVC申请的存储空间为10G,

2020-08-21 07:52:42 921

原创 Kubernetes数据持久化

在k8s中,Volume(数据卷)存在明确的生命周期(与包含该数据卷的容器组(pod)相同)。因此Volume的生命周期比同一容器组(pod)中任意容器的生命周期要更长,不管容器重启了多少次,数据都被保留下来。当然,如果pod不存在了,数据卷自然退出了。此时,根据pod所使用的数据卷类型不同,数据可能随着数据卷的退出而删除,也可能被真正持久化,并在下次容器组重启时仍然可以使用。从根本上来说,一个数据卷仅仅是一个可以被pod访问的目录或文件。这个目录是怎么来的,取决于该数据卷的类型(不同类型的数据卷使用不同

2020-08-19 19:27:13 613

原创 Kubernetes 常用命令总结

获取所有命名空间上的podkubectl get pod -o wide --all-namespaces查看pod IP时使用kubectl get services查看dsecp-sso-server-w5tx2 日志kubectl describe --namespace=default po dsecp-sso-server-w5tx2通过yaml文件创建:kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete)kubectl appl

2020-08-18 17:42:51 253

原创 Kubernetes——Job与CronJob

一、Job(1)Job概述Job负责处理短暂的一次性任务,即仅执行一次的任务,它保证批处理任务的一个或多个pod成功结束。Kubernetes支持以下几种Job:非并行Job:通常创建一个Pod直到其成功结束;固定结束次数的Job:在spec字段下添加completions字段。创建多个Pod,直到满足completions规定的数值。如果不添加的话,默认情况下是1个;带有工作队列的并行Job:在spec字段下添加Parallelism字段。表示几个job同时并行工作。如果不添加的话,默认情况下

2020-08-17 16:34:28 692

原创 Kubernetes——标签与Pod控制器详解

一、标签标签的主要作用:解决同类型的资源对象越来越多,为了更好的管理,按照标签分组;**常用的标签分类:**release(版本):stable(稳定版)、canary(金丝雀版本、可以理解为测试版)、beta(测试版)environment(环境变量):dev(开发)、qa(测试)、production(生产)application(应用):ui、as(应用软件)、pc、sctier(架构层级):frontend(前端)、backend(后端)、cache(缓存、隐藏)partition(

2020-08-17 14:33:58 466

原创 Kubernetes ——Namespace+ pod详解

一、Namespace1)Namespace概述Namespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组。常见的pods, services, replication controllers和deployments等都是属于某一个namespace的(默认是default),而node, persistentVolumes等则不属于任何namespace。Namespace常用来隔离不同的用户,比如Kubernetes自带的服务一般运行在kube-syst

2020-08-16 14:57:13 3441

原创 kubernetes用label控制pod的位置

如果不指定pod的位置的话,默认情况下,是由K8s中scheduler这个组件来完成的,不能人为的干预。如果是业务需要手动指定的话,那么就需要以下方法:[root@master yaml]# kubectl label nodes node02 disk=ssd//手动给node02打上一个 disk=ssd的标签[root@master yaml]# kubectl get nodes --show-labels | grep disk=ssd//查看集群中各个节点的标签(包含disk=ssd)

2020-08-15 09:18:05 663

原创 kubernetes 服务回滚到指定的版本

通过kubernetes资源对象的升级、回滚、扩容、缩容可以了解到kubernetes版本升级、回滚的操作与docker swarm几乎是一样的。回滚操作只能回滚到上一个版本。搭建私有仓库,使用镜像制作自定义镜像(三个版本),根据主页内容进行区分,将自定义镜像上传到私有仓库中[root@master ~]# docker run -itd --name resqistry --restart always -p 5000:5000 registry:2[root@master ~]# docker p

2020-08-14 18:04:58 2430

原创 kubernetes资源对象的升级、回滚、扩容、缩容

一、资源创建的方式之一,命令的方式创建资源,理解命令运行之后的动作,通过查看资源的方式,总结Pod名称的由来。当我们执行创建资源的命令后,deployment这个控制器会通过replicaset控制器去管理pod,下面通过一个实例来分析,当我们执行创建资源的命令后,k8s都做了些什么(通过其NAME即可发现规律)?运行一个deployment[root@master ~]# kubectl run test01 --image=nginx:latest --replicas=2#运行一个nginx容

2020-08-13 17:28:08 275

原创 kubernetes使用YAML的方式管理Kubernetes资源

在K8s中创建资源的方式有两种:命令行和YAML文件,本次博文主要介绍使用YAML文件的方式,如需使用命令行创建资源请参考kubernetes使用命令行的方式管理Kubernetes资源(升级、回滚、扩容、缩容)一、YAML文件基础YAML是专门用来配置文件的语言,非常简洁和强大。与了解的properties、XML、json等数据格式,习惯之后就会发现越来越好用。其实YAML就是结合了大部分的标记语言的特性,整合新开发的。YAML文件的特点:层次分明、结构清晰;使用简单、上手容易;功能强大、

2020-08-13 11:54:54 493

原创 kubernetes使用命令行的方式管理Kubernetes资源

了解Kubernetes的朋友,可能都听过这样一句话:Kubernetes中一切皆是资源!一、资源的创建与删除[root@master ~]# kubectl run test --image=nginx:latest --replicas=5//基于nginx的镜像创建一个deployment类型的控制组,名称为test,并指定副本数量为5[root@master ~]# kubectl get deployments. //查看deployment控制器NAME READY

2020-08-12 17:25:41 287

原创 kubernetes的部署架构以及工作原理

kubernetes 整体架构Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统,所以整体的架构和borg很相似,整个架构有api server,control manager,scheduler,etcd,kubelet,kube-proxy,network-plugin等相关组件完成,整体架构如下:其中:Api server,Control manager,Scheduler,Etcd属于master节点,相关组件功能如下:1.Etcd:保存了整个集群的状

2020-08-12 17:12:36 535

原创 Centos 7使用kubeadm部署Kubernetes 1.15

一、Kubernetes简介Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化应用。Kubernetes的目标就是让部署容器化的应用简单并且高效。Kubernetes提供了应用部署、规划、更新、维护的一种机制。Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行,管理员可以加载一个微型服务,让规划期来找到合适的位置,同时,Kubernetes也系统提升工具以及人性化方面,让用户能够方便的部署自己的应用。本片博文主要介绍如何部署Kubern

2020-08-11 14:10:56 289

原创 docker——部署Docker swarm集群

一、Docker swarm简介Docker swarm与docker-compose一样,都是docker官方推出的docker容器的编排工具。但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对于微服务的部署,显然 Docker Swarm 会更加适合。Docker swarm:其作用就是把若干个Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docke

2020-08-10 18:10:02 1228

原创 Docker——配置Consul+registrator实时服务发现

Consul:是用于服务发现和配置的工具。Consul是分布式的,高度可用的,并且具有极高的可伸缩性,它是一个一个分布式的、高可用的系统,而且开发使用都很简单、方便、它主要提供了一个功能齐全的控制平台,主要特点:服务发现、健康检查、键值存储、安全服务通信、多数据中心;Registrator:负责收集docker host上容器的信息,并发送给consul;Consul-tpmplate:根据编辑好的模板生成新的nginx配置文件,并负责重新加载nginx配置文件;一、环境准备系统版本主.

2020-08-08 16:53:23 554

原创 Docker——自带的监控+sysdig+scope+prometheus

一、docker自带的监控命令首先通过几个镜像运行几个容器:[root@localhost ~]# docker pull httpd[root@localhost ~]# docker pull centos[root@localhost ~]# docker pull busybox[root@localhost ~]# docker run -d -p 80 --name http-1 httpd[root@localhost ~]# docker run -dit --name busy

2020-08-07 14:50:22 2053 1

原创 Docker——三剑客之docker-compose

一、Docker-Compose简介Compose是用于定义和运行容器docker应用程序的工具。通过Compose,可以使用YAML文件来配合应用程序需要的所有的服务。然后,使用一个命令,就可以从YAML文件配合中创建并启动所有服务。那么就需要了解YAML文件的基本语法。YAML文件基本语法:大小写敏感;使用缩进表示层级关系;缩进不允许使用tab,只允许空格;缩进的空格数不重要,只要相同等级的元素左对齐即可;“#”表示注释;Docker-Compose是一个容器编排工具。通过一个.ym

2020-08-06 15:45:00 296

原创 Docker——分离部署LNMP

一、环境准备centos 7.5服务器一台,运行docker服务;关于docker服务的安装,参考博文:docker——简介+安装+基础命令+镜像加速+dockerfile案例环境:在一台docker 主机上安装即可!预设环境如图:网路类型名称ip地址Nginx自定义网卡(LNMP)Nginx200.0.0.10Mysql自定义网卡(LNMP)Mysql200.0.0.20php自定义网卡(LNMP)Phpfpm200.0.0.30搭建

2020-08-05 14:43:27 493

原创 Docker——数据持久化

在了解Docker数据持久化之前,需要对Docker的存储类型有一个简单的了解,执行以下命令即可看出:[root@docker01 ~]# docker info //查看Docker的详细信息Containers: 1 //一共有几个容器 Running: 1 //正在运行的有几个容器 Paused: 0 //挂起、暂停的有几个容器 Stopped: 0

2020-08-04 17:39:34 792

原创 Docker——网络管理+docker跨主机通信

当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识。Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分。因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求。本文首先介绍了Docker自身的4种网络工作方式,然后介绍一些自定义网络模式。一、Docker的原生网络当你安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、

2020-08-01 18:15:58 720

原创 Docker——搭建私有仓库registry+Harbor

随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库。目前常用的两种仓库:公共仓库和私有仓库。最方便的就是使用公共仓库上传和下载,下载公共仓库的镜像是不需要注册的,但是上传时,是需要注册的。私有仓库最常用的就是registry、Harbor两种,那接下来详细介绍如何创建私有仓库。一、搭建registry私有仓库1)案例描述两台docker服务器,dockerA创建registry私有仓库,dockerB用于测试!2)案例实例(1)DockerA服务器的操作[root@do

2020-07-30 10:47:00 604

原创 docker——dockerfile理论+构建httpd+sshd+systemctl+Nginx+Tomcat+MySQL镜像

Dockerfile概述Dockerfile是docker中镜像文件的的描述文件,说的直白点就是镜像文件到底是由什么东西一步步构成的。例如:你在淘宝上买了一个衣架,但是卖家并没有给你发一个完整的衣架,而是一些组件和一张图纸,你按照这个图纸一步一步将衣架组装起来,就成了你所需要的样子。那么Dockerfile 就是这张图纸,镜像文件就是你需要的这个衣架,Dockerfile 不建议随便命名,就用 Dockerfile。因此,Dockerfile其内部包含了一条条的指令,每一条指令构建一层,因此每一条指

2020-07-28 18:19:06 486 1

原创 Docker——一张架构图让你了解docker工作原理

首先Docker是基于Go语言进行开发的,而且是基于C/S结构进行工作的,如图:从图中可以看出:(1)用户是使用Docker Client与Docker Daemon建立通信,并发送请求给后者;(2)Docker Daemon作为Docker架构中的主体部分,首先提供Server的功能使其可以接受Docker Client的请求;而后Engine(引擎)执行Docker内部的一系列工作,每一项工作都是以一个Job的形式存在;(3)Job的运行过程中,当需要容器镜像时,则从Docker Regist

2020-07-25 12:04:46 2092 1

原创 docker——基于centos:7镜像运行一个容器,并且在这个容器内部署Nginx服务

环境准备: 两台centos7,都需要开启docker服务, docker1 192.168.10.52 docker2192.168.10.53两台服务器都要看到上图信息,代表docker服务已运行docker1上的操作1).下载镜像,并查看2).运行容器3)进入容器,开始部署nginx服务。——————————————————————————————————————————————————————————————————————————————————————————.

2020-07-24 15:04:43 998

原创 Docker—— 命令总结

**一、Docker镜像操作基础命令**[root@localhost ~]# docker search 镜像名称 //搜索镜像(在docker hub官网上进行查找)[root@localhost ~]# docker pull 镜像名称 //下载镜像(如果不指定镜像标签默认下载最新版的镜像)[root@localhost ~]# docker push 仓库名称/仓库账号/镜像名称 //上传镜像[root@localhost ~]# do

2020-07-24 13:46:58 117

原创 docker——NameSpace与Cgroup介绍+内存、磁盘、cpu限制

Namespace概念虚拟化的技术就是用来解决宿主机与虚拟机之间的耦合问题(简称“解耦”),传统虚拟化技术是属于完全解耦的,而docker这种虚拟化技术是属于半解耦的。耦合:就是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象;解耦:接触耦合、冲突现象;Docker是如何解耦的呢?这就需要使用到——Namespace(命名空间)。Namespace(命名空间):是Linux为我们提供的用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法。Namespace(命

2020-07-23 08:46:14 696

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除