- 博客(83)
- 收藏
- 关注
原创 k8s部署java项目
k8s部署java项目拉取halo镜像[root@master ~]# docker pull halohub/halo:1.4.161.4.16: Pulling from halohub/halof3ef4ff62e0d: Pull complete 706b9b9c1c44: Pull complete 76205aac4d5a: Pull complete 5339a2f9d7c6: Pull complete 5046244cf427: Pull complete 6f2d87d
2021-12-27 23:19:11
407
原创 k8s暴露端口与代理方式
文章目录service1.1 Service简介1.2 VIP和Service代理1.3 不使用 DNS 轮询的原因1.4 iptables 代理模式1.5 IPVS 代理模式服务类型代理方式代理模式:userspace代理模式:iptablesservice的类型操作service1.1 Service简介Kubernetes Service定义了这样一种抽象:逻辑上的一组 Pod,一种能够访问它们的策略 —— 一般被称为微服务。这一组 Pod 可以被 Service 访问到,一般是经过 selec
2021-12-26 22:15:11
613
原创 k8s工作负载
k8s工作负载型控制器工作负载是在kubernetes上运行的应用程序。无论你的负载是单一组件还是由多个一同工作的组件构成,在Kubernetes中你可以在一组Pods中运行它。在Kuberneres中,pod代表的是集群上处于运行状态的一组容器。Kubernetes Pods有确定的生命周期。例如,当某Pod在你的集群中运行时,Pod运行所在的节点出现致命错误时,所有该节点上的Pods都会失败。Kubernetes将这类失败视为最终状态:即使该节点后来恢复正常运行,你也需要创建新的Pod来恢复应用。
2021-12-24 23:17:11
1904
原创 k8s资源调度
k8s资源调度文章目录k8s资源调度nodeSelectornodeAffinitytainttolerationsk8s基本架构如下Scheduler调度器做为Kubernetes三大核心组件之一, 承载着整个集群资源的调度功能,其根据特定调度算法和策略,将Pod调度到最优工作节点上,从而更合理与充分的利用集群计算资源。其作用是根据特定的调度算法和策略将Pod调度到指定的计算节点(Node)上,其做为单独的程序运行,启动之后会一直监听API Server,获取PodSpec.NodeName为空的P
2021-12-23 23:29:27
296
原创 资源定义haproxy负载均衡
K8s资源定义haproxy先提前做出两个运行httpd程序的pod,其中默认的index.html文件不一样httpd1[root@master opt]# vim httpd1/DockerfileFROM busybox RUN mkdir /data && echo 'hello2' > /data/index.htmlCMD ["/bin/httpd","-f","-h","/data"][root@master opt]# docker build -
2021-12-22 22:39:13
118
原创 K8s资源定义haproxy
K8s资源定义haproxy先提前做出两个运行httpd程序的pod,其中默认的index.html文件不一样httpd1[root@master opt]# vim httpd1/DockerfileFROM busybox RUN mkdir /data && echo 'hello2' > /data/index.htmlCMD ["/bin/httpd","-f","-h","/data"][root@master opt]# docker build -
2021-12-21 23:39:30
408
原创 kubectl命令
kubectl命令文章目录kubectl命令kubectl命令使用createrundeleteexposegeteditscaleautoscalecluster-infodraindescribelogsattachexecport-forwardcplabelapi-resourcesapr-versionsdeploument基础命令create通过文件名或标准输入创建资源;expose为Deployment,Pod创建Service;run在集群中运行一
2021-12-20 20:33:59
1633
原创 pod分类,k8s核心组件、网络模型
文章目录pod的分类自我管理的pod控制器管理的pod常见的pod控制器kubernetes的核心组件HPAserviceAddOns附件dns podkubernetes网络模型kubeconfig配置文件kubectl命令kubectl命令使用pod的分类pod分为两种类型:一种为自主式pod,一种为控制器管理的pod自我管理的pod创建以后仍然需要提交给apiserver,由apiserver接收以后借助于调度器将其调度至指定的node节点,由node启动此pod,如果此pod出现故障,需要重
2021-12-19 19:26:56
490
原创 k8s集群部署
k8s集群部署kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:# 创建一个 Master 节点$ kubeadm init# 将一个 Node 节点加入到当前集群中$ kubeadm join <Master节点的IP和端口>官网:Kubernetes官方文档:Kubernetes Documentation |Kubernetes环境说明:主机IP硬盘mas
2021-12-18 20:44:16
412
原创 kubernetes简介
kubernetes文章目录kubernetes介绍特性架构专业术语介绍kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的
2021-12-17 19:55:17
179
原创 docker-compose语法
docker-compose语法一份标准配置文件应该包含 version、services、networks 三大部分,其中最关键的就是 services 和 networks 两个部分,下面先来看 services 的书写规则。imageservices: web: image: hello-world在 services 标签下的第二级标签是 web,这个名字是用户自己自定义,它就是服务名称。image 则是指定服务的镜像名称或镜像 ID。如果镜像在本地不存在,Compose 将
2021-12-16 20:58:21
1340
原创 Harbor
私有仓库Harbor部署文章目录私有仓库Harbor部署Docker RegistryHarborHarbor部署:安装docker安装docker-compose搭建Harbor浏览器访问Docker Registry网上有很多的Registry服务器都支持第三方用户注册,而后基于用户名去做自己的仓库,但是使用互联网上的Registry有一个缺陷,那就是我们去推送和下载镜像时都不会很快,而在生产环境中很可能并行启动的容器将达到几十、上百个,而且很有可能每个服务器本地是没有镜像的,此时如果通过互联网去
2021-12-16 20:57:26
1166
原创 podman
podman文章目录podman什么是podman?概述和范围路线图podman的安装poman 的常用命令:普通用户使用podman的方式什么是podman?官网 podman (podman.io) Podman是一个开源项目,可以在大多数Linux平台上使用,可将代码放在[GitHub]上。Podman 是一个无守护容器引擎,用于在 Linux 系统上开发、管理和运行开放容器计划 (OCI) 容器和容器映像。Podman 提供了一个与 Docker 兼容的命令行前端,可以简单地别名
2021-12-14 18:49:23
251
原创 通过Dockerfile 基于alpine系统制作 HAProxy 镜像
通过Dockerfile 基于alpine系统制作 HAProxy 镜像提前通过docker run运行两台Apache镜像[root@localhost ~]# docker run -it -d --name web1 luojiatian1904/httpd[root@localhost ~]# docker run -it -d --name web2 luojiatian1904/httpd[root@localhost ~]# docker ps -aCONTAINER ID IM
2021-12-12 22:11:00
1888
原创 通过Dockerfile 基于centos系统制作 HAProxy 镜像
基于 Dockerfile 制作 HAProxy 镜像提前通过docker run运行两台Apache镜像[root@localhost ~]# docker run -it -d --name web1 luojiatian1904/httpd[root@localhost ~]# docker run -it -d --name web2 luojiatian1904/httpd[root@localhost ~]# docker ps -aCONTAINER ID IMAGE
2021-12-10 20:37:08
1381
原创 Dockerfile
Dockerfile文章目录Dockerfile基本结构指令FROMLABEL MAINTAINERRUNCMDEXPOSEENVADDCOPYENTRYPOINTVOLUMEUSERWORKDIRONBUILD创建镜像编写源码安装apache的Dockerfile文件基本结构Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义镜像。Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。Docker分为四部分:基础镜像信息维护
2021-12-07 19:28:14
87
原创 docker存储卷
docker存储卷文章目录docker存储卷CoW机制什么是存储卷使用存储卷的好处为什么要用存储卷存储卷管理方式存储卷的分类容器数据管理在容器中使用数据卷CoW机制Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,这就是“写时复制(CoW)”机制。图片1对于这种方式来说,我们去访
2021-12-06 21:53:38
108
原创 docker网络的配置
docker网络的配置Linux内核实现名称空间的创建ip netns命令可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装。注意:ip netns命令修改网络配置时需要 sudo 权限。可以通过ip netns命令完成对Network Namespace 的相关操作,可以通过ip netns help查看命令帮助信息:[root@localhost ~]# ip ne
2021-12-05 19:53:11
452
原创 docker容器网络
文章目录docker容器网络docker的4种网络模式bridge模式container模式host模式none模式docker容器lnmpdocker容器网络Docker在安装后自动提供3种网络,可以使用docker network ls命令查看[root@localhost ~]# docker network lsNETWORK ID NAME DRIVER SCOPE9692fae45042 bridge bridge localcd5368439
2021-12-03 23:23:09
124
原创 docker容器虚拟化
docker容器虚拟化网络虚拟化网络Network Namespace 是 Linux 内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己都在独立的网络中。而且不同Network Namespace的资源相互不可见,彼此之间无法通信。假如我们的物理机有4块物理网卡,我们要创建4个名称空间,而这些设备是可以单独关联至某个单独的名称空间使用的如上图所示,把第一块网卡分配给第一个名称空间,第二块分给第二个名称空间,第三块
2021-12-03 22:35:42
72
原创 docker镜像管理基础
文章目录docker镜像镜像的概念docker镜像层docker存储驱动AUFSOverlayFSDeviceMapperdocker registrydocker镜像的制作Docker Hubdocker镜像的获取镜像的生成基于容器制作镜像镜像的导入与导出docker镜像镜像的概念镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。docker镜像采用分层构建机制,最底层为bootfs,其上为rootfs
2021-12-02 22:05:25
90
原创 docker基础用法
文章目录docker的基础用法docker安装docker常用操作docker event statedocker操作示例docker的基础用法说明:Docker使用C/S体系的架构,Docker客户端与Docker守护进程通信,Docker守护进程负责构建,运行和分发Docker容器。Docker客户端和守护进程可以在同一个系统上运行,也可以将Docker客户端连接到远程Docker守护进程。Docker客户端和守护进程使用REST API通过unix套接字或网络接口进行通信。下面是Docker核
2021-12-01 20:53:35
1106
原创 docker和LXC简介
文章目录1、什么是LXC2、什么是dockerdocker工作方式Docker产生的背景1、什么是LXCLXC(LinuX Container)简称Linux的容器,是世界上第一个容器应用。它将容器技术做的更加易用了,把用到的容器功能做成一种工具,简化了用户使用容器的麻烦。但由于使用LXC还需重新学会LXC的命令工具,复杂程度依旧不小,隔离性也没有虚拟机那么强大。2、什么是docker所以后来便出现了docker。docker不是容器,它属于容器的管理工具。docker是一个开源的应用容器引擎,
2021-11-30 21:53:35
1901
原创 saltstack进阶
文章目录1. masterless1.1 应用场景1.2 masterless配置1.2.1 修改配置文件minion1.2.2 关闭salt-minion服务1.2.3 salt-call2. salt-master高可用2.1 salt-master高可用配置2.2 salt-master高可用之数据同步1. masterless1.1 应用场景master 与 minion 网络不通或通信有延迟,即网络不稳定想在 minion 端直接执行状态传统的 SaltStack 是需要通过 mas
2021-11-29 19:53:12
624
原创 Saltstack之salt-ssh
文章目录Saltstack之salt-sshsalt-ssh介绍salt-ssh的特点salt-ssh远程管理的方式salt-ssh管理通过使用用户名密码的SSH实现远程管理通过salt-ssh安装salt-minionSaltstack之salt-sshsalt-ssh介绍salt-ssh可以让我们不需要在受控机上安装salt-minion客户端也能够实现管理操作。salt-ssh的特点远程系统需要Python支持,除非使用-r选项发送原始ssh命令salt-ssh是一个软件包,需安装之后才
2021-11-29 18:43:25
173
原创 Prometheus部署
Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。Prometheus 于2016年加入了 Cloud Native Computing Foundation,这是继Kubernetes之后的第二个托管项目。官网:https://prometheus.ioExporter是一个采集监控数据并通过Prometheus监控规范对外提供数据的组件,能为Prometheus提
2021-11-25 17:33:27
445
原创 saltstack系统初始化状态文件编写
saltstack系统初始化状态文件编写文章目录saltstack系统初始化状态文件编写selinuxfirewalld时间同步chronykernel文件描述符historyyum源基础命令zabbix-agent[root@master base]# tree init/init/├── chrony│ ├── files│ │ └── chrony.conf│ └── main.sls├── firewalld│ └── main.sls├── history
2021-11-14 16:50:34
164
原创 saltstack部署lnmp
saltstack部署lnmp文章目录saltstack部署lnmp设置变量目录树nginxmysqlphplnmp结果设置变量修改配置文件[root@master ~]# vim /etc/salt/master# highstate format, and is generally just key/value pairs.pillar_roots: ##添加该内容 base: - /srv/pillar/base prod: - /srv/pillar/pro
2021-11-11 22:57:35
1863
原创 Saltstack部署zabbix
文章目录Saltstack部署zabbix目录树先部署LAMP架构PHP安装部分/srv/salt/prod/modules/application/php/install.sls/srv/salt/prod/modules/application/php/files/install.sh/srv/salt/prod/modules/application/php/files/php.ini/srv/salt/prod/modules/application/php/files/php-fpm.servic
2021-11-10 22:22:43
1971
原创 SaltStack return与job管理
文章目录1. SaltStack组件之return1.1 return流程1.2 使用mysql作为return存储方式2. job cache2.1 job cache流程3. job 管理1. SaltStack组件之return return组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过return我们可以对SaltStack的每次操作进行记录,对以后日志审计
2021-11-07 21:11:01
103
原创 SaltStack常用的模块
文章目录1.saltstack模块介绍2. SaltStack常用模块2.1 SaltStack常用模块之network2.1.1 network.active_tcp2.1.2 network.calc_net2.1.3 network.connect2.1.4 network.default_route2.1.5 network.get_fqdn2.1.6 network.get_hostname2.1.7 network.get_route2.1.8 network.hw_addr2.1.9 netw
2021-11-03 18:09:17
239
原创 SaltStack数据系统
文章目录1. SaltStack数据系统2. SaltStack数据系统组件2.1 SaltStack组件之Grains2.2 SaltStack组件之Pillar2.3 pillar自定义数据2.4 Grains与Pillar的区别1. SaltStack数据系统SaltStack有两大数据系统,分别是:GrainsPillar2. SaltStack数据系统组件2.1 SaltStack组件之GrainsGrains是SaltStack的一个组件,其存放着minion启动时收集到的信息
2021-11-02 19:00:33
215
原创 saltstack配置管理
文章目录1. YAML语言2. 用SaltStack配置一个apache实例2.1 在Master上部署sls配置文件并执行2.2 在Minion上检查2.3 当在其他环境下执行时3. top file3.1 top file介绍3.2 高级状态highstate的使用1. YAML语言YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。它类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。AML的
2021-11-02 17:19:14
123
原创 SaltStack入门
1 saltstack介绍1.1 自动化运维工具作为一个运维人员,很大一部分工作是在业务的配置管理和状态维护以及版本发布上,而当业务场景及公司规模上了一定规模后,人为手工的去做这些工作将变得极其困难,此时我们将需要利用一些自动化运维的工具来达到批量管理的目的。常用的自动化运维工具有:puppetansiblesaltstack此三款属同类工具,皆可用来提高运维管理的效率,但它们又各有优势,目前主流的自动化运维工具是ansible和saltstack。其中ansible无需安装客户端,这是其
2021-11-01 18:58:36
95
原创 Nginx实现动静分离
Nginx实现动静分离简介反向代理与负载均衡nginx通常被用作后端服务器的反向代理,这样就可以很方便的实现动静分离以及负载均衡,从而大大提高服务器的处理能力。nginx实现动静分离,其实就是在反向代理的时候,如果是静态资源,就直接从nginx发布的路径去读取,而不需要从后台服务器获取了。但是要注意,这种情况下需要保证后端跟前端的程序保持一致,可以使用Rsync做服务端自动同步或者使用NFS、MFS分布式共享存储。Http Proxy模块,功能很多,最常用的是proxy_pass和proxy_
2021-10-31 17:09:41
1487
原创 zabbix监控nginx
zabbix监控nginx status开启状态界面开启status:[root@localhost conf]# vim nginx.conf location / { root html; index index.html index.htm; } location /status { stub_status; }[root@localhost conf]# ngi
2021-10-28 21:25:04
1201
原创 平滑处理.
平滑升级1、获取现有的程序编译的参数 -V[root@localhost nginx-1.20.1]# /usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.20.1built by gcc 8.5.0 20210514 (Red Hat 8.5.0-3) (GCC) built with OpenSSL 1.1.1k FIPS 25 Mar 2021TLS SNI support enabledconfigure arguments: -
2021-10-27 21:48:01
287
原创 lnmp部署
lnmp源码部署文章目录lnmp源码部署简介特点优点准备安装包解压关闭防火墙nginx安装mysql安装PHP安装nginx配置php配置重启所有服务访问测试简介LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器
2021-10-26 19:38:33
94
原创 nginx
文章目录nginx简介特性与优点特性优点功能及应用类别基本功能扩展功能应用类别模块与工作原理模块分类工作原理安装与配置安装配置nginx的配置文件详解nginx.conf配置详解用于调试、定位问题的配置参数nginx简介nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器,并在一个BSD-like协议下发行。支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是 Ngin
2021-10-25 20:54:57
332
原创 长连接与短连接
长连接与短连接长连接定义某些情况下,如果Client有很多数据要传给Server或者从Server获取,就不甘心于只是发送几个请求,在相当长(几秒,几分钟,甚至几个小时)的时间内,都不会调用close()关闭连接(我们称:Client端hold住了连接);而且为了防止Server有空闲连接超时断开的机制,通常Client会每隔几秒发一个心跳包告诉Server自己还活着。这就是长连接。短连接定义一般情况下,Client成功连接到Server后,会发送1个或几个请求,收到Server端1个或几个应答;然
2021-10-24 20:30:22
221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人