- 博客(83)
- 收藏
- 关注
原创 k8s之Service服务类型
Service服务类型Service代理模式Service存在的意义service引入主要是解决Pod的动态变化,提供统一访问入口:防止Pod失联,准备找到提供同一个服务的Pod(服务发现)定义一组Pod的访问策略(负载均衡)Pod与Service的关系:Service通过标签关联一组PodService使用iptables或者ipvs为一组Pod提供负载均衡能力Kubernetes 中Service有如下4中类型:ClusterIP:默认类型,自动分配一个仅 Cluste
2021-12-27 00:22:37
2454
原创 k8s常用工作负载
k8s常用工作负载工作负载控制器(Workload Controllers)时k8s的一个抽象的概念,用于更高级层次对象,部署和管理Pod,常用于工作负载控制器:Deployment:无状态应用部署StatefulSet:有状态应用部署DaemonSet:确保所有node运行同一个podjob:一次性任务Cronjob:定时任务控制器的作用:管理pod对象使用标签与pod关联控制器实现了pod的运维,列如滚动更新、伸缩、副本管理、维护pod状态等。Deployment的功能:管理po
2021-12-25 00:15:13
2499
原创 k8s之pod调度
k8s pod调度容器资源限制:resources.limits.cpu 最多resources.limits.memory容器使用的最小资源需求,作为容器调度时资源分配的依据resources.requests.cpuresources.requests.memory 最少节点选择器nodeSelector:用于将pod调度匹配label的node上,如果没有匹配标签会调度失败作用:约束Pod到到指定的节点运行完全匹配节点标签应用场景:专用节点:根据业务线将node分组管
2021-12-24 01:07:15
1479
原创 资源定义创建haproxy
资源定义创建haproxy[root@master manifest]# cat deployment4.yaml---apiVersion: v1kind: Podmetadata: name: haproxyspec: restartPolicy: Always containers: - image: sktystwd/haproxy:v0.1 imagePullPolicy: IfNotPresent name: haproxy livenessP
2021-12-23 00:38:00
544
原创 k8s资源编排
资源编排语法:缩进表示层级关系不支持制表符"tab"缩进,使用空格缩进通常开头缩进2个空格字符后缩进一个空格,如冒号,逗号“—” 表示yaml格式,一个文件的开头“#“ 注释创建目录[root@master opt]# mkdir manifest[root@master opt]# lsmanifest查看deployment类型资源编排怎么定义deployment类型[root@master ~]# kubectl explain deploymentKIND:
2021-12-22 01:21:05
350
原创 k8s常用命令(增)
k8s常用命令(增)修改标签edit[root@master ~]# kubectl run nginx --image nginx --labels "app=test"pod/nginx created[root@master ~]# kubectl get podsNAME READY STATUS RESTARTS AGEnginx 1/1 Running 0 34s
2021-12-21 00:10:03
1635
原创 k8s常用命令
k8s常用命令pod分类自主式Pod知我管理的pod,创建以后任然需要提交给apiserver,由apiserver就收后借助于调度器至指定的node节点,由node启动pod,如果pod出现故障,重启容器由kubectl来完成,如果node节点出现故障,那么pod将消失。控制器管理的pod常见的pod控制器RepilcationController当启动一个pod时,这个pod如果不够用可以启动一个副本,而后由控制器来管理同一类型pod的各种副本与对象。一旦副本少了就会自动增加,采取多退少补
2021-12-20 00:36:37
1374
原创 Kubernetes快速部署
Kubernetes快速部署kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:-至少3台机器,操作系统 CentOS7+硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘20GB或更多集群中所有机器之间网络互通可以访问外网,需要拉取镜像禁止swap分区环境:主机IP地址master192.168.244.146node1192.168.244.1
2021-12-18 23:20:53
175
原创 Kubernetes简介
Kubernetes简介Kubernetes是Google 2014年创建管理的,是Google 10多年大规模容器管理技术Borg的开源版本。它是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。通过Kubernetes你可以:快速部署应用快速扩展应用无缝对接新的应用功能节省资源,优化硬件资源的使用Kubernetes 特点:可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)可扩展: 模块化, 插件化, 可挂载, 可组合
2021-12-17 22:39:36
779
原创 搭建容器私有创库Harbor
搭建容器私有创库Harbor安装docker关闭防火墙和selinux[root@localhost ~]# systemctl disable --now firewalldRemoved /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.[root@localhost ~]# v
2021-12-17 00:36:07
184
原创 podman用户配置
podman用户配置podman普通用户创建容器先关闭防火墙和selinux[root@localhost ~]# systemctl disable enable firewalldRemoved /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.关闭selinux[root@l
2021-12-16 00:43:02
3151
原创 podman安装与简单使用
podman安装与简单使用简介:Podman是一个开源项目,可在大多数Linux平台上使用并开源在GitHub上。Podman是一个无守护进程的容器引擎,用于在Linux系统上开发,管理和运行Open Container Initiative(OCI)容器和容器镜像。Podman提供了一个与Docker兼容的命令行前端,它可以简单地作为Docker cli,简单地说你可以直接添加别名:alias docker = podman来使用podman。Podman控制下的容器可以由root用户运行,也可以由
2021-12-15 00:12:23
741
原创 dockerfile制作haproxy镜像
dockerfile制作haproxy镜像树结构[root@server1 ~]# tree haproxy/haproxy/|-- 1|-- Dockerfile`-- files |-- haproxy-2.4.0.tar.gz |-- haproxy.cfg |-- install.sh |-- start.sh `-- sysctl.conf编写Dockerfile[root@server1 ~]# cat haproxy/Dockerfi
2021-12-11 01:22:50
1905
原创 dockerfile
dockerfile基本结构Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义镜像。Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。Docker分为四部分:基础镜像信息维护者信息镜像操作指令容器启动时默认要执行的指令例如:# This dockerfile uses the ubuntu image# VERSION 2 - EDITION 1# Author: seancheng# Command
2021-12-10 00:02:24
114
原创 docker存储卷
docker存储卷COW机制COW机制Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,这就是“写时复制(COW)”机制。对于这种方式来说,我们去访问一个文件,修改和删除等一类的操作,其效率会非常的低,因为隔着很多层镜像。而要想绕过这种限制,我们可以通过使用存储卷的机制来实现。
2021-12-08 00:34:57
382
原创 nginx容器配置文件独立
nginx容器配置文件独立创建一个容器[root@server1 ~]# docker run -it --name nginx1 -v /opt/data/web2:/web -p 81:80 centos:latest /bin/bash[root@608de4875036 /]# 进入web目录,下载nginx包[root@608de4875036 web]# wget http://nginx.org/download/nginx-1.20.1.tar.gz解压目录[root
2021-12-08 00:24:27
355
原创 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
2021-12-06 00:56:19
1709
原创 docker构建lnmp
创建nginx容器拉取镜像[root@localhost ~]# docker pull centosUsing default tag: latestlatest: Pulling from library/centosa1d0c7532777: Pull complete Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177Status: Downloaded newer image
2021-12-04 01:32:34
1343
原创 docker容器网络
docker容器网络docker容器网络Docker在安装后自动提供3种网络,可以使用docker network ls命令查看[root@localhost ~]# docker network lsNETWORK ID NAME DRIVER SCOPE6cf45e2c0e7d bridge bridge localb11e58ca673a host host localf023a89f7f92 none nul
2021-12-04 01:32:13
136
原创 docker镜像管理基础
docker镜像管理基础镜像的概念镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。docker镜像采用分层构建机制,最底层为bootfs,其上为rootfsbootfs:用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节约内存资源rootfs:位于bootfs之上,表现为docker容器的根文件系统传统模式中,系统启动之时,内核挂载rootfs会首先将其挂
2021-12-03 01:11:42
169
原创 docker部署及简单使用
docker部署及简单使用配置docker源[root@localhost yum.repos.d]# curl -o docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo % Total % Received % Xferd Average Speed Time Time Time Current
2021-12-01 23:29:52
2266
原创 docker简介
docker简介什么是LXC?LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。与传统虚拟化技术相比,它的优势在于:(1)与宿主机使用同一个内核,性能损耗小;(2)不需要指令级模拟;(3)不需要即时(Just-in-time)编译;(4)容器可以在CPU核心的本地运行指
2021-11-30 23:45:16
475
原创 saltstack进阶
saltstack进阶masterless应用场景master 与 minion 网络不通或通信有延迟,即网络不稳定想在 minion 端直接执行状态传统的 SaltStack 是需要通过 master 来执行状态控制 minion 从而实现状态的管理,但是当网络不稳定的时候,当想在minion本地执行状态的时候,当在只有一台主机的时候,想执行状态该怎么办呢?这就需要用到 masterless 了。有了masterless,即使你只有一台主机,也能玩saltstack,而不需要你有N台主机架
2021-11-30 23:39:43
158
原创 saltstack-ssh
saltstack-sshsalt-ssh功能salt-ssh可以让我们不需要在受控机上安装salt-minion客户端也能够实现管理操作salt-ssh的特点远程系统需要Python支持,除非使用-r选项发送原始ssh命令salt-ssh是一个软件包,需安装之后才能使用,命令本身也是salt-sshsalt-ssh不会取代标准的Salt通信系统,它只是提供了一个基于SSH的替代方案,不需要ZeroMQ和agentsalt-ssh远程管理的方式salt-ssh有两种方式实现远程管理,一种
2021-11-30 00:48:03
988
原创 初始化系统
初始化系统树形结构[root@server1 salt]# tree base/base/`-- init |-- 1 |-- chrony | |-- 1 | |-- files | | `-- chrony.conf | `-- main.sls |-- firewall | |-- files | | `-- config | `-- main.sls |-- histo
2021-11-15 23:57:13
525
原创 saltstack部署lnmp
saltstack部署lnmp环境:系统/主机IP地址服务RedHat8/server1192.168.244.131salt-mastersalt-minionRedHat8/node1192.168.244.135salt-minionnginxmysqlphp树形结构[root@server1 prod]# pwd/srv/salt/prod[root@server1 salt]# lsbase dev prod test[roo
2021-11-12 00:30:57
2931
原创 SaltStack之return与job管理
SaltStack之return与job管理SaltStack组件之returnreturn组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数据来源。目前官方已经支持30种return数据存储与接口,我们可以很方便的配置与使用它。当然也支持自己定义的return,自定义的return需由py
2021-11-08 08:54:59
282
原创 SaltStack常用的模块
SaltStack常用的模块SaltStack模块介绍Module是日常使用SaltStack接触最多的一个组件,其用于管理对象操作,这也是SaltStack通过Push的方式进行管理的入口,比如我们日常简单的执行命令、查看包安装情况、查看服务运行情况等工作都是通过SaltStack Module来实现的。当安装好Master和Minion包后,系统上会安装很多Module,大家可以通过以下命令查看支持的所有Module列表:查看本机所有的模块 #只有一部分想要看所有模块去官网上查看[root@
2021-11-04 08:55:25
395
原创 SaltStack数据系统
SaltStack数据系统SaltStack数据系统SaltStack有两大数据系统,分别是:GrainsPillarSaltStack组件之GrainsGrains是SaltStack的一个组件,其存放着minion启动时收集到的信息。Grains是SaltStack组件中非常重要的组件之一,因为我们在做配置部署的过程中会经常使用它,Grains是SaltStack记录minion的一些静态信息的组件。可简单理解为Grains记录着每台minion的一些常用属性,比如CPU、内存、磁盘、
2021-11-03 08:50:16
113
原创 SaltStack配置管理
SaltStack配置管理YAML语言YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。``YAML`语言的格式如下:house: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone address: number: 34
2021-11-03 08:48:47
195
原创 SaltStack简单介绍及部署
SaltStack简单介绍及部署什么是 Ansible?Ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架。主要包括:(1) 连接插件connection plugins:负责和被监控端实现通信;(2) host
2021-11-02 00:03:23
230
原创 nginx实现动静分离
nginx实现动静分离环境:系统/主机名IP地址服务Redhat8 :server1192.168.244.131nginxRedhat8:server2192.168.244.133lnmpContent7:node3192.168.244.142httpd在三台主机上关闭防火墙[root@server1 ~]# systemctl stop firewalld[root@server1 ~]# systemctl disable firewal
2021-10-31 18:35:35
1461
原创 zabbix监控nginx状态
zabbix监控nginx环境说明:环境IP地址安装的服务服务器:server1192.168.244.144lamp架构zabbix serverzabbix agent客户端:test192.168.244.133zabbix agent nginx在客户端部署zabbix agent[root@node1 bag]# wget https://cdn.zabbix.com/zabbix/sources/stable/5.4/zabbix-5.4.4.ta
2021-10-28 23:52:25
1575
原创 nginx配置( rewrite / if)
nginx配置rewrite语法:rewrite regex replacement flag;,如:rewrite ^/images/(.*\.jpg)$ /imgs/$1 break;此处的$1用于引用(.*.jpg)匹配到的内容,又如:rewrite ^/bbs/(.*)$ http://www.idfsoft.com/index.html redirect;如上例所示,replacement可以是某个路径,也可以是某个URL常见的flagflag作用last
2021-10-28 23:49:02
204
原创 nginx配置
nginx配置nginx默认配置文件[root@server1 conf]# pwd/usr/local/nginx/conf[root@server1 conf]# lsfastcgi.conf nginx.conffastcgi.conf.default nginx.conf.defaultfastcgi_params scgi_paramsfastcgi_params.default scgi_params.defaultkoi-utf
2021-10-27 23:10:58
563
原创 nginx配置
nginx配置nginx默认配置文件[root@server1 conf]# pwd/usr/local/nginx/conf[root@server1 conf]# lsfastcgi.conf nginx.conffastcgi.conf.default nginx.conf.defaultfastcgi_params scgi_paramsfastcgi_params.default scgi_params.defaultkoi-utf
2021-10-26 22:47:21
461
原创 lnmp部署
lnmp部署安装nginx[root@server1 bag]# wget http://nginx.org/download/nginx-1.20.1.tar.gz这里我用脚本安装的[root@serevr1 lnmp]# cat install.sh #!/bin/bashif [ $UID -ne 0 ];then echo "Please use administrator account" exitfiapp_a=nginx-1.20.1.ta
2021-10-26 22:45:55
112
原创 nginx控制方式
nginx配置nginx默认配置文件[root@server1 conf]# pwd/usr/local/nginx/conf[root@server1 conf]# lsfastcgi.conf nginx.conffastcgi.conf.default nginx.conf.defaultfastcgi_params scgi_paramsfastcgi_params.default scgi_params.defaultkoi-utf
2021-10-26 08:56:15
163
原创 脑裂简介与监控
脑裂在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。由于相互失去了联系,都以为是对方出了故障。两个节点上的HA软件像“裂脑人”一样,争抢“共享资源”、争起“应用服务”,就会发生严重后果——或者共享资源被瓜分、2边“服务”都起不来了;或者2边“服务”都起来了,但同时读写“共享存储”,导致数据损坏(常见如数据库轮询着的联机日志出错)。 对付HA系统“裂脑”的对策,目前达成共识的的大概有以下几条:添加冗余的心跳线,例如:双线条线(心
2021-10-25 00:53:04
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人