- 博客(75)
- 收藏
- 关注
原创 2021-10-15
Linux系统查看最后一次重启时间:who -b查看历史重启时间:last reboot格式化设备为xfs文件系统fdisk /dev/sdbudevadm settle ##同步分区表mkfs.xfs -K /dev/sdb1 ##格式化设备为xfs文件系统 ##-K 不丢弃空数据块mount /dev/sdb1 /mnt/westos ##mount命令挂载为临时,如果需要永久挂在需要编写/etc/fstab...
2021-10-15 21:45:00
96
原创 华为机试—数字颠倒
描述输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001输入描述:输入一个int整数输出描述:将这个整数以字符串的形式逆序输出示例1输入:1516000输出:0006151代码:print(input()[::-1])...
2021-09-18 16:02:23
107
原创 企业实战-openstack(1)环境设置
openstack1 软件环境2 网络时间协议(NTP)3 openstack4 SQL数据库5 消息队列6 memcachedopenstack是什么OpenStack是一个云操作系统,它控制整个数据中心的计算、存储和网络资源的大型池,所有这些都通过具有通用身份验证机制的api进行管理和配置。它还提供了一个仪表板,允许管理员控制,同时允许用户通过web界面提供资源。除了标准的基础设施即服务功能外,其他组件还提供编排、故障管理和服务管理等服务,以确保用户应用程序的高可用性。目的是搭建一个类似于阿
2021-08-17 18:52:47
269
原创 企业实战-Kubernetes(十四)k8s高可用集群
k8s高可用集群 1 使用pacemaker搭建k8s的高可用(haproxy的高可用)安装并配置haproxy安装并配置pacemaker2 k8s集群部署master准备三个结点关闭交换分区安装docker及kubelet初始化集群测试1 使用pacemaker搭建k8s的高可用(haproxy的高可用)server5、server6配置仓库[root@server5 ~]# vim /etc/yum.repos.d/dvd.repo [dvd]name=dvdbaseurl=http://
2021-08-08 10:36:37
236
原创 企业实战-Kubernetes(十三)kubeapps部署、Prometheus部署
121解压tar包,修改配置文件[root@server2 helm]# tar zxf kubeapps-7.2.0.tgz [root@server2 helm]# cd kubeapps/[root@server2 kubeapps]# lsChart.lock charts Chart.yaml crds README.md templates values.schema.json values.yaml[root@server2 kubeapps]# vim valu.
2021-08-06 23:45:08
315
原创 linux单机部署prometheus
Prometheus 部署Prometheus 部署Node Exporter 部署AlertManager 部署Grafana 部署前提:关闭防火墙 && SELinuxPrometheus 部署下载安装包wget -c https://github.com/prometheus/prometheus/releases/download/v2.16.0/prometheus-2.16.0.linux-amd64.tar.gz解压安装包 && 安装[root@s
2021-08-06 23:36:09
324
原创 企业实战-Kubernetes(十二)Helm
HelmHelm12HelmHelm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 K
2021-08-05 15:37:13
316
原创 企业实战-Kubernetes(十一)Kubernetes监控
Kubernetes监控1 k8s容器资源限制内存限制CPU限制为namespace设置资源限制2 kubernetes资源监控Metrics-Server部署1 k8s容器资源限制Kubernetes采用request和limit两种限制类型来对资源进行分配。request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。limit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。资源类型:CPU 的单位是核心数,内存的单位
2021-08-05 11:09:55
377
原创 企业实战-Kubernetes(十)访问控制
访问控制1 简介2 serviceaccount(sa)31 简介Authentication(认证)认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式。Kubernetes集群有两类用户:由Kubernetes管理的Service Accounts (服务账户)和(Users Accounts) 普通账户。k8s中账号的概念不是我们理解的账号,它并不真的
2021-08-05 10:27:51
132
原创 企业实战-Kubernetes(九)kubernetes调度
kubernetes调度pod 亲和性和反亲和性亲和与反亲和pod 亲和性和反亲和性podAffinity 主要解决POD可以和哪些POD部署在同一个拓扑域中的问题(拓扑域用主机标签实现,可以是单个主机,也可以是多个主机组成的cluster、zone等。)podAntiAffinity主要解决POD不能和哪些POD部署在同一个拓扑域中的问题。它们处理的是Kubernetes集群内部POD和POD之间的关系。Pod 间亲和与反亲和在与更高级别的集合(例如 ReplicaSets,Statef
2021-08-01 15:46:45
103
原创 企业实战-Kubernetes(八)Volumes
Volumes 1.Volumes配置管理emptyDir卷hostPathNFSPV、PVC动态删除StatefulSet1.Volumes配置管理emptyDir卷[root@server2 volumes]# vim vol1.yaml apiVersion: v1kind: Podmetadata: name: vol1spec: containers: - image: busyboxplus name: vm1 command: ["sleep", "3
2021-08-01 14:12:20
164
原创 企业实战-Kubernetes(七)Configmap配置管理
这里写自定义目录标题1.Configmap配置管理1.1使用字面值创建1.2使用文件创建1.3使用目录创建1.4编写configmap的yaml文件2.使用configmap2.1使用configmap设置环境变量3.Secret3.1从文件中创建Secret3.2将Secret挂载到Volume,向指定路径映射secret密钥3.3将Secret设置为环境变量4.Volumes配置管理emptyDir卷hostPathNFSPV、PVC1.Configmap配置管理Configmap用于保存配置数据,
2021-08-01 10:52:15
159
原创 企业实战-Kubernetes(六)Ingress服务
Ingress服务安装Ingress配置ingress-nginx实现七层均衡安装Ingress准备工作:本地仓库新建Ingress-nginx上传镜像到仓库内并查看,上传成功官网下载ingress-nginx部署所需资源清单,修改镜像get地址为本地harbor仓库。启用后查看生成的namespace状态kubectl apply -f deploy.yaml kubectl get ns查看ingress-nginx的所有信息,可以看到ingress-nginx-controll
2021-08-01 09:56:49
303
原创 企业实战-Kubernetes(五)网络通信
k8s网络通信1 k8s通信概述2 Flannel网络2.1 flannel组件2.2vxlan模式2.3host-gw模式3 calico网络插件替换flannel4 calico网络策略限制访问指定服务:允许指定pod访问服务禁止 namespace 中所有 Pod 之间的相互访问禁止其他 namespace 访问服务只允许指定namespace访问服务允许外网访问服务1 k8s通信概述k8s通过CNI接口接入其他插件来实现网络通讯。目前比较流行的插件有flannel,calico等。CNI插件存
2021-07-29 15:00:57
183
原创 企业实战-Kubernetes(四)service
Service1.service2.Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。1.service[root@server2 pod]# kubectl -n kube-system edit cm kube-proxy mode: "ipvs"[root@server2 pod]# kubectl get pod -n kube-system |grep kube-proxy | awk '{system("ku
2021-07-29 14:13:59
195
原创 企业实战-Kubernetes(三)资源清单、Pod生命周期、控制器
k8s中的资源清单1资源清单控制器rs只控制副本Deployment控制器DaemonSet控制器job控制器DaemonSet控制器service1资源清单- 格式如下: apiVersion: group/version //指明api资源属于哪个群组和版本,同一个组可以有多个版本 $ kubectl api-versions //查询命令 kind: //标记创建的资源类型,k8s主要支持以下资源类别 Pod,ReplicaSet,Deployme
2021-07-29 11:14:30
150
原创 企业实战-Kubernetes(二)pod基础了解
k8s中的pod1pod的基本操作1.1创建pod1.2deployment(控制器)1.3Pod暴露端口1.4Pod扩容与缩容1.5版本更新1.6版本回退1pod的基本操作1.1创建podPod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip创建[root@server2 ~]# kubectl run demo --image=myapp:v1##创建一个pod应用,demo是名字,myapp是镜像,v1是版本号
2021-07-29 09:18:48
116
原创 企业实战-Kubernetes(一)Kubernetes部署
这里写自定义目录标题1.Kubernetes部署1.1systemd1.2禁用swap分区1.3安装部署软件kubeadm1.4拉取镜像1.5初始化集群1.Kubernetes部署1.1systemd关闭节点的selinux和iptables防火墙所有节点部署docker引擎server2 3 4相同部署[root@server2 ~]# vim /etc/docker/daemon.json { "registry-mirrors": ["https://reg.westos.org"
2021-07-26 22:45:36
388
2
原创 企业实战-Docker(六)machine、compose、swarm
1.machine2.compose3.1.machine真机:[root@foundation14 machine]# cd /var/www/html/[root@foundation14 html]# cat docker-ce.repo [docker]name=docker-cebaseurl=http://172.25.14.250/pub/docs/docker/docker-cegpgcheck=0[root@foundation14 html]# vim get-d.
2021-07-26 22:42:46
228
1
原创 企业实战-Docker(五)安全
Docker安全1.命名空间隔离的安全2.容器资源控制2.1内存限制2.2CPU2.3Block IO限制3.docker安全加固3.1利用LXCFS增强docker容器隔离性和资源可见性3.2设置特权级运行的容器3.3设置容器白名单1.命名空间隔离的安全当docker run启动一个容器时,Docker将在后台为容器创建一个独立的命名空间。命名空间提供了最基础也最直接的隔离。[root@server1 ~]# docker inspect demo | grep Pid "P
2021-07-26 22:22:57
269
4
原创 企业实战-Docker(四)数据卷
Docker数据卷 1.Docker数据卷管理2.卷插件1.Docker数据卷管理docker分层文件系统:性能差,生命周期与容器相同docker数据卷:mount到主机中,绕开分层文件系统和主机磁盘性能相同,容器删除后依然保留仅限本地磁盘,不能随容器迁移docker提供了两种卷: bind mount , docker managed volumebind mount是将主机上的目录或文件mount到容器里。使用直观高效,易于理解。使用 -v 选项指定路径[root@server1
2021-07-26 21:59:39
246
2
原创 企业实战-Docker(三)网络
Docker网络11[root@server1 ~]# docker network lsNETWORK ID NAME DRIVER SCOPE66924bb56fac bridge bridge local818223d6ed26 host host locala7c06c1228
2021-07-25 14:52:47
117
1
原创 企业实战-Docker(二)仓库
这里写自定义目录标题1.仓库1.仓库Docker 仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。Docker运行中使用的默认仓库是 Docker Hub 公共仓库。...
2021-07-22 11:47:48
160
原创 企业实战-Docker(一)docker的安装及镜像等
Docker1.安装 开启 配置game2048mario2.镜像镜像的分层结构镜像的构建3.镜像封装4.镜像优化使用多阶段构建镜像选择最精简的基础镜像5.docker常用命令1.安装 开启 配置配置仓库并安装docker[root@server1 yum.repos.d]# vim docker.repo [docker]name=dockerbaseurl=ftp://172.25.14.250/pub/docs/docker/docker-ce/gpgcheck=0[root@serv
2021-07-22 11:07:50
322
2
原创 企业实战-saltstack(三)
saltstack+zabbix远程安装zabbix安装mysql远程安装zabbix[root@server1 salt]# pwd/srv/salt[root@server1 salt]# mkdir zabbix-server[root@server1 salt]# cd zabbix-server/[root@server1 zabbix-server]# vim init.slszabbix-server: pkgrepo.managed: - name: zabbix
2021-07-19 19:11:47
414
6
原创 企业实战-saltstack(二)
1.keepalived模块1server2安装keepalived并将配置文件传给server1[root@server2 ~]# yum install -y keepalived[root@server2 ~]# cd /etc/keepalived/[root@server2 keepalived]# scp keepalived.conf server1:/srv/salt/keepalivedserver1cd /srv/salt/mkdir keepalivedcd kee
2021-07-19 18:47:30
430
1
原创 企业实战-saltstack(一)
saltstack1.安装saltstackserver1安装软件,启用并查看端口server2、server3安装minion并启用server1查看2.saltstack远程执行安装apache安装nginx3.grains信息查询自定义grains项在/etc/salt/minion中定义在/etc/salt/grains中定义在salt-master端创建_grains目录4.pillar5jinja1.安装saltstackserver1设置软件仓库并传给server2、3[root@ser
2021-07-19 18:26:45
234
3
原创 zabbix+tidb
TIDB1.TiDB 简介2.Tidb+Zabbix的简单部署server1解压并安装server2、3、4解压并开启tikv开启zabbix及tidb数据库连接tidb给数据库中导入数据zabbix配置文件的修改重启服务1.TiDB 简介TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者
2021-07-16 22:42:45
79
原创 企业实战-Zabbix
Zabbix1.Zabbix安装2.手动添加自动发现自动注册1.Zabbix安装添加 Zabbix 软件仓库安装 Server/proxy/前端[root@server1 yum.repos.d]# yum install zabbix-server-mysql[root@server1 yum.repos.d]# yum install -y mariadb-server创建数据库root@server1 yum.repos.d]# systemctl start mariadb.serv
2021-07-16 11:19:43
408
原创 企业实战-CDN
CDN1.安装varnish2.负载均衡3.nginx代理1.安装varnishserver1下载软件并安装jemalloc-3.6.0-1.el7.x86_64.rpm varnish-4.0.5-1.el7.x86_64.rpmjemalloc-devel-3.6.0-1.el7.x86_64.rpm varnish-libs-4.0.5-1.el7.x86_64.rpm修改配置文件vim /etc/varnish/default.vclbackend web1 {
2021-07-16 09:11:04
119
2
原创 haproxy实现7层的负载均衡
---1.haproxy的配置1.安装及测试2.3.source4.权重5.设置黑名单及自动跳转网址6日志7.访问密码8.acl write method POST | PUT2.1.haproxy的配置1.安装及测试机器IPserver1172.25.14.1server2172.25.14.2server3172.25.14.3server1安装haproxyyum install -y haproxy.x86_64 #安装vim /et
2021-07-12 20:50:29
123
原创 IP负载均衡(LVS)
这里写目录标题1.配置均衡负载2.keepalived31.配置均衡负载机器IPserver1172.25.14.1server2172.25.14.2server3172.25.14.3server1yum install -y ipvsadmip addr add 172.25.14.100/24 dev eth0ipvsadm -A -t 172.25.14.100:80 -s rripvsadm -a -t 172.25.14.100:80 -
2021-07-12 20:20:03
178
1
原创 企业实战分布式文件系统-mfs部署、文件写入与恢复、存储等
这里写自定义目录标题1.mfs部署1.server5(mfsmaster)2.server63.server74.物理机2.文件存储与恢复3.根据标签修改存储4.通过iscsi实现mfs高可用1.mfs部署机器IPserver5172.25.14.5server6172.25.14.6server7172.25.14.7物理机172.25.254.14配置server5仓库,并将仓库文件传给server6,server7[mfd]name=mfs
2021-07-10 11:17:08
306
1
原创 企业运维项目实战lamp架构-memcache-nginx高速缓存、tomcat+memcache交叉存储、goaccess日志可视化
高速缓存与日志可视化1.nginx+memcache高速缓存2.nginx+php openresty 的高速缓存3.tomcat+memcache交叉存储4.日志可视化1.nginx+memcache高速缓存将php添加到环境变量里echo $PATH #查看系统环境变量目录vim .bash_profile PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/php/bin/source .bash_profile查看php模块安
2021-07-01 13:09:28
145
1
原创 企业运维项目实战lamp架构-nginx的配置管理
nginx的一些基本配置1.并发优化2.负载均衡3.nginx平滑升级4.nginx限流5.nginx配置管理1.并发优化vim /usr/local/nginx/conf/nginx.conf内容如下:worker_processes 2; #工作进程数 最大不超过cpu个数events { worker_connections 65535; #单个工作进程并发连接数}2.负载均衡机器服务server4控制主机server2httpd服
2021-06-29 00:50:59
146
2
原创 企业运维项目实战lamp架构-nginx、php、mysql及phpmyadmin
nginx、php、mysql及phpmyadmin的安装1.源码编译安装nginx源码编译第一步 .configure源码编译第二步 make源码编译第三步 make installnginx开机自启动2.源码编译安装php源码编译nginx结合php-fpm3.安装phpmyadmin4.源码编译安装mysql数据库5.phpmyadmin连接mysql1.源码编译安装nginxtar zxvf nginx-1.20.1.tar.gz 解压安装包并进入cd nginx-1.20.1/ls
2021-06-28 17:45:44
285
1
原创 Django学习(二)
Django项目上手1.框架什么是框架Python 中常见的框架2.Django框架Django框架介绍Django框架的特点3.Django快速入门:后台管理1.创建Django项目:2.应用的创建和使用3.项目的数据库模型4.启用后台Admin 站点管理4.Django快速入门: 前台管理1.框架什么是框架软件框架就是为实现或完成某种软件开发时,提供了一些基础的软件产品,框架的功能类似于基础设施 ,提供并实现最为基础的软件架构和体系通常情况下我们依据框架来实现更为复杂的业务程序开发二个字,
2021-06-24 00:51:49
156
1
原创 Django学习(一)
预备知识HTTP协议的认识什么是HTTP 协议?HTTP协议就是客户端和 服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。基于 TCP/IPHTTP是一个属于应用层的面向对象的协议。HTTP协议工作于客户端-服务端架构上。基于请求-响应模式浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。Http协议是无状态协议HTTP是一种不保存状态,即无状态(stateless)协议。HTTP协议自
2021-06-23 23:09:24
78
原创 6.Python函数
函数1.函数概况2.函数创建和调用3.变量作用域4.函数参数传递型参与实参默认参数可变参数 *args关键字参数 **kwargs参数组合5.匿名函数6.递归函数1.函数概况为了提高编写的效率及代码的重复使用,把具有独立功能的代码块组成一个小模块,这就是函数。2.函数创建和调用定义函数,也就是创建一个函数。定义函数需要用def关键字实现。定义一个空函数:def gy(): #定义函数 pass #占位gy() #调用调用函数也就是执
2021-06-23 22:52:55
236
1
原创 5.Python集合与字典
集合与字典1.集合1.集合集合是一个无序的不重复元素序列集合的创建:使用大括号{}或者是set()函数创建集合创建一个空集合必须用set()而不是{},{}是用来创建一个空字典。
2021-06-21 21:55:31
192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人