namespace

从零开始入门 K8s | K8s 安全之访问控制

随声附和 提交于 2020-03-20 02:48:32
作者 | 匡大虎 阿里巴巴技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 27 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 导读: 访问控制是云原生安全的一个重要组成部分,也是 K8s 集群在多租环境下必要且基本的安全加固手段。在 K8s 体系中,访问控制又分为三个重要的组成部分,请求认证,鉴权和运行时刻的 admission 准入控制。在本文中,作者将带领大家了解这 3 部分的基本定义和使用方法,并给出多租环境下安全加固的相关最佳实践。 一、Kubernetes API 请求访问控制 访问控制 大家都知道访问控制是云原生安全中的一个重要组成部分。也是一个 Kubernetes 集群在多租户环境下必须要采取的一个基本的安全防护手段。 那么在概念上可以抽象的定义为谁在何种条件下可以对什么资源做什么操作。这里的资源就是在 Kubernetes 中我们熟知的:Pod、 ConfigMaps、Deployment、Secrets 等等这样的资源模型。 Kubernetes API 请求 由上图来介绍一下 Kubernetes API 的请求从发起到其持久化入库的一个流程。 首先看一下请求的发起,请求的发起分为两个部分: 第一个部分是人机交互的过程。 是大家非常熟悉的用

从零开始入门 K8s | K8s 安全之访问控制

最后都变了- 提交于 2020-03-20 02:29:28
作者 | 匡大虎 阿里巴巴技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 27 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 导读: 访问控制是云原生安全的一个重要组成部分,也是 K8s 集群在多租环境下必要且基本的安全加固手段。在 K8s 体系中,访问控制又分为三个重要的组成部分,请求认证,鉴权和运行时刻的 admission 准入控制。在本文中,作者将带领大家了解这 3 部分的基本定义和使用方法,并给出多租环境下安全加固的相关最佳实践。 一、Kubernetes API 请求访问控制 访问控制 大家都知道访问控制是云原生安全中的一个重要组成部分。也是一个 Kubernetes 集群在多租户环境下必须要采取的一个基本的安全防护手段。 那么在概念上可以抽象的定义为谁在何种条件下可以对什么资源做什么操作。这里的资源就是在 Kubernetes 中我们熟知的:Pod、 ConfigMaps、Deployment、Secrets 等等这样的资源模型。 Kubernetes API 请求 由上图来介绍一下 Kubernetes API 的请求从发起到其持久化入库的一个流程。 首先看一下请求的发起,请求的发起分为两个部分: 第一个部分是人机交互的过程。 是大家非常熟悉的用

Saturn简介及架构介绍

泄露秘密 提交于 2020-03-19 13:40:40
3 月,跳不动了?>>> 整理自官方文档。 Saturn:一个分布式作业调度平台。据悉Saturn平台已经平稳运行,承载着唯品会核心系统的全部定时任务的调度,监控,配置,经受住了生产环境的各种考验。 简介:分布式定时任务的调度,取代传统的Linux Cron/Spring Batch Job的方式,做到全域统一配置,统一监控,任务高可用及分片并发处理。Saturn基于当当Elastic Job代码基础上由唯品会Venus体系自主研发的任务调度系统。 特性: 支持基于事件和时间触发 人工指定资源分配策略+自动平衡策略结合 任务开发语言不受限制,支持Shell(PHP,Bash, Python...)作业以及Java作业 支持一机一分片的本地化模式任务调度 任务按分片并行执行 框架和业务代码隔离,零依赖 分片的调度按负载均衡分布 可视化管理 支持秒级任务触发 可视化监控和报警 支持容器化(Docker)部署 术语定义: 术语 解释 作业(Job)和作业分片 作业(Job)是可以独立运行的脚本(shell作业)或者具备某项功能的函数实现(java、消息作业)。作业可并发执行在多个执行节点(Executor)上,作业分片定义了作业并发执行的数量以及执行编号。比如作业分片为2,则表示作业最多可以并发执行在2个执行结点上,执行编号为0和1。作业分片调度指将作业分片指派给执行结点

策略模式 极其简单的列子

Deadly 提交于 2020-03-19 00:15:59
第一篇博客 本文来自 自己老师 的博客 http://blog.csdn.net/lovelion/article/details/7818983 题目:某软件公司为某电影院开发了一套影院售票系统,在该系统中需要为不同类型的用户提供不同的电影票打折方式,具体打折方案如下: (1) 学生凭学生证可享受票价 8 折优惠; (2) 年龄在 10 周岁及以下的儿童可享受每张票减免 10 元的优惠(原始票价需大于等于 20 元); (3) 影院 VIP 用户除享受票价半价优惠外还可进行积分,积分累计到一定额度可换取电影院赠送的奖品。 该系统在将来可能还要根据需要引入新的打折方式 1.要满足开闭原则 二话不说先定义抽象类或接口 namespace StrategyTest { /// <summary> /// 抽象策略类 (折扣类) /// </summary> public interface IAbsStrategy { /// <summary> /// 打折 抽象方法(用拼音。。) /// </summary> /// <param name="price">价格</param> /// <returns>double</returns> double DaZhe(double price); } } 2.年龄在十岁以下-10元 namespace StrategyTest {

【算法学习】单调队列

自闭症网瘾萝莉.ら 提交于 2020-03-18 13:54:47
基础模板 求区间最大值最小值之差在[L,R]范围内的最长区间长度 int l=1; int l1=1,r1=0; int l2=1,r2=0; int ans=0; for(int r=1;r<=n;r++){ //删除队尾元素再入队,使满足单调性 while(l1<=r1 && a[r]>a[mxq[r1]]){ r1--; } mxq[++r1]=r; while(l2<=r2 && a[r]<a[mnq[r2]]){ r2--; } mnq[++r2]=r; //队首元素只能用来维护max和min的最大差值 while(l<=r && l1<=r1 && l2<=r2 && a[mxq[l1]]-a[mnq[l2]]>k){ l++; //删去队头无效元素 while(l1<=r1 && mxq[l1]<l){ l1++; } while(l2<=r2 && mnq[l2]<l){ l2++; } } //根据最小差值的限制,更新答案 if(l1<=r1 && l2<=r2 && a[mxq[l1]]-a[mnq[l2]]>=m){ ans=max(ans,r-l+1); } } 单调队列常用作有大小限制,带删除操作的优先队列?可用来优化dp,或其他类似状态转移。 例题 HDU3530 即上面的模板题 HDU3706 题意 给定 \(n\) , \(A\) , \(B\)

kubernetes搭建rook-ceph

丶灬走出姿态 提交于 2020-03-18 13:52:34
简介 Rook官网: https://rook.io Rook是 云原生计算基金会 (CNCF)的孵化级项目. Rook是Kubernetes的开源 云本地存储协调 器,为各种存储解决方案提供平台,框架和支持,以便与云原生环境本地集成。 至于CEPH,官网在这: https://ceph.com/ ceph官方提供的helm部署,至今我没成功过,所以转向使用rook提供的方案 有道笔记原文: http://note.youdao.com/noteshare?id=281719f1f0374f787effc90067e0d5ad&sub=0B59EA339D4A4769B55F008D72C1A4C0 环境 centos 7.5 kernel 4.18.7-1.el7.elrepo.x86_64 docker 18.06 kubernetes v1.12.2 kubeadm部署: 网络: canal DNS: coredns 集群成员: 192.168.1.1 kube-master 192.168.1.2 kube-node1 192.168.1.3 kube-node2 192.168.1.4 kube-node3 192.168.1.5 kube-node4 所有node节点准备一块200G的磁盘:/dev/sdb 准备工作 所有节点开启ip_forward cat <<EOF

c++重学笔记5 - 对象初始化

穿精又带淫゛_ 提交于 2020-03-16 20:12:09
喜欢这篇文章吗?喜欢的话去看博主的置顶博客,即可依据分类找到此文章的原版得到更好的体验, 图片及代码显示的问题,笔者深感抱歉,想要更好的体验去原博文即可。 title: c++重学笔记5 - 对象初始化 mathjax: true date: 2020-03-13 16:57:30 categories: [c++重学笔记] tags: [c++重学笔记] keywords: [c++重学笔记] 对象在使用以前一定要初始化    基本数据类型这里就不说了,直接讲类    类的对象的初始化往往使用了构造函数,但是很多人不会写构造函数,他们这样实现 # include <iostream> using namespace std ; class node { int x ; public : node ( ) { } node ( int x_ ) { x = x_ ; } } ; class my_class { node a , b , c , d ; public : my_class ( node a_ , node b_ , node c_ , node d_ ) { a = a_ ; b = b_ ; c = c_ ; d = d_ ; } } ; int main ( ) { } ``` < ! -- - more -- > & emsp ; & emsp ;

CodeForces - 1324 D. Pair of Topics 思维+多解法

人走茶凉 提交于 2020-03-16 20:08:32
CodeForces - 1324 D. Pair of Topics 原题地址: http://codeforces.com/contest/1324/problem/D 基本题意: 给你一个数组,找符合(i < j)ai + aj > bi + bj 的序列对的数量。 基本思路: 本质上我们设 ci = ai - bi 那么原式可以换为 ci + cj > 0,所以我们可以有几个思路: pbds黑科技解法,我们转换为 cj > -ci 直接上红黑树每次插入 -ci 暴力往前找rank; # include <bits/stdc++.h> # include <bits/extc++.h> using namespace std ; using namespace __gnu_pbds ; # define IO std::ios::sync_with_stdio(false) # define ll long long # define INF 0x3f3f3f3f typedef tree < pair < int , int > , null_type , less < > , rb_tree_tag , tree_order_statistics_node_update > rbtree ; const int maxn = 2e5 + 10 ; int n , a [

千锋逆战班,c++概述(一)

自闭症网瘾萝莉.ら 提交于 2020-03-16 16:57:34
这是在千锋“逆战”学习第 32天. 一边学习,一边写毕业设计. 今天开始要接触c++了,要好好学习。 中国加油!武汉加油!千锋加油! 加油加油! 1、c++的三大特性 封装:把客观的事务抽象成一个类(将数据和方法打包在一起,加以权限的区分,达到保护并安全使用数据的目的) 继承:继承所表达的是类之间相关的关系,这种关系使得对象可以继承另外一类对象的特征和能力 目的:避免公用代码的重复开发,减少代码和数据冗余。 多态:多态 多态性可以简单地概括为“一个接口,多种方法”,字面意思为多种形态。程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。 2、简单的概念 2.1、 ::作用域运算符(表明 数据、方法 的归属性问题) 2.2、命名空间 namespace解决命名冲突 2.3、using使用命名空间,简化了从命名空间的成员访问 总结: 1、命名空间的定义( 不能在 函数内 定义命名空间) 2、使用命名空间的成员 最安全的方式 命名空间名::成员名 3、using namespace 命名空间名;使用整个命名空间 (重要) using namespace A ; 4、单独 使用命名空间中的具体成员:using 命名空间名::成员名; using A :: a; 5、说明一下main中的std # include <iostream> //使用标准的命名空间std /

千锋逆战班,c++概述(一)

无人久伴 提交于 2020-03-16 16:46:05
这是在千锋“逆战”学习第 32天. 一边学习,一边写毕业设计. 今天开始要接触c++了,要好好学习。 中国加油!武汉加油!千锋加油! 加油加油! 1、c++的三大特性 封装:把客观的事务抽象成一个类(将数据和方法打包在一起,加以权限的区分,达到保护并安全使用数据的目的) 继承:继承所表达的是类之间相关的关系,这种关系使得对象可以继承另外一类对象的特征和能力 目的:避免公用代码的重复开发,减少代码和数据冗余。 多态:多态 多态性可以简单地概括为“一个接口,多种方法”,字面意思为多种形态。程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。 2、简单的概念 2.1、 ::作用域运算符(表明 数据、方法 的归属性问题) 2.2、命名空间 namespace解决命名冲突 2.3、using使用命名空间,简化了从命名空间的成员访问 总结: 1、命名空间的定义( 不能在 函数内 定义命名空间) 2、使用命名空间的成员 最安全的方式 命名空间名::成员名 3、using namespace 命名空间名;使用整个命名空间 (重要) using namespace A ; 4、单独 使用命名空间中的具体成员:using 命名空间名::成员名; using A :: a; 5、说明一下main中的std # include <iostream> //使用标准的命名空间std /