Kubernetes的部署
概要Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。
随着容器的广泛应用,Kubernetes能够满足容器的资源管理和任务编排的需要,它可以实现:
服务发现和负载均衡 Kubernetes 可以使用 DNS 名称或自己的 IP 地址来暴露容器。 如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。
存储编排 Kubernetes 允许你自动挂载你选择的存储系统,例如本地存储、公共云提供商等。
自动部署和回滚 你可以使用 Kubernetes 描述已部署容器的所需状态, 它可以以受控的速率将实际状态更改为期望状态。 例如,你可以自动化 Kubernetes 来为你的部署创建新容器, 删除现有容器并将它们的所有资源用于新容器。
自动完成装箱计算 你为 K ...
Docker的基本使用
简介Docker是什么Docker是一个在2013年开源的使用go语言编写的PaaS服务。特点是交付速度快、资源消耗低。Docker采用客户端/服务端架构,使用远程API来管理和创建Docker容器。它的三大理念是build、ship、run,使用Namespace及cggroup等来提供容器的资源隔离与安全保障。
Docker的组成
Docker主机(Host):物理机或者虚机,用于运行Docker服务进程和容器;
Docker服务端(Server):Docker守护进程,运行Docker容器;
Docker客户端(Client):客户端使用docker命令或者其他工具调用相应API;
Docker仓库(Registroy):保存镜像的仓库,类似git这样的版本控制系统;
Docker镜像(Images):镜像可以理解为创建实例使用的模板;
Docker容器(Container):容器是从镜像生成对外提供服务的一个或者一组服务。
NameSpace技术命名空间保证容器之间的运行环境互相隔离,可以使每个进程看起来都拥有自己的隔离的全局系统资源。
MNT NameSpace ...
大型网站技术架构核心原理与案例分析
此为《大型网站技术架构核心原理与案例分析》的记录
概述大型网站架构演化特点
高并发、大流量
高可用
海量数据
用户分布广泛、网络情况复杂
安全环境恶劣
需求快速变更、发布频繁
渐进式发展
历程
单体服务器
前后端分离、应用服务和数据服务分离
加入缓存和分布式缓存服务器
使用服务器集群改善并发处理能力
数据库读写分离
使用反向代理和CDN加速网站响应
使用分布式文件系统和分布式数据库系统
使用noSQL和搜索引擎
业务拆分
分布式服务
价值观
大型网站架构技术的核心价值随网站所需灵活应对
驱动大型网站技术发展的主要力量是网站的业务发展
误区
一味追随大公司的解决方案
为技术而技术
企图用技术解决所有问题
大型网站架构模式
分层,基本分为应用层、服务层、数据层,各层必须合理规划层次边界和接口,严格遵循分层架构的约束,禁止跨层调用和逆向调用;
分割,将不同功能按照高内聚低耦合模块单元进行分割,提高并发处理能力和功能扩展能力;
分布式
分布式应用和服务
分布式静态资源
分布式数据和存储
分布式计算
集群,独立部署的服务器集群化,通过负载均衡设备共同对外提供服务
缓存,使用缓存的 ...
定时删除Wazuh日志索引
前情生产和办公环境部署的Wazuh系统,因为对接的大量的Agent,每日的数据量在1.2GB左右。为减少实际运行成本并根据实际使用情况,原始日志导入一份到日志服务器外,Wazuh的安全日志只保留一个自然月。
脚本
使用Shell脚本来实现定时删除Wazuh的ElasticSearch索引的功能:
#!/bin/bash
#本脚本用于按月份清理ES存储数据
#获取本月份与索引中的日期进行比较,本月份前的索引数据将被删除。
#删除前要确认
ES_URL=http://127.0.0.1:9200
NOW_Year=`date +%Y`
NOW_Mon=`date +%m`
ALLLINES=`/usr/bin/curl -s -XGET $ES_URL/_cat/indices?v| grep wazuh-alerts-4.x-*`
echo
echo "THIS IS WHAT SHOULD BE DELETED FOR ES:"
echo
echo "${ALLLINES}" | while read line
do
# echo ${l ...
使用PowerShell脚本管理Hyper-V宿主机上的虚机网卡访问ACL规则
使用PowerShell脚本管理Hyper-V宿主机上的虚机网卡访问ACL规则前情
标题也太绕了
The Add-VMNetworkAdapterExtendedAcl cmdlet creates an extended access control list (ACL) for a virtual network adapter. The ACL allows or denies access to a virtual machine network adapter for network packets based on source IP address, destination IP address, protocol, source port, and destination port.
官方文档
其实在单一Hyper-V宿主机上实现对其上运行的VM网络访问限制,主要是对非集群化部署有用,一旦涉及群集部署或者动态迁移,这个功能就没用了。这些规则是写到宿主机里面的,不会跟随VM而迁移。不过,对于边缘部署或者固定节点部署的VM还是有用的。
脚本实现# 使用PowerShell ...
自己动手构建简易广播系统
综合概述XXX电视直播系统是用于XXX北京研发中心的广播和直播相结合的便宜视频推送系统,使用到了办公环境服务器、监控用电视大屏和监控用主机盒子。
组织架构逻辑拓扑整体系统由开源直播系统SRS和开源视频播放器VLC构成,其逻辑拓扑如下:
物理组件
一个SRS服务器:VLNX101071(172.31.101.71)
十三个视频接收端:172.29.153.165~177
推流服务:使用安装OBS工具的公共笔记本电脑
构建软件视频网关安装# 系统准备
yum makecache
yum update -y
yum install -y git make autoconf m4 gcc
cd /opt
# 从GITHUB拉取SRS
git clone -b 4.0release https://gitee.com/ossrs/srs.git
# 编译系统
cd srs/trunk
./configure
make
# 安装系统
make install
ln -sf /usr/local/srs/etc/init.d/srs /etc/init.d/srs
cp -f /usr/local ...
远程搜集主机网卡信息
远程搜集主机网卡信息开启功能客户端默认情况下,在Windows 10或者11 首次执行powershell脚本会提示”系统禁止脚本运行“的错误。这是因为M$为了安全,把powershell的脚本执行策略设定为有数字证书的才允许执行。因此,需要执行脚本的方法一个是使用合法的数字证书对脚本进行签名:
# 获取合法的PFX证书(IIS版本SSL证书)
# 一般情况下都会为证书设置密码,所以这一步需要输入密码进行验证
$cert = Get-PfxCertificate -FilePath "test.pfx"
# 然后为 demo.ps1 脚本文件签名:
Set-AuthenticodeSignature -FilePath "demo.ps1" `
-Certificate $cert -IncludeChain "All" `
-TimeStampServer "http://timestamp.verisign.com/scripts/timstamp.dll"
或者我们干脆取消这一限制:
# 设置执行策略无签名脚本执行
set-executionpolicy re ...
文件存在但IIS报404故障的解决
文件存在但IIS报404故障的解决起因公司内建有SMB的网络共享盘,同时为方便MacOS用户,也基于同样的文件夹位置,建立的共享文件的HTTP站点。这个文件夹中有很多的打印机和扫描仪的驱动文件。由于原先使用打印服务器的模式,所以客户端无需单独安装驱动。后来,有了直连打印机的需求,就要上传MacOS的打印机驱动。在上传DMG格式的驱动之后,SMB共享可以正常下载,但WEB共享发现无法下载,点击文件回显404.
解决在IIS服务器中添加对.dmg文件的描述。
打开IIS控制台
添加DMG文件的描述信息
原因MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的标准,用来表示文档、文件或字节流的性质和格式。MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。浏览器通常使用 MIME 类型(而不是文件扩展名)来确定如何处理URL,因此 We b服务器在响应头中添加正确的 MIME 类型非常重要。如果配置不正确,浏览器可能会无法解析文件内容,网站将无法正常工作,并且下载的文件也会被错误处理。MIME 的组成结构非常简单 ...
macOS的部署、重命名与加域
缘起公司现有一堆14年末的Mac mini主机需要清理、更换SSD、系统升级和资产归纳。因为是库存主机且数据已经可以清空的情况下,对这些老家伙进行格式化重装和重命名主机并加入现有AD域。
部署制作USB启动器
下载 balenaEtcher 工具,来刻录USB安装镜像(需科学上网才能正常下载)
下载可引导ISO镜像,我们使用最新的12.3.1
系统安装
开机部署( 开机按 alt 键,进入引导界面)
打开系统工具,点击“Disk Utility”
清除磁盘,并新建磁盘
返回系统工具,点击“Install macOS”,开始安装
更名原有主机配置根据用户名创建主机名,为方便后续资产管理,现需要变更主机名。
打开系统偏好设置
选择 “共享” ,并点击“编辑”
勾选“使用动态全局主机名”
修改默认“电脑名称”
加域
使用管理员权限打开“用户与群组”
点击“登录选项”,并点击锁按钮
使用管理员权限解锁按钮
点击下方“网络账户服务器:加入”
输入可加域管理员账号、密码、加域主机名(默认小写)
输入本地管理员密码确认变更