node

k8s入门系列之介绍篇

旧街凉风 提交于 2019-12-30 10:29:48
Kubernetes介绍 1.背景介绍   云计算飞速发展     - IaaS     - PaaS     - SaaS   Docker技术突飞猛进     - 一次构建,到处运行     - 容器的快速轻量     - 完整的生态环境 2.什么是kubernetes   Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。   Kubernetes优势:     - 容器编排     - 轻量级     - 开源     - 弹性伸缩     - 负载均衡 •Kubernetes的核心概念 1.Pod   运行于Node节点上,若干相关容器的组合。Pod内包含的容器运行在同一宿主机上,使用相同的网络命名空间、IP地址和端口,能够通过localhost进行通。Pod是Kurbernetes进行创建、调度和管理的最小单位,它提供了比容器更高层次的抽象,使得部署和管理更加灵活。一个Pod可以包含一个容器或者多个相关容器。 2.Replication Controller   Replication Controller用来管理Pod的副本,保证集群中存在指定数量的Pod副本。集群中副本的数量大于指定数量

k8s的DamonSet使用

拟墨画扇 提交于 2019-12-30 10:15:46
Deployment 部署的副本 Pod 会分布在各个 Node 上,每个 Node 都可能运行好几个副本。DaemonSet 的不同之处在于:每个 Node 上最多只能运行一个副本。 1.DaemonSet 的典型应用场景 在集群的每个节点上运行存储 Daemon,比如 分布式存储 glusteFS 或 ceph。 在每个节点上运行日志收集 Daemon,比如 flunentd 或 logstash。 在每个节点上运行监控 Daemon,比如 Prometheus Node Exporter 或 collectd 其实 Kubernetes 自己就在用 DaemonSet 运行系统组件。执行如下命令: kubectl get daemonset --namespace=kube-system daemonSet kube-flannel-ds 和 kube-proxy 分别负责在每个节点上运行 flannel 和 kube-proxy 组件。 因为 flannel 和 kube-proxy 属于系统组件,需要在命令行中通过 --namespace=kube-system 指定 namespace kube-system 。如果不指定则只返回默认 namespace default 中的资源。 下面详细分析两个 k8s 自己的 DaemonSet: kube-flannel-ds

C# 泛型理解0

跟風遠走 提交于 2019-12-30 09:06:25
C# 泛型理解 PDF 浏览: http://www.tracefact.net/document/generics-in-csharp.pdf 源码下载: http://www.tracefact.net/SourceCode/Generics-In-CSharp.rar 出 处: http://www.ondotnet.com/pub/a/dotnet/2004/05/17/liberty.html 术语表 generics:泛型 type-safe:类型安全 collection: 集合 compiler:编译器 run time:程序运行时 object: 对象 .NET library:.Net类库 value type: 值类型 box: 装箱 unbox: 拆箱 implicity: 隐式 explicity: 显式 linked list: 线性链表 node: 结点 indexer: 索引器 简介 Visual C# 2.0 的一个最受期待的(或许也是最让人畏惧)的一个特性就是对于泛型的支持。这篇文章将告诉你泛型用来解决什么样的问题,以及如何使用它们来提高你的代码质量,还有你不必恐惧泛型的原因。 泛型是什么? 很多人觉得泛型很难理解。我相信这是因为他们通常在了解泛型是用来解决什么问题之前,就被灌输了大量的理论和范例。结果就是你有了一个解决方案

C# 理解泛型

风格不统一 提交于 2019-12-30 09:06:06
出处: http://www.ondotnet.com/pub/a/dotnet/2004/05/17/liberty.html 术语表 generics:泛型 type-safe:类型安全 collection: 集合 compiler:编译器 run time:程序运行时 object: 对象 .NET library:.Net类库 value type: 值类型 box: 装箱 unbox: 拆箱 implicity: 隐式 explicity: 显式 linked list: 线性链表 node: 结点 indexer: 索引器 简介 Visual C# 2.0 的一个最受期待的(或许也是最让人畏惧)的一个特性就是对于泛型的支持。这篇文章将告诉你泛型用来解决什么样的问题,以及如何使用它们来提高你的代码质量,还有你不必恐惧泛型的原因。 泛型是什么? 很多人觉得泛型很难理解。我相信这是因为他们通常在了解泛型是用来解决什么问题之前,就被灌输了大量的理论和范例。结果就是你有了一个解决方案,但是却没有需要使用这个解决方案的问题。 这篇文章将尝试着改变这种学习流程,我们将以一个简单的问题作为开始:泛型是用来做什么的?答案是:没有泛型,将会很难创建类型安全的集合。 C# 是一个类型安全的语言,类型安全允许编译器(可信赖地)捕获潜在的错误,而不是在程序运行时才发现(不可信赖地

C# 理解泛型

馋奶兔 提交于 2019-12-30 09:05:42
出处: http://www.tracefact.net/CSharp-Programming/Generics-In-CSharp.aspx 术语表 generics:泛型 type-safe:类型安全 collection: 集合 compiler:编译器 run time:程序运行时 object: 对象 .NET library:.Net类库 value type: 值类型 box: 装箱 unbox: 拆箱 implicity: 隐式 explicity: 显式 linked list: 线性链表 node: 结点 indexer: 索引器 简介 Visual C# 2.0 的一个最受期待的(或许也是最让人畏惧)的一个特性就是对于泛型的支持。这篇文章将告诉你泛型用来解决什么样的问题,以及如何使用它们来提高你的代码质量,还有你不必恐惧泛型的原因。 泛型是什么? 很多人觉得泛型很难理解。我相信这是因为他们通常在了解泛型是用来解决什么问题之前,就被灌输了大量的理论和范例。结果就是你有了一个解决方案,但是却没有需要使用这个解决方案的问题。 这篇文章将尝试着改变这种学习流程,我们将以一个简单的问题作为开始:泛型是用来做什么的?答案是:没有泛型,将会很难创建类型安全的集合。 C# 是一个类型安全的语言,类型安全允许编译器(可信赖地)捕获潜在的错误,而不是在程序运行时才发现(不可信赖地

C# 理解泛型

你离开我真会死。 提交于 2019-12-30 09:05:23
术语表 generics:泛型 type-safe:类型安全 collection: 集合 compiler:编译器 run time:程序运行时 object: 对象 .NET library:.Net类库 value type: 值类型 box: 装箱 unbox: 拆箱 implicity: 隐式 explicity: 显式 linked list: 线性链表 node: 结点 indexer: 索引器 简介 Visual C# 2.0 的一个最受期待的(或许也是最让人畏惧)的一个特性就是对于泛型的支持。这篇文章将告诉你泛型用来解决什么样的问题,以及如何使用它们来提高你的代码质量,还有你不必恐惧泛型的原因。 泛型是什么? 很多人觉得泛型很难理解。我相信这是因为他们通常在了解泛型是用来解决什么问题之前,就被灌输了大量的理论和范例。结果就是你有了一个解决方案,但是却没有需要使用这个解决方案的问题。 这篇文章将尝试着改变这种学习流程,我们将以一个简单的问题作为开始:泛型是用来做什么的?答案是:没有泛型,将会很难创建类型安全的集合。 C# 是一个类型安全的语言,类型安全允许编译器(可信赖地)捕获潜在的错误,而不是在程序运行时才发现(不可信赖地,往往发生在你将产品出售了以后!)。因此,在C#中,所有的变量都有一个定义了的类型;当你将一个对象赋值给那个变量的时候

C# 中的泛型

女生的网名这么多〃 提交于 2019-12-30 09:05:01
出处: http://www.ondotnet.com/pub/a/dotnet/2004/05/17/liberty.html 术语表 generics:泛型 type-safe:类型安全 collection: 集合 compiler:编译器 run time:程序运行时 object: 对象 .NET library:.Net类库 value type: 值类型 box: 装箱 unbox: 拆箱 implicity: 隐式 explicity: 显式 linked list: 线性链表 node: 结点 indexer: 索引器 简介 Visual C# 2.0 的一个最受期待的(或许也是最让人畏惧)的一个特性就是对于泛型的支持。这篇文章将告诉你泛型用来解决什么样的问题,以及如何使用它们来提高你的代码质量,还有你不必恐惧泛型的原因。 泛型是什么? 很多人觉得泛型很难理解。我相信这是因为他们通常在了解泛型是用来解决什么问题之前,就被灌输了大量的理论和范例。结果就是你有了一个解决方案,但是却没有需要使用这个解决方案的问题。 这篇文章将尝试着改变这种学习流程,我们将以一个简单的问题作为开始:泛型是用来做什么的?答案是:没有泛型,将会很难创建类型安全的集合。 C# 是一个类型安全的语言,类型安全允许编译器(可信赖地)捕获潜在的错误,而不是在程序运行时才发现(不可信赖地

平衡树 区间树 学习

巧了我就是萌 提交于 2019-12-30 05:44:05
前记 把之前学的平衡树都写一下,最近更新:Splay Treap 本人的Treap丢了,放之前学习的Treap看看 #include<bits/stdc++.h> using namespace std; struct Treap{ static const int MAXN=400000+10; static const int INF=2000000000; struct Node{ int val; int pri; int cnt; int r,l; int size; }tree[MAXN]; int root; int top; Treap(){ root=0; top=0; } void update(int node){ // 更新 node 的 size 值,相当于 Segment Tree 的 pushup tree[node].size=tree[tree[node].l].size+tree[tree[node].r].size+tree[node].cnt; } void zig(int& node) // 左旋,可以看到会修改 node 的值,因此传入了一个引用 { int root=tree[node].r; tree[node].r=tree[root].l; tree[root].l=node; update(node); update(root)

NodeJS旅程 : express - nodejs MVC 中的王牌

无人久伴 提交于 2019-12-30 03:04:56
express 正如ASP.NET MVC 在作为.net平台下最佳的 Mvc框架的地位一样, express 在 node.js 环境也有着相同的重要性。在百度上 "nodejs express" 会跑出一大堆关于怎么用开发 express 来开发mvc文章 ,相同的内容在这里我不想重复叙述,关于express的入手文章大家到百度上搜就好了。这只是一篇随笔不是教程, 我是想用ASP.NET MVC与 express 来在他们擅长的方面上做一些比较,从中看看我们作为开发人员能得到什么,哪一个对于我们更能带来好处。 express 与 OWIN OWIN 全名为:Open Web Interface for .net , 是一套可以让你在IIS中开辟中一套独立运行环境,按需配置模块可独立的应用程序框架。我不知道我的解释是否准确,更多的内容可以参考: "Getting Started with OWIN and Katana" 和 Katan 在Codeplex上的项目。 简单点理解就是你可以通过纯代码,在一个启动文件内配置一些已有的“中间件(middel ware) ” 来配置你的Web的功能。下面来看一段代码,这段代码是从asp.net上截取的,是向网站加入一个 日志的中间件实现日志记录 日志中间件实现 public class LoggerMiddleware :

NODEJS - express

旧时模样 提交于 2019-12-30 02:56:08
1.express组织结构 app demo |---node_modules------用于安装本地模块。 |---public------------用于存放用户可以下载到的文件,比如图片、脚本、样式表等。 |---routes------------用于存放路由文件。 |---views-------------用于存放网页的模板。 |---app.js------------应用程序的启动脚本。 |---package.json------项目的配置文件。 2..创建express服务器 //app.js文件 var express = require('express'); var app = express(); //指定更目录显示的内容 app.get('/', function(req, res){ res.send('Hello World'); }); //指定监听端口 app.listen(3000); 运行nodejs应用程序 />node app.js 注: 打开View 文件发现index.ejs比较不习惯,所以对app.js进行小改动: “app.set('view engine', 'ejs');” -》 “app.engine('.html', require('ejs') .__express); app.set('view engine',