- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 单例模式
单例模式单例模式是Java种最简单的设计模式之一。这种类型的设计模式属于创建者模式,它提供了一种创建对象的最佳方式。这种设计方式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一对象的方式,可用直接访问,不需要实例化对象。注意:1.单例类只能有一个实例。2.单例类必须自己创建自己的唯一实例。3.单例类必须给所有其他对象提供这一实例。优点1.在内存里只有一个实例,减少的内存的开销,尤其是那种频繁创建和销毁对象的场景。2.避免对资源的多重占
2021-04-25 16:45:09
135
转载 K8s service
一、需求来源为什么需要服务发现?kubernetes应用应如何相互调用?Pod生命周期短暂,IP地址随时变化Deployment等的Pod组需要统一访问入口和负载均衡应用在不同环境部署时,保持同样的部署拓扑和访问方式在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机器的 IP 地址。但是在 K8s 集群里面应用是通过 pod 去部署的, 而 pod 生命周期是短暂的。在 pod 的生命周期过程中,比如它创建或销毁
2021-03-01 17:45:17
287
转载 Kubernetes网络原理与策略控制
一、Kubernetes基本网络模型Kubernetes对一个容器网络是否合格做出了限制,也就是Kubernetes等容器网络模型,大致可以分为约法三章和四大目标:约法三章指的是在评价一个容器网络或者设计容器网络的时候,它需要满足三个准入条件,这样的网络才能认为它是一个合格的网络。四大目标的意思是在设计网络具体功能实现的时候,要想清楚,能不能达成连通性这四大指标。约法三章:第一条:任意两个pod之间是可以直接通信的,无需经过显式地使用NAT来接收数据和地址的转换;第二条:node和pod之
2021-03-01 16:57:55
268
转载 应用编排与管理
背景问题如下图所示:如果我们直接管理集群中所有的 Pod,应用 A、B、C 的 Pod,其实是散乱地分布在集群中。现在有以下的问题:首先,如何保证集群内可用 Pod 的数量?也就是说我们应用 A 四个 Pod 如果出现了一些宿主机故障,或者一些网络问题,如何能保证它可用的数量?如何为所有 Pod 更新镜像版本?我们是否要某一个 Pod 去重建新版本的 Pod?然后在更新过程中,如何保证服务的可用性?以及更新过程中,如果发现了问题,如何快速回滚到上一个版本?Deployment:管理部署发
2021-03-01 15:30:15
486
转载 应用编排与管理:核心原理
一、资源元信息1、kubernetes资源对象Kubernetes 的资源对象组成:Spec:用来描述期望的状态Status:用来描述观测到的状态元数据:Labels:用来识别资源的标签Annotations:用来描述资源的注解OwnerReference:用来描述多个资源之间相互关系2、Labels第一个元数据,也是最重要的一个元数据:资源标签。资源标签是一种具有标识型的 Key:Value 元数据。举个例子:environment:productionrelease:st
2021-01-19 10:48:18
183
原创 理解pod和容器设计模式
四、理解pod和容器设计模式1.为什么需要pod容器基本概念为什么需要 Pod?我们知道 Pod 是 Kubernetes 项目里面一个非常重要的概念,也是非常重要的一个原子调度单位,但是为什么我们会需要这样一个概念呢?我们在使用容器 Docker 的时候,也没有这个说法。其实如果要理解 Pod,我们首先要理解容器,所以首先来回顾一下容器的概念:容器的本质实际上是一个进程,是一个视图被隔离,资源受限的进程。容器里面 PID=1 的进程就是应用本身,这意味着管理虚拟机等于管理基础设施,因为我们是在管
2021-01-13 10:43:54
715
原创 Kubernetes核心概念
Kubernets核心概念1.什么是Kubernetes?Kubernetes 是一个自动化的容器编排平台,它负责应用的部署、应用的弹性以及应用的管理,这些都是基于容器的。2.Kubernetes 核心功能服务的发现与负载的均衡;容器的自动装箱,我们也会把它叫做 scheduling,就是“调度”,把一个容器放到一个集群的某一个机器上,Kubernetes 会帮助我们去做存储的编排,让存储的声明周期与容器的生命周期能有一个连接;Kubernetes 会帮助我们去做自动化的容器的恢复。
2021-01-13 10:20:36
228
1
原创 容器基本概念
容器基本概念1.容器与镜像什么是容器?容器就是一个视图隔离、资源可限制、独立文件系统的进程集合。所谓“视图隔离”就是能够看到部分进程以及具有独立的主机名等;控制资源使用率则是可以对于内存大小以及 CPU 使用个数等进行限制。容器就是一个进程集合,它将系统的其他资源隔离开来,具有自己独立的资源视图。容器具有一个独立的文件系统,因为使用的是系统的资源,所以在独立的文件系统内不需要具备内核相关的代码或者工具,我们只需要提供容器所需的二进制文件、配置文件以及依赖即可。只要容器运行时所需的文件集合都能够具备,
2021-01-13 10:17:55
8621
原创 云原生
云原生1.云原生技术发展历程2004 年— 2007 年,Google 已在内部大规模地使用像 Cgroups 这样的容器技术;2008 年,Google 将 Cgroups 合并进入了 Linux 内核主干;2013 年,Docker 项目正式发布。2014 年,Kubernetes 项目也正式发布。这样的原因也非常容易理解,因为有了容器和 Docker 之后,就需要有一种方式去帮助大家方便、快速、优雅地管理这些容器,这就是 Kubernetes 项目的初衷。在 Google 和 Redhat
2021-01-13 10:16:30
173
转载 云原生与微服务
一、什么是云原生?CNCF给出了云原生应用的三大特征:面向微服务:明确服务间的依赖,互相解耦。容器化封装:以容器为基础,提高整体开发水平,形成代码和组件重用,简化云原生应用程序的维护。在容器中运行应用程序和进程,并作为应用程序部署的独立单元,实现高水平资源隔离。动态管理:通过集中式的编排调度系统来动态的管理和调度。所以,到底什么是云原生?云原生从字面意思上来看可以分成云和原生两个部分。云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了IaaS、PaaS和Sa
2020-12-30 20:35:30
5180
1
学生选课系统.zip
2019-10-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人