985研一学习日记 - 2024.11.14

一个人内耗,说明他活在过去;一个人焦虑,说明他活在未来。只有当一个人平静时,他才活在现在。

日常

1、起床6:00

2、健身2h

3、LeetCode刷了题

  1. 动态规划概念
    1. 如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的这一点就区分于贪心贪心没有状态推导,而是从局部直接选最优的,有重叠子问题时使用动态规划DP,不可以用贪心,贪心是局部最优
    2. 有很多重叠子问题时,用动态规划最有效,从上一个状态推出当前状态,而贪心是局部最优解,无法解决动态规划问题
    3. 动规是由前一个状态推导出来的,而贪心是局部直接选最优
    4. 对于动态规划问题,我将拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!
      1. 确定dp数组以及下标的含义:一定要牢记dp数组下标的含义
      2. 确定递推公式
      3. dp数组如何初始化一些情况是递推公式决定了dp数组要如何初始化!
      4. 确定遍历顺序从递推公式确认遍历顺序
      5. 举例推导dp数组
    5. 找问题的最好方式就是把dp数组打印出来,看看究竟是不是按照自己思路推导的!
    6. 动态规划对于重叠子问题非常有效,根据之前的状态来推导当前的状态,贪心是局部最优解,不适用于动态规划;动态规划先定义dp数组,并确定每个下标的含义,然后确认递推公式,再初始化dp数组,确认遍历顺序,最后举例验证;如果出现错误则打印dp数组看是否符合预期
  2. 斐波那契数列
  3. 爬楼梯
    1. dp0应该 == 0,不应该定义为1,因为n为正整数,故n不可能为0
    2. 加大难度,最多可以m个阶梯到达
  4. 使用最小花费爬楼梯
    1. 此时从0和1开始,刚开始的花费是0的,每次根据前面的花费+对应向上走的花费来更新dp数组

4、复盘22:00

不复盘等于白学!!!


学习和感想

1. Kubernetes

1. 是什么:分布式系统管理框架

  1. 当容器太多时,急需一个大规模容器编排系统对所有的容器进行管理,K8s就是对一整个分布式系统的所有容器进行管理,对整个分布式系统的所有容器进行管理
  2. 服务发现和负载均衡:对所有的容器进行统一编排和处理,Kubernetes可以对所有的容器服务进行注册发现,其会对某个服务的请求进行负载均衡
  3. 存储编排:对所有的容器服务的存储进行统一管理
  4. 自动部署和回滚:将部分的容器服务直接回滚到之前的版本
  5. 自动完成装箱计算:Kubernetes允许指定每个容器所需的CPU和内存
  6. 自我修复:Kubernetes会对重启失败、停止允许的容器进行自我修复,自动恢复到结束之前的配置
  7. Kubernetes的特性![[attachments/Pasted image 20241114133256.png]]![[attachments/Pasted image 20241114133728.png]]

2. 架构

  1. Kubernetes一般都是集群模式,多个master节点和多个WorkNode节点

  2. Kubernetes Cluster = Nmaster + Nworknode,即N个master结点N个工作节点

  3. ![[attachments/Pasted image 20241114135237.png]]

  4. 集群中每个组件都是通过 api-server 进行通信每个结点都必须有一个 kubelet 进行结点的控制,每个结点通过 kube-proxy 进行通信,由kubelet对该节点进行配置,由kubeadm在主节点中对主节点进行配置,kubectl是命令行工具,对服务器中的kubenetes进行配置

3. Kubernetes创建集群

  1. 为每台机器安装Docker
  2. 为每个机器安装 Kubelet、Kubectl(K8S的命令行)、Kubeadm(快速搭建K8S集群),三大件不需要Docker,其他组件均需要Docker
  3. 选择一台机器在Kubadm中输入 kubadm init 来初始化为master节点
  4. 由master节点的kubelet自动去下载安装master核心组件 scheduler、kube-proxy、etcd、api-server、controller-manager
  5. 对于非master节点通过在kubadm中输入 kubadm join 来加入master节点,此时就变为WorkNode,然后由该节点的kubelet去安装kube-proxy

4. 创建三台云服务器

  1. 创建三台云服务器实例
  2. 为每个服务器配置公网IP,且设置一个VPC私有网络使得所有的服务器都放到一个VPC下,此时可以通过私网IP进行访问,速度快且不收费,只有同一个VPC私有网络下的服务器才可以通过私网IP进行互相访问,此时很快且不收费
  3. 只有同一个VPC下的机器才可以通过私网IP进行访问
  4. 要在创建服务器时指定VPC
  5. 为每个服务器中都安装Docker环境,且要安装与K8s的环境相匹配的版本
  6. 使用 systemctl enable docker --now 来启动Docker,此时enable是指开机启动–now指当前启动

5. Kubernetes创建集群

  1. 准备预备环境,更改配置

    1. ![[attachments/Pasted image 20241114220251.png]]![[attachments/Pasted image 20241114220534.png]]
      在这里插入图片描述
  2. 安装集群三大件:kubelet、kubeadm、kubectl

    1. kubelet、、kubeadm、kubectl![[attachments/Pasted image 20241114220720.png]]
  3. 使用kubeadm引导安装master节点

    1. 除了Kubenetes三大件,其余的组件都以容器的形式进行运行,要下载镜像然后运行![[attachments/Pasted image 20241114220910.png]]

    2. 下载好组件的镜像后要先初始化主节点master使用kubeadm init来初始化只在主节点中进行初始化,但要先在所有节点中指出当前的主节点,然后只在主节点中初始化,此时kubeadm会自动对master节点进行配置 ![[attachments/Pasted image 20241114221803.png]]

    3. 根据master节点的提示继续后面的操作,进行配置后,然后加入新的master节点,加入新的WorkNode节点(24小时内有效,超时可以申请令牌) ![[attachments/Pasted image 20241114221944.png]]![[attachments/Pasted image 20241114222102.png]]

    4. 使用kubectl get pods -A 查看部署的所有pos时出现了核心组件,则说明主master节点安装完成 ![[attachments/Pasted image 20241114223153.png]]

  4. 向集群中加入WorkNode

    1. 根据创建master节点完成后返回的操作提示来join工作节点WorkNode该提示中的命令是24小时之内有效的,如果超过24小时就不可以使用该命令加入新的节点了![[attachments/Pasted image 20241114223331.png]]

    2. 通过在master节点中 kubeadm token create --print-join-command 来获取新的加入WorkNode节点的令牌![[attachments/Pasted image 20241114224348.png]]

    3. 然后在master节点中使用kubectl get nodes来查看集群中的所有节点必须在master节点才可以查看

    4. 必须等所有pod都安装成功并Running后才可以看到nodes,可以使用 watch -n 1 kubectl get pod -A:来每s监控一次是否部署成功

  5. Kubenetes集群自我修复能力测试

    1. 集群宕机后重启,会自动恢复之前的配置
  6. Kubenetes命令

    1. kubectl get nodes:查看集群所有节点
    2. kubectl apply -f xxx.yaml根据配置文件,给集群创建资源
    3. kubectl get pods -A:查看集群部署了哪些应用(在Docker里面通过docker ps 查看所有正在运行的容器,在Kubunetes中叫 pod

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/471287.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.两数之和-力扣(LeetCode)

题目: 解题思路: 在解决这个问题之前,首先要明确两个点: 1、参数returnSize的含义是返回答案的大小(数目),由于这里的需求是寻找数组中符合条件的两个数,那么当找到这两个数时&#…

【excel】easy excel如何导出动态列

动态也有多重含义:本文将描述两种动态场景下的解决方案 场景一:例如表头第一列固定为动物,且必定有第二列,第二列的表头可能为猫 也可能为狗;这是列数固定,列名不固定的场景; 场景二&#xff1…

〔 MySQL 〕数据类型

目录 1.数据类型分类 2 数值类型 2.1 tinyint类型 2.2 bit类型 2.3 小数类型 2.3.1 float 2.3.2 decimal 3 字符串类型 3.1 char 3.2 varchar 3.3 char和varchar比较 4 日期和时间类型 5 enum和set mysql表中建立属性列: 列名称,类型在后 n…

LlamaIndex

一、大语言模型开发框架 SDK:Software Development Kit,它是一组软件工具和资源的集合,旨在帮助开发者创建、测试、部署和维护应用程序或软件。 所有开发框架(SDK)的核心价值,都是降低开发、维护成本。 大语言模型开发框架的价值,是让开发者可以更方便地开发基于大语言…

【FFmpeg】FFmpeg 函数简介 ③ ( 编解码相关函数 | FFmpeg 源码地址 | FFmpeg 解码器相关 结构体 和 函数 )

文章目录 一、FFmpeg 解码器简介1、解码流程分析2、FFmpeg 编解码器 本质3、FFmpeg 编解码器 ID 和 名称 二、FFmpeg 解码器相关 结构体 / 函数1、AVFormatContext 结构体2、avcodec_find_decoder 函数 - 根据 ID 查找 解码器3、avcodec_find_decoder_by_name 函数 - 根据 名称…

Linux——GPIO输入输出裸机实验

学习了正点原子Linux环境下的GPIO的输入输出的裸机实验学习,现在进行一下小结: 启动文件start.S的编写 .global _start .global _bss_start _bss_start:.word __bss_start.global _bss_end _bss_end:.word __bss_end_start:/*设置处理器进入SVC模式*/m…

zabbix搭建钉钉告警流程

目录 🌤️zabbix实验规划 🌤️zabbix实验步骤 📑1 使用钉钉添加一个自定义的机器人 ​ 📑2在zabbix-server上编写钉钉信息发送脚本,设置钉钉报警媒介 ☁️ 设置钉钉报警媒介​编辑​编辑 ☁️在添加消息模板​编辑​…

Java 多线程(三)—— 死锁

死锁的产生 我们先从简单的死锁最后到难一些的死锁问题开始展开讨论。 首先一个线程,一把锁,因为多次加锁而导致死锁问题,由于Java 的synchronized 实现了可重入锁,因此这个死锁问题就不存在了,意味着当一个线程拥有…

makefile 设置动态库路径参数

目录 一、makefile 动态库相关1.1 Libs 变量1.2 LDFLAGS 变量1.3 二者的作用和区别 二、设置方式2.1 编译时指定库路径2.2 运行时指定库路径 三、测试 一、makefile 动态库相关 1.1 Libs 变量 在 Makefile 中,Libs 通常是一个变量,用于存储链接器&…

Servlet入门 Servlet生命周期 Servlet体系结构

一.Servlet入门 1.Servlet介绍 Servlet (server applet) 是运行在服务端(tomcat)的Java小程序,是sun公司提供一套定义动态资源规范; 从代码层面上来讲Servlet就是一个接口 狭义的Servlet是指Java语言编写的一个接口。 广义的Servlet是指任何实现了这个Servlet接口…

穿越数据迷宫:C++哈希表的奇幻旅程

文章目录 前言📔一、unordered系列关联式容器📕1.1 unordered 容器概述📕1.2 哈希表在 unordered 容器中的实现原理📕1.3 unordered 容器的特点 📔二、unordered_set 和 unordered_map 的基本操作📕2.1 un…

飞牛云fnOS本地部署WordPress个人网站并一键发布公网远程访问

文章目录 前言1. Docker下载源设置2. Docker下载WordPress3. Docker部署Mysql数据库4. WordPress 参数设置5. 飞牛云安装Cpolar工具6. 固定Cpolar公网地址7. 修改WordPress配置文件8. 公网域名访问WordPress 前言 本文旨在详细介绍如何在飞牛云NAS上利用Docker部署WordPress&a…

2023年MathorCup数学建模B题城市轨道交通列车时刻表优化问题解题全过程文档加程序

2023年第十三届MathorCup高校数学建模挑战赛 B题 城市轨道交通列车时刻表优化问题 原题再现: 列车时刻表优化问题是轨道交通领域行车组织方式的经典问题之一。列车时刻表规定了列车在每个车站的到达和出发(或通过)时刻,其在实际…

安全见闻1-5

涵盖了编程语言、软件程序类型、操作系统、网络通讯、硬件设备、web前后端、脚本语言、病毒种类、服务器程序、人工智能等基本知识,有助于全面了解计算机科学和网络技术的各个方面。 安全见闻1 1.编程语言简要概述 C语言:面向过程,适用于系统…

闯关leetcode——3178. Find the Child Who Has the Ball After K Seconds

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/find-the-child-who-has-the-ball-after-k-seconds/description/ 内容 You are given two positive integers n and k. There are n children numbered from 0 to n - 1 standing in a queue in o…

Java结合ElasticSearch根据查询关键字,高亮显示全文数据。

由于es高亮显示机制的问题。当全文内容过多,且搜索中标又少时,就会出现高亮结果无法覆盖全文。因此需要根据需求手动替换。 1.根据es的ik分词器获取搜索词的分词结果。 es部分: //中文分词解析 post /_analyze {"analyzer":"…

Python——NumPy库的简单用法,超级详细教程使用

一、什么是NumPy库 NumPy:它是python的一个科学计算库函数,它是由c语言编写的 它应用于数据处理、机器学习、图像处理、文件操作等等 二、array函数 这里导入库numpy,命名为np,后面的np都是代表着是numpy函数 array函数表示创建…

【Java语言】String类

在C语言中字符串用字符可以表示,可在Java中有单独的类来表示字符串(就是String),现在我来介绍介绍String类。 字符串构造 一般字符串都是直接赋值构造的,像这样: 还可以这样构造: 图更能直观的…

自由学习记录(21)

感觉反而 还复杂一点,关系并不纯粹,游戏里用的少...的确 是知道为什么游戏不用了 理解思想就可以了,实际操作也是动态的分析,硬套某种模式也不是怎么很合适 MVC的了解应该是差不多了,重点还是实际中的使用了 所以删了…

Bugku CTF_Web——点login咋没反应

Bugku CTF_Web——点login咋没反应 进入靶场 随便输个试试 看来确实点login没反应 抓包看看 也没有什么信息 看了下源码 给了点提示 一个admin.css try ?12713传参试试 拿到一个php代码 <?php error_reporting(0); $KEYctf.bugku.com; include_once("flag.php&q…