自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 收藏
  • 关注

原创 python学习一点 快乐一点【二分法】

nums[mid] == target 时,继续向左查找,看是否还有和 target 相等的数组元素。nums[mid] == target 时,继续向右查找,看是否还有和 target 相等的数组元素。题目来源:leetcode34. 在排序数组中查找元素的第一个和最后一个位置。一般二分法: nums[mid] == target 时,直接返回 mid。题目思路:用两个二分查找,一个二分查找查找左边界,另一个查找右边界。题目类型:在排序数组中查找元素的第一个和最后一个位置。第一步:寻找左边界。

2023-06-03 15:54:49 240

原创 python学习一点 快乐一点(24)提取字符串中最大的三个整数

提取字符串中最大的三个整数

2022-06-21 00:17:36 546

原创 学习路上好像一个人 python---滑动窗口

一:面试题 17.18. 最短超串 来源:力扣(LeetCode)(https://leetcode.cn/problems/shortest-supersequence-lcci/)假设你有两个数组,一个长一个短,短的元素均不相同。找到长数组中包含短数组所有的元素的最短子数组,其出现顺序无关紧要。返回最短子数组的左端点和右端点,如有多个满足条件的子数组,返回左端点最小的一个。若不存在,返回空数组。输入: big = [7,5,9,0,2,1,3,5,7,9,1,1,5,8,8,9,7] sma

2022-05-26 23:23:26 335

原创 python学习一点 快乐一点(24)盛最多水的容器

题目详情:leetcode(11. 盛最多水的容器)https://leetcode-cn.com/problems/container-with-most-water/给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。输入:[1,8,6,2,5,4,8,3,7]输出:49解释:

2022-01-08 22:43:24 352

原创 python学习一点 快乐一点(22)找最小数

找最小数力扣参考:移除k位数字https://leetcode-cn.com/problems/remove-k-digits/solution/yi-diao-kwei-shu-zi-by-leetcode-solution/给一个正整数num1,计算出新正整数num2,num2为num1中移除N位数字后的结果,需要使得num2的值最小输入:1.输入的第一行为一个字符串,字符串由0-9字符组成,记录正整数num1,num1长度小于322.输入的第二行为需要移除的数字的个数,小于num1长度

2021-09-18 21:05:06 2919

原创 python学习一点 快乐一点(17)最大单词长度乘积

最大单词长度乘积给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。https://leetcode-cn.com/problems/maximum-product-of-word-lengths/submissions/words = input().split(",")res = 0lens = len(words)for i

2021-08-31 00:02:58 333

原创 python学习一点 快乐一点(13)字符串序列判定

字符串序列判定思路:S=input()L=input()n = len(S)m = len(L)j = 0k = 0while j < n and k < m: ####双指针 if S[j] == L[k]: j+=1 k+=1if j==n: print(L.index(S[-1]))else: print("-1")

2021-08-29 22:04:55 2587 2

原创 temmppppp

s = input().split(",")res = []for i in s: res.append((i,s.count(i)))# print(res)line = list(set(res))line.sort(key=res.index)# print(line)line.sort(key=res.count,reverse=True)strline=""for i in line: strline+=str(i[0])print(",".join(strli

2021-08-18 23:33:37 158

原创 python学习一点 快乐一点(11) 排列序列

排列序列给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。 import math n = int(input()) k = int(input()) res = "" nums =[i for i in range(1,n

2021-08-15 21:04:59 316

原创 python学习一点 快乐一点(10)最长子串字符串的长度

最长子串字符串的长度arrStr = input()dict={"o":1}first= {0:-1} ##初始值,0的左边记第一次出现res = 0t=0for i,v in enumerate(arrStr): t ^= dict.get(v,0) ##get获取字典的value,有值返回值。无值返回value ##^=相同取0相异取1 print([i,v],t,first.setdefault(t,i),i-first.setdefault(t,i)) res =

2021-08-12 00:58:41 374

原创 python学习一点 快乐一点(9)贪吃蛇

贪吃蛇import syssteps = input().split(" ")MN = input().split(" ")M=int(MN[0])N=int(MN[1])arr = [] ###定义空间first=[] ##定义起始位置for i in range(M): line = sys.stdin.readline().strip().split() arr.append(line)for i in range(N): for j in range(N)

2021-08-11 00:13:46 244

原创 python学习一点 快乐一点(6)考勤信息

考勤信息要求:1s 262144k公司用一个字符串来表示员工的出勤信息:absent 缺勤late 迟到leaveearly 早退present 正常上班能获得全勤奖的条件:缺勤次数不超过1次不能连续迟到/早退任意的连续7次考勤中,缺勤、迟到、早退的次数不超过3次eg:输入:2presentpresent present输出:true true输入:2presentleaveearly late present present输出: true falsei

2021-08-04 23:52:10 1482

原创 python学习一点 快乐一点(5)判断一组不等式是否满足约束并输出最大差

判断一组不等式是否满足约束并输出最大差要求:1s 65535k给定一组不等式,判断是否成立并输出不等式的最大差(输出浮点数的整数部分)要求:1>不等式系数为double类型,是一个二维数组2>不等式的变量类型为int类型,是一维数组3>不等式的目标值为double类型,是一维数组4>不等式的约束为字符串数组,只能是:">",">=","=","<=","<"输入描述:a11,a12,a13,a14,a15;a21,a22,a23,a24,

2021-08-01 23:56:03 3837 2

原创 python学习一点 快乐一点(4)找终点

找终点要求:1s 262144k给定一个正整数数组,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员最少的步骤数。第一步必须从第一元素开始,1<=步长<len/2, 第二步开始以所在成员的数字走相应的步数,如果目标不可达返回-1,只输出最少的步骤数。eg:输入:1 2 3 7 1 5 9 3 2 1 输出:2输入:7 5 9 4 2 6 8 3 5 4 3 9 输出:-1nums = input().split(" ")res = float("inf"

2021-08-01 00:54:02 1243

原创 python学习一点 快乐一点(3)找出符合要求的字符串

找出符合要求的字符串要求:1s 262144k给定两个字符串,从字符串2中找出字符串1的所有字符,并去重后按ASCII排序#!/usr/bin/python# -*- coding: utf-8 -*-s1,s2 = input().split() ##将输入分割成两个字符串res = set([]) ##set去重for i in s1: if i in s2: res.add(i) ##res类型为集合print("".join((lambda x:(x

2021-07-30 00:21:23 791 2

原创 python学习一点 快乐一点(2)乱序整数序列两数之和绝对值最小

乱序整数序列两数之和绝对值最小要求:1s 262144k给定一个随机的整数数组(含正负整数),找出其中的两个数,其和的绝对值为最小值,并返回两个数,按从小到大返回以及绝对值。每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍输入:通过空格分割的有序整数序列字符串,最多1000个,范围(-65535,65535)输出:两数之和的绝对值最小值eg:输入: -1 -3 7 5 11 15输出:-3 5 2#!/usr/bin/python# -*- coding: utf-8 -*-

2021-07-29 00:21:51 3777

原创 python学习一点 快乐一点(1)停车场车辆统计

停车场车辆统计要求:1s 262144k特定大小的停车场,数组cars[ ]表示,其中0代表有车,1代表无车,车辆大小不一,统计停车场最少可以停多少辆车,返回具体的数字。长度小于1000输入:小车占一个车位(长度1),中车占两个车位(长度2),大车占三个车位(长度3)输出:整形数字字符串,表示最少停车数目eg:输入:1,1,0,0,1,1,1,0,1输出:3#!/usr/bin/python# -*- coding: utf-8 -*-cars=("".join(i for i in (

2021-07-27 23:28:12 4126 1

原创 openstack云主机实例二(Dashboard图形化界面、私有网络,运行封装的镜像、块存储服务、云硬盘拉伸)

文章目录1.配置Dashboard1.安全并配置组件2.在Dashboard创建云主机2.配置私有网络1 配置控制节点2.配置计算节点实验环境:可参考https://blog.csdn.net/Aimee_c/article/details/1072982701.配置DashboardDashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务。这个部署示例使用的是 Apache Web 服务器。在控制节点上安装和配置仪表板1.安

2020-07-21 00:52:05 2459

原创 openstack的部署与云主机实例

文章目录1.openstack部署1.1 环境搭建1.控制节点服务器主机网络2.网络时间协议(NTP)3.安装OpenStack包4.安装SQL数据库实验环境:控制节点:controller:172.25.1.1 2CPU,4G内存,5 GB 存储1.openstack部署1.1 环境搭建1.控制节点服务器主机网络[root@controller ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0BOOTPROTO=noneNAME=eth0

2020-07-19 14:39:49 2715

原创 hadoop+Zookeeper(平台部署、hdfs工作原理、yarn调度器、高可用)

文章目录1.设置单节点群集1.1 安装软件及设置1.2 独立运行1.3 伪分布式操作2.Hadoop集群设置2.1 完全分布式2.2 在线添加新节点参考官网:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html实验环境:172.25.0.1 server1: NameNode DFSZKFailoverController ResourceManager172.25.0.5

2020-07-16 21:13:51 855

原创 k8s高可用集群(Loadbalancer部署+keepalived配置+docker部署+kubeadm部署)

文章目录1.Loadbalancer部署2.keepalived配置以分布式方式配置集群实验环境:server1:172.25.1.1server2:172.25.1.2server3:172.25.1.41.Loadbalancer部署yum install -y keepalived haproxy 在三个节点安装keepalived和haproxyhaproxy配置[root@server1 ~]# cd /etc/haproxy/[root@server1 hapro

2020-07-10 17:56:48 2003 1

原创 kubernetes应用的包管理工具——Helm的安装、部署、构建Helm Chart、图形化kubeapps的部署

文章目录1.Helm介绍2. Helm安装1.安装Helm2.设置helm命令补齐3.Helm 添加第三方 Chart 库3. Helm 部署应用1.Helm介绍Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的 yum。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。• 对于应用发布者而言,可以通过 Helm 打包应用、管理

2020-07-09 21:52:15 1914

原创 kubernetes——HPA(Horizontal Pod Autoscaler水平自动缩放控制器)实例

文章目录1.根据CPU进行HPA伸缩过程1.1 运行 php-apache 服务器并暴露服务1.2 创建 Horizontal Pod Autoscaler1.3 增加负载2.根据HPAv2HPA伸缩官网参考:https://kubernetes.io/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/Horizontal Pod Autoscaler根据观察到的CPU使用率(或使用自定义指标支持,基于某些其他应用程序提

2020-07-08 21:56:03 969

原创 kubernetes资源监控(Metrics-Server部署+Dashboard部署)

文章目录1.Metrics-Server1.Metrics-ServerMetrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。• 容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了MetricsServer之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。• Metrics API 只可以查询当前的度量数据,并不保存历史数据。• Metrics API URI 为 /apis/metrics.

2020-07-08 10:43:24 3596

原创 k8s容器资源限制(内存限制、CPU限制、namespace的资源限制与资源配额)

文章目录1.资源的限制类型2.内存限制3. CPU限制4. 为namespace设置资源限制1.资源的限制类型Kubernetes采用request和limit两种限制类型来对资源进行分配。• request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能 运行Pod。• limit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。资源类型:• CPU 的单位是核心数,内存的单位是字节。• 一个容器申请0.5个CPU,就相当于申请1个

2020-07-06 22:47:21 5568

原创 kubernetes访问控制——Authentication认证、Authorization授权、服务账户的自动化

文章目录1.kubernetes API 访问控制2. Authentication(认证)1.创建serviceaccount2.添加secrets到serviceaccount3.把serviceaccount和pod绑定起来:4. 创建UserAccount3. Authorization(授权)3.1 RBAC(基于角色访问控制授权)介绍3.2 RBAC授权1.创建Role(权限的集合)2. RoleBinding和ClusterRoleBinding3.1 RBAC1.kubernetes AP

2020-07-05 08:12:17 1994

原创 kubernetes调度——(节点亲和、容器亲和性、污点与容忍、停止调度)

文章目录1.1.调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运 行。• kube-scheduler 是 Kubernetes 集群的默认调度器,并且是集群控制面的一部分。 如果你真的希望或者有这方面的需求,kube-scheduler 在设计上是允许你自己写一 个调度组件并替换原有的 kube-scheduler。• 在做调度决定时需要考虑的因素包括:单独和整

2020-07-03 12:11:43 3473

原创 kubernetes存储(三)——K8S的Volumes配置管理(动态卷+StorageClass存储类(class)+部署mysql主从集群)

文章目录1.StorageClass介绍2.配置NFS Client Provisioner3.StatefulSe控制器3.1 通过无头服务创建StatefulSe控制器维持Pod的拓扑状态3.2 StatefulSet的应用状态与弹缩3.3 StatefulSet+存储3.4 使用statefullset部署mysql主从集群1.StorageClass介绍StorageClass提供了一种描述存储类(class)的方法,不同的class可能会映射到不同的服务质量等级和备份策略或其他策略等。每个

2020-07-02 23:24:18 1904 1

原创 kubernetes存储(二)——K8S的Volumes配置管理(emptyDir卷、hostPath卷、nfs 卷、持久卷PV与持久卷声明PVC)

文章目录1.Volumes的介绍1.1 emptyDir卷1.2 hostPath卷1.3 nfs 卷1.4 持久卷PV与持久卷声明PVC1.创建pv2.创建pvc3. Pod挂载PV参考官网:https://kubernetes.io/zh/docs/concepts/storage/volumes/1.Volumes的介绍容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失, 因为容器会以干净的状态重建

2020-07-02 14:29:01 1031

原创 kubernetes存储(二)——K8S的Secret配置管理(创建、挂载、路径映射、设置环境变量、存储私有仓库认证信息)

文章目录1.Secret配置管理介绍2.创建Secret2.1 从文件中创建Secret2.2 编写一个 secret 对象3.将Secret挂载到Volume中4.向指定路径映射 secret 密钥5.将Secret设置为环境变量6.存储docker registry的认证信息1.Secret配置管理介绍Secret 对象类型用来保存敏感信息,例如密码、OAuth 令牌和 ssh key。 敏感信息放在 secret 中比放在 Pod 的定义或者容器镜像中来说更加安全和灵活。Pod 可以用两种方式使

2020-07-01 17:18:28 6526

原创 kubernetes存储(一)——K8S的Configmap配置管理(4种创建方式+使用)

文章目录1.ConfigMap配置管理介绍2.创建ConfigMap的4种方式2.1 使用字面值创建ConfigMap2.2 使用文件创建ConfigMap2.3 使用目录创建ConfigMap2.4 编写configmap的yaml文件创建ConfigMap参考官网:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/1.ConfigMap配置管理介绍ConfigMap配置管理•

2020-07-01 15:25:49 2241

原创 Kubernetes(K8S)(九)——ingress认证配置、地址重写

文章目录1.Ingress认证配置2.Ingress地址重写1.Ingress认证配置在master(server1):yum install -y httpd-tools2.Ingress地址重写

2020-07-01 11:50:16 2633

原创 Kubernetes(K8S)(八)——ingress服务部署、会话保持和TLS配置

文章目录1.Ingress介绍2. ingress服务部署3.创建Ingress服务4.使用HostNetwork本地端口直接访问服务5.实现会话保持6.Ingress TLS 配置1.Ingress介绍官网参考:https://kubernetes.github.io/ingress-nginx/Ingress是一种全局的、为了代理不同后端 Service 而设置的负载均衡服务,就是 Kubernetes 里的 Ingress 服务。Ingress由两部分组成:Ingress controller

2020-06-26 19:58:48 3675

原创 Kubernetes(K8S)(七)——网络插件flannel和calico应用于跨主机调度通信

文章目录1.网络插件flannel1.1 Flannel——vxlan模式跨主机通信1.2 Flannel——host-gw模式跨主机通信(纯三层)1.1 Flannel——vxlan+directrouting模式2.网络插件calico1.网络插件flannel跨主机通信的一个解决方案是Flannel,由CoreOS推出,支持3种实现:UDP、VXLAN、host-gwudp模式:使用设备flannel.0进行封包解包,不是内核原生支持,上下文切换较大,性能非常差vxlan模式:使用flanne

2020-06-26 14:01:14 1161

原创 Kubernetes(K8S)(六)——service(ClusterIP、NodePort、无头服务、LoadBalancer、ExternalName等)

文章目录1.Service介绍2.开启kube-proxy的ipvs模式3.创建service1.Service介绍Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。 service默认只支持4层负载均衡能力,没有7层功能。(可以通过Ingress实现)service的类型:• ClusterIP:默认值,k8s系统给service自动分配的虚拟IP,只能在集群内部访问。• NodePort:将Service通过指定的Node

2020-06-26 10:37:27 7358 3

原创 Kubernetes(K8S)(五)——控制器(ReplicaSet 、Deployment 、DaemonSet 、Job 、CronJob )

文章目录1.控制器的介绍2. ReplicaSet控制器1.控制器的介绍Pod 的分类:• 自主式 Pod:Pod 退出后不会被创建• 控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目控制器类型:• Replication Controller和ReplicaSet• Deployment• DaemonSet• StatefulSet• Job• CronJob• HPA全称Horizontal Pod Autoscaler1.Replication C

2020-06-25 23:49:33 683

原创 Kubernetes(K8S)(四)——Pod生命周期

文章目录1.Pod 怎样管理多个容器2.Pod的生命周期2.1 init容器1.创建Init容器2.2 探针1.存活探针示例2.就绪探针示例参考官网:https://kubernetes.io/zh/docs/concepts/workloads/pods/1.Pod 怎样管理多个容器Pod (就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个)容器容器是可移植、可执行的轻量级的镜像,镜像中包含软件及其相关依赖。(例如 Docker 容器),这些容器共享存储、网络、以及怎样运行这些容器的声明。Pod 中的内

2020-06-25 21:44:20 551

原创 Kubernetes(K8S)(三)——Kubernetes的资源清单

文章目录1.Kubernetes简介2.Kubernetes部署1.Kubernetes简介•在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应 用了很多年,Borg系统运行管理着成千上万的容器应用。• Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Borg系统中的经验和教训。•Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合, 将最终的应用服务交给用户。Kubernetes的优点:• 隐藏资源

2020-06-19 20:40:35 442

原创 Kubernetes(K8S)(二)——Kubernetes的Pod管理

文章目录1.相关配置2.创建自主式pod3.使用控制器部署pod4.Pod扩容与缩容5.service设定• Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。• 一个pod类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间共享IPC、Network和UTC namespace。1.相关配置kubectl命令:https://kubernetes.io/docs/reference/generate

2020-06-19 20:29:31 399

原创 Kubernetes(K8S)(一)——Kubernetes的基本介绍和集群部署

文章目录1.Kubernetes简介1.1 Kubernetes的优点1.2 kubernetes的集群组成1.3 kubernetes的设计架构2.Kubernetes部署1.Kubernetes简介在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用。Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Borg系统中的经验和教训。Kubernetes对计算资源进行了更高层次的抽象

2020-06-19 20:03:53 621

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除