- 博客(44)
- 收藏
- 关注
原创 Kubernetes学习笔记05
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:# 创建一个 Master 节点# 将一个 Node 节点加入到当前集群中$ kubeadm join <Master节点的IP和端口 >
2024-04-29 19:37:54
838
原创 Kubernetes学习笔记04
Helm是一个Kubernetes的包管理工具,就像Linux下的包管理器,如yum/apt等,可以很方便的将之前打包好的yaml文件部署到kubernetes上。Helm有三个重要概念helm:一个命令行客户端工具,主要用于Kubernetes应用chart的创建、打包、发布和管理Chart:应用描述,一系列用于描述k8s资源相关文件的集合Release:基于Chart的部署实体,一个chart被Helm运行后将会生成对应的release,将在K8S中创建出真实的运行资源对象。
2024-04-29 19:25:34
668
原创 Kubernetes学习笔记03
当我们访问K8S集群时,需要经过三个步骤完成具体操作认证鉴权【授权】准入控制进行访问的时候,都需要经过 apiserver, apiserver做统一协调,比如门卫访问过程中,需要证书、token、或者用户名和密码如果访问pod需要serviceAccount基于角色的访问控制,为某个角色设置访问内容,然后用户分配该角色后,就拥有该角色的访问权限k8s中有默认的几个角色role:特定命名空间访问权限ClusterRole:所有命名空间的访问权限角色绑定。
2024-04-28 19:58:52
1244
原创 Kubernetes学习笔记02
nodeSelector 和 NodeAffinity,都是Prod调度到某些节点上,属于Pod的属性,是在调度的时候实现的。Taint 污点:节点不做普通分配调度,是节点属性Controller是在集群上管理和运行容器的对象,Controller是实际存在的,Pod是虚拟机的前面我们了解到 Deployment 只是保证了支撑服务的微服务Pod的数量,但是没有解决如何访问这些服务的问题。
2024-04-28 19:31:01
845
原创 Kubernetes学习笔记01
Kubernetes 是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过Kubernetes 能够进行应用的自动化部署和扩缩容。在 Kubernetes 中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。Kubernetes 积累了作为 Google 生产环境运行工作负载 15 年的经验,并吸收了来自于社区的最佳想法和实践。
2024-04-28 18:49:44
1275
原创 网站被黑客非法添加跳转链接的解决方法
疑似为被黑客修改后的文件,使用git reset --hard 命令将退回文件未被黑客修改前的版本。在Web 控制面板上配置通过添加ip看能否正常访问网站,以此来判断自己的网站是否已经正常。如果通过ip地址可以成功访问到页面,还需在网页中右键查看源代码,观察那些被修改的文件。进入相对应的文件目录使用 git status 命令查看发生更改的文件。即可进入相关云服务提供商操作界面申请解除封禁。再次使用git status命令查看。发现工作区已恢复正常。
2024-04-03 16:53:52
1104
1
原创 Python学习笔记07
1.生活中或是程序中,我们都可以使用设计表格、生产表格、填写表格的形式组织数据设计表格,称之为:设计类(class)打印表格,称之为:创建对象填写表格,称之为:对象属性赋值在上一节中,我们简单了解到可以使用类去封装属性,并基于类创建出一个个的对象来使用。现在我们来看看类的使用语法:class 类名称:class是关键字,表示要定义类了类的属性类的属性,即定义在类中的变量(成员变量)类的行为类的行为,即定义在类中的函数(成员方法)创建类对象的语法:对象 = 类名称()
2024-03-23 16:11:08
1043
原创 Python学习笔记06
JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据JSON本质上是一个带有特定格式的字符串国际通用语言 - 英语中国56个民族不同地区的通用语言 - 普通话是一种轻量级的数据交互格式,采用完全独立于编程语言的文本格式来存储和表示数据(就是字符串)Python语言使用JSON有很大优势,因为:JSON无非就是一个单独的字典或一个内部元素都是字典的列表所以SON可以直接和Python的字典或列表进行无缝转换。2.json格式数据转化。
2024-03-23 13:36:51
1148
原创 Python学习笔记05
1.掌握位置参数根据参数位置来传递参数2.掌握关键字参数通过“键=值”形式传递参数,可以不限参数顺序可以和位置参数混用,位置参数需在前3.掌握缺省参数不传递参数值时会使用默认的参数值默认值的参数必须定义在最后4.掌握不定长参数位置不定长传递以*号标记一个形式参数,以元组的形式接受参数,形式参数一般命名为args关键字不定长传递以**号标记一个形式参数,以字典的形式接受参数,形式参数一般命名为kwargs1.函数本身是可以作为参数,传入另一个函数中进行使总结 用的。
2024-03-23 12:40:12
2322
原创 Python学习笔记04
1.什么是数据容器?一种可以存储多个元素的Python数据类型2.Python有哪些数据容器?list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)它们各有特点,但都满足可容纳多个元素的特性。有一个人的姓名(TOM)怎么在程序中存储?答:字符串变量如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序?声明100个变量吗?答:No,我们使用列表就可以了,列表一次可以存储多个数据基本语法:# 字面量[元素1,元素2,元素3,元素4,...]# 定义变量。
2024-03-22 21:29:26
1353
原创 Python学习笔记03
组织好的、可重复使用的、用来实现特定功能的代码段将功能封装在函数内,可供随时随地重复利用提高代码的复用性,减少重复代码,提高开发效率def函数名(传入参数):函数体return 返回值函数的调用:函数名(参数)注意事项:参数如不需要,可以省略返回值如不需要,可以省略函数必须先定义后使用print("Hi 我是黑马程序员,学Python来黑马")say_hi()1. 函数的定义语法def函数名(传入参数):函数体return 返回值2. 函数使用步骤:先定义函数。
2024-03-22 19:15:21
1471
原创 Python学习笔记02
True 表示真(是、肯定)False 表示假(否、否定)定义变量存储布尔类型数据: 变量名称 = 布尔类型字面量布尔类型不仅可以自行定义,同时也可以通过计算得来。也就是使用比较运算符进行比较运算得到布尔类型的结果。1.在Python中,可以表示真假的数据类型是:布尔类型,字面量True表示真,字面量False表示假2.除了可以定义布尔类型外,还可以通过___计算得到布尔类型?通过计算得到布尔类型的结果==判断是否相等,!=判断是否不相等>判断是否大于,>=判断是否大于等于,
2024-03-22 17:05:41
1310
原创 Python学习笔记01
用于人类和计算机进行交流的一种语言,通过编写编程语言的代码,去指挥计算机工作。它无法直接和计算机沟通,需要翻译工具(解释器或编译器)将代码翻译成二进制,从而实现和计算机的畅顺沟通为什么不直接把中文翻译成二进制呢?自然语言远比编程语言复杂,编程语言语法”死板”,“翻译官”更容易翻译。Python安装(Windows & Linux)1.计算机只认识什么?0和12.Python解释器的作用是将Python代码翻译成计算机认识的0和1并提交计算机执行在解释器环境内可以一行行的执行我们输入的代码。
2024-03-22 15:29:38
2888
1
原创 Shell编程学习笔记05
Stream EDitor:流编辑sed是一种在线的、非交互式的编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”( patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑 个或多个文件;简化对文件的反复操作;
2024-01-03 19:44:25
1228
原创 Shell编程学习笔记04
array3=(`cat/etc/passwd`) 将/etc/passwd文件中的每一行作为一个元素赋值给数组array3。一次赋一个值数组名[下标]=变量值查看数组查看数组先声明关联数组一次赋一个值数组名[索引]=变量值查看方法二一次赋多个值/bin/bash#2020#for arraydodonehosts[@]}dodonefor的空格分割如何解决for的空格分割的问题。另外,如果脚本中还有for怎么办呢?
2024-01-03 18:01:26
2144
原创 Shell编程学习笔记03
循环是编程中常用的控制结构,用于重复执行一段代码块。在Shell脚本中,有两种常见的循环类型:固定循环和不固定循环。固定循环(for循环): 固定循环使用for关键字,用于在给定的范围内重复执行一段代码。它通常用于遍历数组、列表或指定的数字范围。不固定循环: 不固定循环使用while和until关键字,根据条件的真假来决定是否继续执行循环。它们通常用于在满足特定条件时重复执行代码块。while和until循环的区别在于条件的判断方式。while循环在条件为真时执行,而until循环在条件为假时执行。
2024-01-03 16:50:10
1027
原创 Shell编程学习笔记01
用户自定义变量是最常用的变量类型,其特点是变量名和变量值都是由用户自由定义的。重复定义变量会进行变量叠加。#定义变量aa的值是123#重复定义变量aa的值是源aa的值加上456#调用变量aa,发现值已经变成了123456123456#在进行变量叠加时,也可以使用$(变量名)格式123456789注意:在进行变量叠加时,变量名需要用双引号或$包含。read 从键盘读入变量值read 变量名read -p "请输入您测试的IP地址 : "ip注意事项:3种引号(定义或引用变量时注意事项)
2024-01-03 16:14:18
530
原创 MySQL数据库运维学习笔记03
一个主机Master1用于处理所有写请求,它的从机Slave1和另一台主机Master2还有它的从机Slave2负责所有读请求。当Master1主机宕机后,Master2主机负责写请求,Master1、Master2互为备机。1.介绍读写分离是为了降低单台服务器的访问压力,写走主库,读走从库。2. 一主一从MySQL主从复制是基于二进制日志binlog实现的。3.一主一从读写分离<writeHost> <readHost /> <writeHost>、balance属性4. 双主双从。
2023-12-11 20:45:51
171
原创 MySQL数据库运维学习笔记02
Mycat-server-1.6.7.4-release版本发布Mycat-server-1.6.7.3-release 版本发布Mycat是采用java语言开发的开源的数据库中间件,支持Windows和Linux运行环境,下面介绍MyCat的Linux中的环境搭建。我们需要在准备好的服务器中安装如下软件。MySQLJDKMycat分库分表:Mycat的分库分表功能允许将一个大型数据库划分为多个较小的数据库,每个数据库称为一个分片。每个分片可以进一步划分为多个表。
2023-12-11 20:16:29
149
原创 MySQL数据库运维学习笔记01
二进制日志(BINLOG)记录了所有的DDL(数据定义语言)语句和DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句。作用:1.灾难时的数据恢复;2.MySQL的主从复制。在MySQL8版本中,默认二进制日志是开启着的,涉及到的参数如下:主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。
2023-12-09 19:48:58
179
原创 MySQL数据库进阶学习笔记03
全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语句,已经更新操作的事务提交语句都将被阻塞。其典型的使用场景是做全库的逻辑备份,对所有的表进行锁定,从而获取一致性视图,保证数据的完整性。表级锁,每次操作锁住整张表。锁定粒度大,发生锁冲突的概率最高,并发度最低。应用在MyISAM、InnoDB、BDB等存储引擎中。表锁元数据锁(meta data lock,MDL)意向锁行级锁,每次操作锁住对应的行数据。锁定粒度最小,发生锁冲突的概率最低,并发度最高。
2023-12-08 20:21:49
141
原创 MySQL数据库进阶学习笔记02
1. 插入数据insert:批量插入、手动控制事务、主键顺序插入大批量插入:load data local infile2. 主键优化主键长度尽量短、顺序插入3. order by优化using index:直接通过索引返回数据,性能高using filesort:需要将返回的结果在排序缓冲区排序4. group by优化索引,多字段分组满足最左前缀法则5. limit优化覆盖索引+子查询6. count优化性能:count(字段)7. update优化尽量根据主键/索引字段进行数据更新。
2023-12-07 21:08:50
129
原创 MySQL数据库进阶学习笔记01
存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。1.在创建表时,指定存储引擎CREATE TABLE 表名(字段1 字段1类型 [COMMENT 字段1注释],......字段n 字段n类型 [COMMENT 字段n注释]) ENGINE=INNODB [COMMENT 表注释];2. 查看当前数据库支持的存储引擎例:创建表 my_myisam 并指定MyISAM存储引擎id int,
2023-12-04 20:34:32
125
原创 MySQL数据库学习笔记03
概述:指从多张表中查询数据笛卡尔积:笛卡尔乘积是指在数学中,两个集合A集合和B集合的所有组合情况。(在多表查询时,需要消除无效的笛卡尔积)1.多表关系一对多:在多的一方设置外键,关联一的一方的主键多对多:建立中间表,中间表包含两个外键,关联两张表的主键一对一:用于表结构拆分,在其中任何一方设置外键(UNIQUE),关联另一方的主键2. 多表查询内连接隐式:SELECT … FROM 表A , 表B WHERE 条件...…
2023-12-02 20:30:33
453
原创 MySQL数据库学习笔记02
1. 字符串函数2.数值函数3. 日期函数4.流程函数1. 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。2.目的:保证数据库中数据的正确、有效性和完整性。3. 分类:约束 描述 关键字非空约束 限制该字段的数据不能为nullNOT NULL唯一约束 保证该字段的所有数据都是唯一、不重复的UNIQUE主键约束 主键是一行数据的唯一标识,要求非空且唯一默认约束 保存数据时,如果未指定该字段的值,则采用默认值DEFAULT。
2023-12-02 19:46:27
81
原创 MySQL数据库学习笔记01
数据库:数据存储的仓库数据库管理系统:操纵和管理数据库的大型软件SQL:操作关系型数据库的编程语言,是一套标准1.DDL-数据库操作CREATE DATABASE 数据库名;USE 数据库名DROP DATABASE 数据库名;2. DDL-表操作CREATE TABLE 表名(字段 字段类型,字段 字段类型);DESC 表名;SHOW CREATE TABLE 表名ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO..…
2023-11-29 21:05:11
150
1
原创 docker进阶学习笔记04
Docker-Compose是Docker官方的开源项目负责实现对Docker容器集群的快速编排。Compose是Docker公司推出的一个工具软件,可以管理多个Docker容器组成一个应用。你需要定义一个YAML格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。
2023-11-06 16:19:27
181
原创 docker进阶学习笔记03
网络模式 简介bridge 为每一个容器分配、设置IP等,并将容器连接到一个 docker0 虚拟网桥,默认为该模式。host 容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。none 容器有独立的 Network namespace,但并没有对其进行任何网络设置,如分配veth pair 和网桥连接,IP等。
2023-11-06 16:05:42
228
原创 docker进阶学习笔记02
从应用软件的角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段,Dockerfile是软件的原材料Docker镜像是软件的交付品Docker容器则可以认为是软件镜像的运行态,也即依照镜像运行的容器实例Dockerfle面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。1、Dockerfile,需要定义一个Dockerfile,Dockerfile定义了进程需要的一切东西。
2023-11-06 15:48:17
131
原创 docker进阶学习笔记01
为了在节点数目发生改变时尽可能少的迁移数据将所有的存储节点排列在收尾相接的Hash环上,每个key在计算Hash后会顺时针找到临近的存储节点存放。而当有节点加入或退出时仅影响该节点在Hash环上顺时针相邻的后续节点。优点:加入和删除节点只影响哈希环中顺时针方向的相邻的节点,对其他节点无影响。缺点:数据的分布和节点的位置有关,因为这些节点不是均匀的分布在哈希环上的,所以数据在进行存储时达不到均匀分布的效果。
2023-11-05 16:30:55
104
原创 docker学习笔记06
在这里,它将键名 "k1" 的值设置为 "v1"。这表示在 Redis 中创建一个名为 "k1" 的键,并将其值设置为 "v1"。之前的DB无效 ("DB" 通常指的是 "数据库"(Database)的缩写。( 这个命令创建了一个名为 "t1" 的新表,它有两列,分别是 "id"(整数类型)和 "name"(最大长度为 20 的字符串类型)。在这里,它会返回键名 "k1" 对应的值,即 "V1"。(这个命令向 "t1" 表中插入了一行数据,具体是插入了 (1, 'z3') 这一行。
2023-11-05 16:03:09
84
原创 docker学习笔记04
Docker中的镜像分层,支持通过扩展现有镜像,创建新的镜像。类似Java继承于一个Base基础类,自己再按需扩展。新镜像是从base镜像一层一层叠加生成的。每安装一个软件,就在现有镜像的基础上增加一层。
2023-11-05 15:30:59
225
原创 docker学习笔记03
attachAttach to a running container #当前shell下attach连接指定运行镜像buildBuild an image from a Dockerfile #通过 Dockerfile 定制镜像commitCreate a new image from a container changes #提交当前容器为新的镜像cp。
2023-11-05 15:15:53
66
原创 docker学习笔记02
需要正确的理解仓库/镜像/容器这几个概念:Docker本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就是image镜像文件。只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出来一个对象)。image文件可以看作是容器的模板。Docker根据image文件生成容器的实例。同一个image文件,可以生成多个同时运行的容器实例。镜像文件image文件生成的容器实例,本身也是一个文件,称为镜像文件。容器实例。
2023-11-05 14:48:37
78
原创 docker学习笔记01
假定您在开发一个尚硅谷的谷粒商城,您使用的是一台笔记本电脑而且您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。此外,您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。您希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销。请问?您要如何确保应用能够在这些环境中运行和通过质量检测?并且在部署过程中不出现令人头疼的版本、配置问题,也无需重新编写代码和进行故障修复?答案就是使用容器。
2023-11-05 14:35:03
116
原创 linux系统运维学习笔记05
在Linux操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期执行预先计划好的系统管理任务(如定期备份、定期采集监测数据)。RHEL6系统中默认已安装了at、cronie软件包,通过atd和crond这两个系统服务实现一次性、周期性计划任务的功能,并分别通过at、crontab命令进行计划任务设置。
2023-10-21 16:06:29
310
1
原创 linux系统运维学习笔记04
日志对象(设备):你要对什么东西做日志日志级别:级别越低,信息越多日志文件:存储日志的文件日志对象.日志级别 日志文件。
2023-10-21 15:35:17
238
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅