Kubernetes是Google开源的容器集群管理系统.它构建于docker技术之上,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等整一套功能,本质上可看作是基于容器技术的mini-PaaS平台.本文旨在梳理Kubernetes的架构.概念及基本工作流,并且通过运行一个简单的示例应用来介绍如何使用Kubernetes. 如下图所示是我初步阅读文档和源代码之后整理的总体概览,基本上可以从如下三个维度来认识Kubernetes. 操作对象 Kubernetes以RESTFul形式开放接…
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库完成一个法律咨询管理系统.本系统要求类似网页后台管理效果,并且基于局域网内,完成多客户端操作同一数据库,根据权限不同分别执行不同功能模块.核心模块为级联统计类型管理.数据库咨询数据扇形统计.树的操作.咨询数据的管理.手写分页.Excel数据的导出.多用户操作服务器数据等.并支持多用户同时操作,远程连…
由于前几次都没能写完,这次年底总算有自由时间了,又想继续捣鼓一下.于是下载了VS 2015专业版(不知为什么我特别钟爱专业版,而不喜欢企业版).由于以前的教训,我这次决定写一个极简的Deom,简到什么程度呢?简单到只实现添加.修改栏目,用户登录后可以添加管理文章.管理员登陆后可以修改网站设置(也就标题.版权信息等)这些功能.为了避免以前大家经常搞不清哪个是最新的代码的情况,这次我准备把代码直接发布到Codeplex.com上做个代码开源,到时候大家直接去Codeplex.com下载最新代码就行了…
总体概览 如下图所示是我初步阅读文档和源代码之后整理的总体概览,基本上可以从如下三个维度来认识Kubernetes. 操作对象 Kubernetes以RESTFul形式开放接口,用户可操作的REST对象有三个: pod:是Kubernetes最基本的部署调度单元,可以包含container,逻辑上表示某种应用的一个实例.比如一个web站点应用由前端.后端及数据库构建而成,这三个组件将运行在各自的容器中,那么我们可以创建包含三个container的pod. service:是pod的路由代理抽象,…
Gatway概述.项目搭建 前言 有关网关的概念之前这里不在概述,因为之前在写zuul网关的时候有详细陈述过,地址如下: SpringCloud(7)---网关概念.Zuul项目搭建 SpringCloud(8)---zuul权限校验.接口限流 一.Gatway概念 1.Gatway是什么? Gatway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot2和Project Reactor等技术.Gateway旨在提供一种简单而有效的方式来对API进行路…
Kubernetes简介 Kubernetes是Google基于Borg开源的容器编排调度引擎,作为CNCF(Cloud Native Computing Foundation)最重要的组件之一,它的目标不仅仅是一个编排系统,而是提供一个规范,可以让你来描述集群的架构,定义服务的最终状态,Kubernetes可以帮你将系统自动得达到和维持在这个状态. 更直白的说,Kubernetes可以让用户通过编写一个yaml或者json格式的配置文件,也可以是通过工具/代码生成或者是直接请求Kubernet…
Kubernetes:架构.基本概念.用于总体了解 Kubernetes系列之介绍篇:优势.用途 Kubernetes核心概念总结…
系列目录 构建一个 Helm Chart 下面我们通过一个完整的示例来学习如何使用 Helm 创建.打包.分发.安装.升级及回退Kubernetes应用. 创建一个名为 mychart 的 Chart $ helm create mychart 该命令创建了一个 mychart 目录,该目录结构如下所示.这里我们主要关注目录中的 Chart.yaml.values.yaml.NOTES.txt 和 Templates 目录. [centos@k8s-master helm]$ tree mych…
kubectl用于运行Kubernetes集群命令的管理工具. 语法 kubectl [command] [TYPE] [NAME] [flags] command:指定要在一个或多个资源执行的操作 TYPE:指定资源类型Resource types.Resource types会区分大小写,也可以指定单数,复数或缩写的形式 Name区分大小写,如果省略Name,则显示所有资源的详细信息 命令行指定的flags将覆盖默认值和任何相应的环境变量 格式化输出 Formatting output 所有…
该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的UpdateTargetId属性,该属性值即是分页后要通过Ajax来更新的 DOM 元素的 ID. Ajax.Pager()方法返回AjaxPager对象,您可以通过Ajax.Pager()方法的重载来传递PagerOptions和MvcAjaxOptions参数,也可以通过新的AjaxPager的Opti…
断断续续使用ASP.NET MVC框架也有一年多了,也算积累了一些经验,唉,一直想写一些笔记好好总结一下,人太懒不想动笔,今天终于决定开始.希望自己能坚持下去. 这篇文章大体介绍ASP.NET MVC的基本架构,帮助你快速理解该框架的工作原理.关于MVC模式的介绍已经是汗牛充栋了,这里就不再赘述了.ASP.NET MVC 是基于原有ASP.NET运行时,ASP.NET运行时采用通道过滤器模式,可以高度的扩展.如下图所示: 图中Module相当于IHttpModule,Handler类似于IHtt…
一.容器: 1. 容器是运行一个或一组进程的方法,使得这些进程和主机上其他进程相隔离 2. 容器类似于虚拟机,但不同于虚拟机 容器                                       虚拟机 内核            调用宿主机的内核                 每个虚拟机一个 启动速度      秒级                                   分钟级 资源使用      仅容器里的进程占用              整个虚拟机占用 二.k…
根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指正. 本文总体介绍VisualGDB能给你带来哪些好处. 1 方便跨平台开发 VisualGDB和Visual Studio相结合,使得跨平台开发非常容易和简便.支持以下特性: 嵌入式Barebone系统和IoT模块: C/C++ Linux应用程序: 原生Android应用程序及库: Raspbery Pi及其他的Linux boards:…
一.概述 1.通过以往的学习应该可以了解到k8s 和以往提到的devops概念更容易落地了.比如我们说的CI,CD,CD a.CI(Continuous Integration):持续集成 b.CD():持续交付 c.CD(Continuous Deployment):持续部署 2.早期作为运维手工来实现发布和部署来讲我们一周发布一次就很头疼了,如果是持续部署的话一天可能要部署好几次甚至几十次.即当我们应用程序的程序员写完代码以后从本地推送到gitlab或者github之上,而后由对应的监控工具…
目录 1,devops的简述及要点 2,kubernetes的简单介绍与组成 特性 集群构成 pod的基本概念 kubernetes网络 1,devops的简述及要点 DevOps,分层架构 ---> 微服务 把一个程序,拆分成几个成百个微服务,使其相互独立运行 当下把微服务和容器融合起来,使其能够快速的落地. DevOps 在交互和部署环节的易购程度,在部署环节异常困难,而容器的出现,完全弥补了. CI: 持续集成 Continues Integration 作为运维的角度,得到一个应程序,需…
信号章节 -- 信号章节总体概要 信号基本概念 信号是异步事件,发送信号的线程可以继续向下执行而不阻塞. 信号无优先级. 1到31号信号是非实时信号,发送的信号可能会丢失,不支持信号排队. 31号信号到64是实时信号, 发送的信号都会被接收, 支持信号排队. 信号在Linux内核头文件中的宏定义 信号的处理 由于进程启动时,SIGUSR1和SIGUSR2被忽略,一般我们可以在有需要时,去捕获这两个信号,进而调用自己的处理函数.相应的,我们的程序其他地方去发送相应的信号. signal函数原型 以…
  随着公司业务的发展,数据量增长迅速,在解决Scale Out的同时,还要考虑到主从的复制延迟问题,尽量降到1s以内满足线上业务,如果不调整,SQL Server默认的配置可能平均要3s左右.生产的复制架构采用的是推送方式进行事务复制,发布服务器下面有4个从节点,两两指向同一虚拟IP,构成负载均衡,服务于不同的线上业务.对于4个节点,发布库和分法库的压力都很大,订阅库每秒I/O能达到5M,高峰时能达到数十兆.研究并试验了一些时间,给出一些优化建议: 1.硬件.数据库设计: 使用SSD磁盘,有钱…
我们首先来了解一下jdk,jre,jvm的之间的关系 jvm用于运行字节码,如果我们仅仅用于运行java程序,仅部署jre即可,如果我们需要进行java开发则需要jdk环境 java结构内容: java体系结构关系如下图所示: java程序调用java api经过编译,生成字节码文件,将字节码文件交由jvm运行…
以下来自于JDK1.6 一.Swing学习我划分为两个方面: 一方面Swing的界面设计部分,包括相关组件类的继承关系,组件的功能用途,布局管理: 1.首先继承关系上自上而下为 java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent(窗体中的各种组件工具类继承自此类,与AWT组件结构大部分相同) java.awt.Window javax.swing.JWindow(窗口) java.awt.Fr…
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过在浏览器中使用 JavaScript来创建更丰富的HTML体验.所以我相信Web API会越来越有它的用武之地. 说道Web API很多人都会想到Web服务,但是他们仍然有一定的区别:Web API服务是通过一般的 HTTP公开了,而不是通过更正式的服务合同 (如SOAP) 2. ASP.NET W…
1 什么是redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写…
mybatis使用起来不复杂,大体上来说,就是将db连接信息,所有的sql语句信息,都放到配置文件里面,然后去读配置信息,根据db信息,创建好session工厂,然后拿到sqlsession回话之后,再去读取sql语句信息,然后根据你指定的sql,去执行,传参数,并返回结果.返回的结果可以根据你在sql语句配置文件里的配置,自动转换成对象,方便使用.   1,conf.xml 文件      这里面配置了db的链接信息,属性信息,所有sql语句xml的mapperxml列表信息等.类似下面这种…
Kubernetes是Google开源的容器集群管理系统.它构建于docker技术之上,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等整一套功能,本质上可看作是基于容器技术的mini-PaaS平台.本文旨在梳理Kubernetes的架构.概念及基本工作流,并且通过运行一个简单的示例应用来介绍如何使用Kubernetes.   总体概览   如下图所示是我初步阅读文档和源代码之后整理的总体概览,基本上可以从如下三个维度来认识Kubernetes.   操作对象   Kubernetes…
概述 容器技术是最近几年非常热门的技术,它似乎就是为云端的应用量身定制的,所以它也被贴上了云原生应用 (Cloud Native Application) 技术的标签.目前最为流行的容器管理调度平台是 Kubernetes (缩写为 K8s),是 Google 为支持大批量容器而开发的企业级运行平台,可以支持负载均衡.高可靠等生产级功能.VMware 在 VMworld 2017 上也宣布了跟 Pivotal.Google 合作开发的 VMware Pivotal Container Servi…
概述 coredns之所以如此名声大噪,就是因为从kubernetes1.9开始引入,作为kubernetes内部服务发现的默认dns.毫无疑问kubernetes是coredns的后端之一,所以我们讲coredns,就从kubernetes作为其后端开始. coredns的诸多特性网上很多文章都有提及,在这里不再赘述.简单对比下其相对于bind和skydns的优势: bind可以将解析存储到mysql或者文件中,coredns也可以将解析存储到etcd或者文件中,也支持将kubernetes作…
Kubernetes存储卷概述 Pod本身具有生命周期,这就带了一系列的问题,第一,当一个容器损坏之后,kubelet会重启这个容器,但是文件会丢失-这个容器会是一个全新的状态:第二,当很多容器在同一Pod中运行的时候,很多时候需要数据文件的共享.Docker支持配置容器使用存储卷将数据持久存储于容器自身文件系统之外的存储空间之中,它们可以是节点文件系统或网络文件系统之上的存储空间.相应的,kubernetes也支持类似的存储卷功能,不过,其存储卷是与Pod资源绑定而非容器. 简单来说,存储卷是…
目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4.1 环境介绍 4.2 配置节点的基本环境 4.3 节点安装docker,并进行相关配置 4.4 安装kubelet,kubeadm,kubectl 4.5 kubeadm初始化 4.6 添加worker节点到k8s集群 4.7 部署CNI网络插件calico 4.8 配置kubectl命令tab键自…
环境 $ sudo lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.2 LTS Release: 16.04 Codename: xenial $ kubectl version Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.4&…
检查端口占用 lsof -i:[port] netstat -anp |grep [port] 监控网络客户TCP连接数 netstat -anp | grep tcp |wc -l 获取某进程中运行中的线程数量 ls /proc/[PID]/task | wc -l 输出进程内存的状况,分析线程堆栈 pmap 统计文档容量 du -sh [目录|文件|正则] 例如:查看日志文件大小,从而判定日志是否被入侵者清理掉. du -sh /var/log/* 查看文件系统挂载点容量 df -h |gr…
一.概述 经过HelloWorld示例(Spring Boot 2.x 快速入门(上)HelloWorld示例)( Spring Boot 2.x 快速入门(下)HelloWorld示例详解)两篇的学习和练习,相信你已经知道了Spring Boot是如此的简单,但又有不少疑惑,那么多注解如何记住,他的生态怎么样,缓存.NoSQL.定时器.邮件发送等细节功能如何处理. 如果你觉得一篇一篇看文章学习太耗时间,你看这篇就够啦,如果你觉得这篇太长,可以分期慢慢看. 下载本章源码 本章是一个文章发布管理系…