使用Kind快速部署Kubernetes实验环境
其实就是Docker上面跑了一个Docker
概念Kindkind 即 Kubernetes In Docker,顾名思义,就是将 k8s 所需要的所有组件,全部部署在一个docker容器中,是一套开箱即用的 k8s 环境搭建方案,适用于快速构建本地开发和测试环境。kind 由以下组件构成:
Go packages implementing cluster creation, image build, etc.
A command line interface (kind) built on these packages.
Docker image(s) written to run systemd, Kubernetes, etc.
kubetest integration also built on these packages (WIP)kind 使用 kubeadm 创建和启动群集节点。kind 使用 containerd 作为容器运行时,所以弃用 Dockershim 对 kind 没有影响。
部署环境准备# 本次部署基于RockyLinux 9.2# 主机配置为2c ...
CI/CD初步
现在利用已有的k8s环境部署一套CI/CD环境
DevOps理解CI/CD,持续集成和持续交付的基本过程包括如下几个步骤:
软件更新或者迭代——Gitlab
新版软件打包成镜像——Jenkins
新的镜像在k8s中集成——Registry
当代码提交到gitlab之后,会立马触发jenkins将新代码编译成镜像,然后再在kmaster上部署新的镜像。
镜像仓库Registry部署# 部署docker并修改docker启动参数[root@Gitlab ~]# vim /usr/lib/systemd/system/docker.service# 新增--insecure-registry=192.168.10.9:5000 -H tcp://0.0.0.0:2376 ExecStart=/usr/bin/dockerd --insecure-registry=192.168.10.9:5000 -H tcp://0.0.0.0:2376 -H fd:// --containerd=/run/containerd/containerd.sockExecRelo ...
Kubernetes高级概念
安全管理kubeconfig文件是指用于登陆的文件,默认是指~/.kube/config。这个文件是在刚装好kubernetes集群后按提示复制过来的,它和/etc/kubernetes/admin.conf是一样的,里面包括了集群的地址、admin用户以及各种证书和密钥的信息。创建kubernetes集群时,文件中的admin已被授予最大权限。
# 只要有了admin.conf文件就可管理集群[root@kmaster ~]# sz /etc/kubernetes/admin.conf # Windows系统部署kubectl也可管理PowerShell 7.3.7PS C:\Users\root> kubectl get nodes --kubeconfig=admin.confNAME STATUS ROLES AGE VERSIONkmaster Ready control-plane,master 35d v1.21.14knode1 Ready ...
「大型网站运维——从系统管理到SRE」
SRE从某种程度上来说是为了适应大型复杂团队中的运维需求而诞生的。SRE是系统管理员、数据库管理员、应用运维工程师、运维工程师、开发工程师的合集。
SRE定位工作着力点
将独立的运维人员由单一的任务承担角色转变为对线上系统稳定性负责的角色
SRE团队必要再技术之外加强自己的沟通、说服能力
SRE团队要注重以产品的角度看运维,而不是简单的完成业务的运维操作需求。
KPI的制订
运维工作项目化
运维项目评审
进度汇报和主动沟通
贡献价值
维持业务高效运作
提升资源利用率
减少业务中断
监控设计监控系统的评价标准
稳定
数据源稳定
网络稳定
数据处理稳定
存储稳定
准确
易用
监控设计的逻辑分析
数据生产
Agent
日志
数据上报
上报协议
推拉模型
数据处理
流处理
数据热点
数据存储
HBase
InfluxDB
数据使用
监控数据展示
监控数据报警
多指标和单指标
实时报警和离线报警
对外输出
应用场景
系统监控
CPU
网卡流量
磁盘负载
上下文切换
应用监控
黑盒监控
白盒监控
中间件监控
终端监控
移动端、PC端和 ...
社会工程概论
Christopher J. Hadnagy ,任social-engineer公司CEO,著名安全专家。其长期经营Podcast(托管于Apple iTunes)的已有国内非官方镜像
基本概念概述
社会工程利用的正是别人的性别偏见、种族偏见、年龄偏见和现状偏见;
任意一种能影响某人采取可能符合或者不符合其最大利益行动的行为,称为社会工程;
社会工程的核心是诱导
社会工程的生理基础:
多巴胺:使人感到愉快、幸福和收到鼓舞的化学物质;
催产素:信任别人或者被别人信任时产生的激素;
大脑的α模式:大脑处于8~13Hz的“白日梦”运动状态;
社会工程的四个攻击向量:
短信诈骗
电信诈骗
网络诈骗
冒充
组合攻击
社会工程金字塔OSINT——设计伪装——规划攻击——发起攻击——汇报
OSINTOSINT意为开源情报,是社工的命脉,是每次行动的出发点和支撑点。
OSINT示例企业
该公司如何使用互联网
该公司如何使用社交媒体
该公司员工可以在互联网上发布什么样的信息,是否由相关政策规定
有多少个供应商
如何收款
如何付款
是否设立客服中心
该公司总部、客服中心或其他分公司的位置
...
VMware虚机通过宿主机的Clash访问外部站点
源起在学习Kubernetes过程中,需要经常调用Github以及拉取镜像。一开始打算使用openwrt配置旁路由,然后使用openclash来实现访问外部。后来在实际搭配过程中发成本太高,本来内存就紧张,还需要单独拉出2G内存给虚机。所以,现在这里采用外部proxy代理的形式来实现正常访问互联网。
开启服务允许局域网访问使用7890端口来提供网络代理服务。
配置访问获取服务IP此处的IP是宿主机的上网IP,而不是VMware Workstation的NAT网关地址。
配置代理直接配置系统代理cat >> ~/.bashrc << EOFexport https_proxy=http://192.168.1.10:7890export http_proxy=http://192.168.1.10:7890export all_proxy=socks5://192.168.1.10:7890EOFsource ~/.bashrc
使用脚本来实现代理
创建脚本 setproxy.sh#!/bin/bash# encoding: utf-8Proxy_IP=192. ...
再访基辅号
这都是第五次来参观基辅号了,相比2017年夏天第一次来的时候的黄土漫天,现在的基础条件已经好了很多。基辅号的开放舱室也是多了很多,以前只能从三甲到一甲,看看机库就完了,现在能看到更多的居住舱、链锚舱和轮机舱,对航母的运行有了更直观的了解。另外,前几次停靠在133号驱逐舰旁边的037战列艇也被收拾的能出海,可以带着百八十游客转一转了。天气不错,能看到远方的津沽棒、国家海洋博物馆和妈祖像。有个七拐八拐的亲戚在白色那个楼群里面买了房。下面的工人在安装烟花,现在晚上八点有烟花秀。另外,《航母风暴》的场景演出也恢复了,除了原来的剧情之外,加了很多爆炸和烟花。不过原来的姐妹花换人了。比较令人遗憾的是,原来的飞车演出换成了国内的“华家班”,除了较为硬核的技巧表演外,没有了剧情,更像单纯的打把势卖艺。051的保养还是相当不错的。
Kubernetes基本管理
本文是应用《从Docker到Kubernetes》的实验内容。
实验环境延续Kubernets部署
PODpod是kubernets中最小的调度单位,控制器是用于管理pod。
创建与删除# 查看当前namespace中的pod[root@kmaster ~]# kubectl get podsNo resources found in nssec namespace.# 查看kube-system下的pod[root@kmaster ~]# kubectl get pods -n kube-system NAME READY STATUS RESTARTS AGEcalico-kube-controllers-78d6f96c7b-667pc 1/1 Running 9 25dcalico-node-f7mkg 1/1 Running 10 25dcalico-node-gbwp5 ...
RockyLinux9 容器安装
RockyLinux虽然自带了Podman,但Docker的操作还是便利些。
首先,需要按照制作RockyLinux模板来对系统进行初始化,再进行容器的部署。
其次,因为Docker公司的各种骚操作,开源界出品了Podman来对抗Docker,同时Kubernetes相关组织提出了一个标准的API接口CRI(Container Runntime Interface),并开发了CRI-O来作为containerd的替代品。简单理一下概念就是Docker、Podman和Kubernetes、Openshfit都是管理容器的平台,只不过前两个是单机、后两个是集群的全套解决方案。而containerd和CRI-O则是底层实现,类似Linux Kernel和发行版的区别。
最后,Kubernetes是通过标准的CRI接口调用containerd或者CRI-O来编排和管理容器。
Docker部署# 卸载Podmandnf remove -y podman*dnf install -y yum-utils device-mapper-persistent-data lvm2 jq# 官方安装案例# ...