07 2021 档案

git tag
摘要:1018 git clone https://github.com/kubernetes/ingress-nginx.git 1023 git tag --list 1025 git checkout -b controller-v0.44.0 root@ubuntu:~/nginx_ingress 阅读全文

posted @ 2021-07-30 17:49 tycoon3 阅读(35) 评论(0) 推荐(0) 编辑

ingress-nginx
摘要:root@ubuntu:~/nginx_ingress# kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.44.0/deploy/static/provider/clo 阅读全文

posted @ 2021-07-30 16:38 tycoon3 阅读(3330) 评论(0) 推荐(0) 编辑

unix socket share different docker
摘要:unix server root@ubuntu:~/docker# docker run -it --name debian -v /data1/unix_domain:/data1/unix_domain debian root@b1a3bef38722:/# ls bin boot data1 阅读全文

posted @ 2021-07-30 15:27 tycoon3 阅读(94) 评论(0) 推荐(0) 编辑

C++中的std::async
摘要:1、std::async函数原型: template<class Fn, class... Args> future<typename result_of<Fn(Args...)>::type> async(launch policy, Fn&& fn, Args&&...args); 功能:第二个 阅读全文

posted @ 2021-07-30 11:14 tycoon3 阅读(666) 评论(0) 推荐(0) 编辑

C++11 学习笔记 std::function和bind绑定器
摘要:1.1 可调用对象(Callable Objects) 可调用对象有如下几种: 函数指针 具有operator()成员函数的类对象(仿函数) 可被转换为函数指针的类对象 类成员(函数)指针 以上涉及的对象可以像一个函数一样做调用操作,统称为可调用对象。现在,C++11通过提供std::functio 阅读全文

posted @ 2021-07-30 09:49 tycoon3 阅读(427) 评论(0) 推荐(0) 编辑

spinlock in c++11 based on atomic_flag std::memory_order_acquire
摘要:C++原子库中仅保证atomic_flag是保证无锁的,而atomic< int>,atomic< bool>不是 spinlock.h #ifndef _SPINLOCK_H_20170410_ #define _SPINLOCK_H_20170410_ #include <atomic> cla 阅读全文

posted @ 2021-07-29 18:09 tycoon3 阅读(245) 评论(0) 推荐(0) 编辑

c++ nullptr
摘要:nullptr使用代码如下: int *ptr = nullptr; 大家对此有过疑问吗,都是表示空指针,之前NULL使用的好好的,为什么要引入nullptr,nullptr和NULL又有什么区别呢? 首先看下NULL究竟是什么? 源码在此: #ifndef NULL #ifdef __cplusp 阅读全文

posted @ 2021-07-29 18:06 tycoon3 阅读(296) 评论(0) 推荐(0) 编辑

C++11 新特性: unordered_map 与 map 的对比
摘要:unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序, 存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素是无序的,而map中的元素是按照二叉搜索 阅读全文

posted @ 2021-07-29 17:05 tycoon3 阅读(909) 评论(0) 推荐(0) 编辑

C++11新特性之 default and delete
摘要:default c++11 引入 default 特性,多数时候用于声明构造函数为默认构造函数,如果类中有了自定义的构造函数,编译器就不会隐式生成默认构造函数,如下代码: struct A { int a; A(int i) { a = i; } }; int main() { A a; // 编译 阅读全文

posted @ 2021-07-29 16:13 tycoon3 阅读(235) 评论(0) 推荐(0) 编辑

k8s——Job
摘要:Job Controller Job Controller负责根据Job Spec创建Pod,并持续监控Pod的状态,直至其成功结束。如果失败,则根据restartPolicy(只支持OnFailure和Never,不支持Always)决定是否创建新的Pod再次重试任务。 Job用途容器按照持续运行 阅读全文

posted @ 2021-07-29 15:46 tycoon3 阅读(157) 评论(0) 推荐(0) 编辑

Pod控制器之DaemonSet
摘要:Pod控制器之DaemonSet 简介: DaemonSet 确保全部(或者一些)Node 上运行一个 Pod 的副本。当有 Node加入集群时,也会为他们新增一个 Pod 。当有 Node 从集群移除时,这些 Pod也会被回收。删除 DaemonSet将会删除它创建的所有 Pod 使用 Daemo 阅读全文

posted @ 2021-07-29 15:13 tycoon3 阅读(82) 评论(0) 推荐(0) 编辑

c++11特性initializer_list
摘要:一、概念 initializer_list是C++11中提供的一种标准库类型(ps:其实也是一个模板类),用于表示某种使用特定类型的值的数组。 initializer_list中的值都是常量值,无法修改。 二、提供的操作(以int型举例) 申明: initializer_list<int> lst; 阅读全文

posted @ 2021-07-29 10:53 tycoon3 阅读(289) 评论(0) 推荐(1) 编辑

Kubernetes中StatefulSet
摘要:root@ubuntu:~/tenant# cat stateful.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: serviceName: "nginx" replicas: 2 selector: mat 阅读全文

posted @ 2021-07-28 17:45 tycoon3 阅读(457) 评论(0) 推荐(0) 编辑

委托构造函数
摘要:#include <iostream> using namespace std; class A { private: int i=5; string str="init value"; public: A(){ str="A()"; i=99; } A(int ii):A(){ //不能写成AA( 阅读全文

posted @ 2021-07-28 15:30 tycoon3 阅读(149) 评论(0) 推荐(0) 编辑

Golang Interface 内部实现
摘要:nil 不同的nil nil其实甚至不是golang的关键词,只是一个变量名。定义在 buildin/buildin.go 中 // nil is a predeclared identifier representing the zero value for a // pointer, chann 阅读全文

posted @ 2021-07-21 16:04 tycoon3 阅读(258) 评论(0) 推荐(0) 编辑

Golang的反射reflect深入理解和示例
摘要:reflect的基本功能TypeOf和ValueOf 既然反射就是用来检测存储在接口变量内部(值value;类型concrete type) pair对的一种机制。那么在Golang的reflect反射包中有什么样的方式可以让我们直接获取到变量内部的信息呢? 它提供了两种类型(或者说两个方法)让我们 阅读全文

posted @ 2021-07-21 15:35 tycoon3 阅读(427) 评论(0) 推荐(0) 编辑

golang中方法接收者为指针和非指针的区别
摘要:package main import "fmt" type testint int //乘2 func (p *testint) testdouble() int { *p = *p * 2 fmt.Println("testdouble p = ", *p) return 0 } //平方 fu 阅读全文

posted @ 2021-07-21 12:07 tycoon3 阅读(498) 评论(0) 推荐(0) 编辑

匿名字段和内嵌结构体
摘要:匿名字段和内嵌结构体 结构体可以包含一个或多个 匿名(或内嵌)字段,即这些字段没有显式的名字,只有字段的类型是必须的,此时类型就是字段的名字。匿名字段本身可以是一个结构体类型,即 结构体可以包含内嵌结构体。 可以粗略地将这个和面向对象语言中的继承概念相比较,随后将会看到它被用来模拟类似继承的行为。G 阅读全文

posted @ 2021-07-21 11:44 tycoon3 阅读(243) 评论(0) 推荐(0) 编辑

Go函数式编程的闭包和装饰器设计模式
摘要:函数式编程的准则: 不依赖外部的数据,也不改变外部数据的值,而是返回一个新的值。 func inc(v int ) int { return v+1 } 在面向对象编程中,我们传递的是对象,在函数式编程中,传递的是函数,函数可以作为另一个函数的参数或返回值、可以赋值给一个变量。 闭包经常用在函数式编 阅读全文

posted @ 2021-07-20 19:11 tycoon3 阅读(201) 评论(0) 推荐(0) 编辑

理解Golang中defer的使用
摘要:在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。通过defer,我们可以在代码中优雅的关闭/清理代码中所使用的变量。defer作为golan 阅读全文

posted @ 2021-07-20 17:26 tycoon3 阅读(274) 评论(0) 推荐(0) 编辑

Go匿名函数及闭包
摘要:匿名函数 1. 赋值给函数变量 package main import "fmt" func main() { sumFun := func(num1, num2 int) int { return num1 + num2 } sum := sumFun(10, 20) fmt.Println(su 阅读全文

posted @ 2021-07-20 16:56 tycoon3 阅读(250) 评论(0) 推荐(0) 编辑

GO语言学习笔记-缓冲区Channels和线程池
摘要:什么是缓冲区Channel 之前讨论的所有channel都是不带缓冲区的,因此读取和写入都会被阻塞。创建一个带缓冲区的channel也是可能的,这种channel只有在缓冲区满后再写入或者读取一个空的channel时才会被阻塞。 创建一个带缓冲区的channel需要一个额外的参数容量来表明缓冲区大小 阅读全文

posted @ 2021-07-20 16:13 tycoon3 阅读(213) 评论(0) 推荐(0) 编辑

你需要知道的关于Neutron的一切事情
摘要:创建一个网络 (GREEN). 在这个网络上创建一个子网,然后在这个网络上生成两个虚拟主机(VMs). 创建另一个网络(RED),在这个网络上创建不同的子网,然后在这个网络上产生另两个不同的VMs。 验证上面操作流程创建的端口,理解OPenStack网络端口为什么是有用的。 上面操作完成后,我们将有 阅读全文

posted @ 2021-07-20 15:09 tycoon3 阅读(533) 评论(0) 推荐(0) 编辑

[]T 还是 []*T, 这是一个问题
摘要:在编程语言深入讨论中,经常被大家提起也是争论最多的讨论之一就是按值(by value)还是按引用传递(by reference, by pointer),你可以在C/C++或者Java的社区经常看到这样的讨论,也会看到很多这样的面试题。 对于Go语言,严格意义上来讲,只有一种传递,也就是按值传递(b 阅读全文

posted @ 2021-07-20 12:05 tycoon3 阅读(117) 评论(0) 推荐(0) 编辑

Golang 方法接收者为值与指针的区别
摘要:Golang 中同时有函数和方法。方法是一个包含了接收者(receiver)的函数,receiver可以是内置类型或者自定义类型struct的一个值或者是一个指针。所有给定类型的方法组成该类型的方法集。 方法的定义语法格式如下: func (r ReceiverType) funcName(para 阅读全文

posted @ 2021-07-19 18:07 tycoon3 阅读(149) 评论(0) 推荐(0) 编辑

golang 优先级队列
摘要:container/heap 本文是 Go 标准库中 container/heap 包文档的翻译, 原文地址为: https://golang.org/pkg/container/heap/ 概述 包 heap 为所有实现了 heap.Interface 的类型提供堆操作。 一个堆即是一棵树, 这棵 阅读全文

posted @ 2021-07-16 17:21 tycoon3 阅读(1302) 评论(0) 推荐(0) 编辑

map interface{}
摘要:package main import ( "fmt" ) func main() { mapInterface := make(map[interface{}]interface{}) mapString := make(map[string]string) mapInterface["k1"] 阅读全文

posted @ 2021-07-16 17:12 tycoon3 阅读(164) 评论(0) 推荐(0) 编辑

slice 和数组
摘要:数组和slice的区别 声明数组时,方括号内写明了数组的长度或者...,声明slice时候,方括号内为空 作为函数参数时,数组传递的是数组的副本,而slice传递的是指针。 数组与切片数组是具有相同唯一类型的一组已编号且长度固定的数据项序列。数组长度最大为2Gb,它是值类型。切片是对数组一个连续片段 阅读全文

posted @ 2021-07-16 16:31 tycoon3 阅读(111) 评论(0) 推荐(0) 编辑

理解 Go interface 的 5 个关键点
摘要:1、interface 是一种类型 type I interface { Get() int } 首先 interface 是一种类型,从它的定义可以看出来用了 type 关键字,更准确的说 interface 是一种具有一组方法的类型,这些方法定义了 interface 的行为。 go 允许不带任 阅读全文

posted @ 2021-07-16 15:30 tycoon3 阅读(404) 评论(0) 推荐(0) 编辑

volcano networkpolicy
摘要:root@ubuntu:~/tenant# kubectl get networkPolicy --output yaml apiVersion: v1 items: - apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: c 阅读全文

posted @ 2021-07-16 14:45 tycoon3 阅读(51) 评论(0) 推荐(0) 编辑

通过 iptables log 日志追踪 Kubernetes 网络
摘要:If you are debugging IPTables, it is handy to be able to trace the packets while it traverses the various chains. I was trying to find out why port fo 阅读全文

posted @ 2021-07-15 17:40 tycoon3 阅读(725) 评论(0) 推荐(0) 编辑

Network Policy Enforcement
摘要:Network Policy Enforcement While network policy designs are out of scope for this reference architecture, it is a core feature of Calico and thus is m 阅读全文

posted @ 2021-07-15 14:30 tycoon3 阅读(129) 评论(0) 推荐(0) 编辑

calico 容器编排之Kubernetes多租户网络隔离
摘要:Kubernetes的一个重要特性就是要把不同node节点的pod(container)连接起来,无视物理节点的限制。但是在某些应用环境中,比如公有云,不同租户的pod不应该互通,这个时候就需要网络隔离。幸好,Kubernetes提供了NetworkPolicy,支持按Namespace级别的网络隔 阅读全文

posted @ 2021-07-14 16:47 tycoon3 阅读(1206) 评论(0) 推荐(0) 编辑

Kubernetes的原生多租户解决方案
摘要:Kubernetes的原生多租户解决方案 Kubernetes提供一系列原生Kubernetes API与资源,用于帮助在单一集群内建立起多租户体系。下面,我们将介绍如何在计算、网络以及存储方面实现多租户资源隔离。 计算隔离 Kubernetes说明文档中将命名空间定义为“一种在多个用户之间分配集群 阅读全文

posted @ 2021-07-14 16:44 tycoon3 阅读(1711) 评论(0) 推荐(0) 编辑

使用 Admission Webhook 机制实现多集群资源配额控制
摘要:1 要解决的问题 集群分配给多个用户使用时,需要使用配额以限制用户的资源使用,包括 CPU 核数、内存大小、GPU 卡数等,以防止资源被某些用户耗尽,造成不公平的资源分配。 大多数情况下,集群原生的 ResourceQuota 机制可以很好地解决问题。但随着集群规模扩大,以及任务类型的增多,我们对配 阅读全文

posted @ 2021-07-14 16:39 tycoon3 阅读(104) 评论(0) 推荐(0) 编辑

Volcano 调度器
摘要:root@ubuntu:~# kubectl apply -f job.yaml job.batch.volcano.sh/test-job created 先触发AddPodGroupV1beta1后AddPod AddPod 其中 AddPod 会干以下几件事: 对 pod 生成一个对应的 ta 阅读全文

posted @ 2021-07-14 15:42 tycoon3 阅读(267) 评论(0) 推荐(0) 编辑

Create a map of string to List slice
摘要:package main import ( "fmt" "container/list" ) func main() { x := make(map[string]*list.List) x["key"] = list.New() x["key"].PushBack("value") fmt.Pri 阅读全文

posted @ 2021-07-13 16:13 tycoon3 阅读(47) 评论(0) 推荐(0) 编辑

olcano调度器源代码走读actions篇
摘要:Enqueue Queues QueueMap jobsMap //扫描一遍job,初始化上面三个数据结构 For job in ssn.Jobs //过滤1 found := ssn.Queues[job.Queue] existed := queueMap[queue.UID] //过滤2 if 阅读全文

posted @ 2021-07-12 18:15 tycoon3 阅读(70) 评论(0) 推荐(0) 编辑

dlv volcano scheduler
摘要:[root@bogon data2]# source ./kata/go_source [root@bogon delve]# ps -elf | grep scheduler 4 S nova 2302 1 0 80 0 - 3748 SyS_ep 2020 ? 09:22:51 /usr/bin 阅读全文

posted @ 2021-07-12 15:08 tycoon3 阅读(226) 评论(0) 推荐(0) 编辑

informer
摘要:root@ubuntu:~/go_learn/informer# cat informer.go package main import ( "os" "fmt" "github.com/spongeprojects/magicconch" corev1 "k8s.io/api/core/v1" " 阅读全文

posted @ 2021-07-09 12:08 tycoon3 阅读(272) 评论(0) 推荐(0) 编辑

DeltaFIFO reflector
摘要:// NewDeltaFIFOWithOptions returns a Queue which can be used to process changes to // items. See also the comment on DeltaFIFO. func NewDeltaFIFOWithO 阅读全文

posted @ 2021-07-09 11:58 tycoon3 阅读(76) 评论(0) 推荐(0) 编辑

MetaNamespaceKeyFunc
摘要:NamespaceIndexName: NamespaceIndexFunc, NodeNameIndexName: NodeNameIndexFunc, cat<<EOF >informer.go package main import ( "fmt" v1 "k8s.io/api/core/v1 阅读全文

posted @ 2021-07-08 16:44 tycoon3 阅读(208) 评论(0) 推荐(0) 编辑

golang dlv 调式成员函数
摘要:root@ubuntu:~/controller101# dlv attach 39568 Type 'help' for list of commands. (dlv) b controller.enqueue Breakpoint 1 (enabled) set at 0xad7f10 for 阅读全文

posted @ 2021-07-08 15:50 tycoon3 阅读(184) 评论(0) 推荐(0) 编辑

golang 编译 添加debug gdb
摘要:go build -ldflags 参数及 gdb 调试 有时发布时我们想隐藏所有代码实现相关的信息,使用 go build -ldflags 参数可以实现相关要求。 示例代码 本文使用版本为go 1.6。 package main import "log" type MyCat struct { 阅读全文

posted @ 2021-07-08 15:42 tycoon3 阅读(805) 评论(0) 推荐(0) 编辑

code-generator
摘要:root@ubuntu:~/controller101# bash hack/k8s/update-generated.sh Generating deepcopy funcs F0708 14:32:21.192292 11530 main.go:82] Error: Failed making 阅读全文

posted @ 2021-07-08 14:55 tycoon3 阅读(342) 评论(0) 推荐(0) 编辑

k8s 自定义informer
摘要:it clone https://github.com/kairen/controller101.git root@ubuntu:~/controller101# make go build -ldflags="-s -w -X github.com/cloud-native-taiwan/cont 阅读全文

posted @ 2021-07-08 11:52 tycoon3 阅读(389) 评论(0) 推荐(0) 编辑

kube-batch ——pod 和task
摘要:pkg/scheduler/scheduler.go:67 相应的资源 Informer 开始 Iist-Watch 监听事件变化 // Run starts the schedulerCache func (sc *SchedulerCache) Run(stopCh <-chan struct{ 阅读全文

posted @ 2021-07-08 11:27 tycoon3 阅读(89) 评论(0) 推荐(0) 编辑

kubernetes-handbook informer
摘要:cat<<EOF >informer.go package main import ( "flag" "fmt" "time" "k8s.io/client-go/informers" coreinformers "k8s.io/client-go/informers/core/v1" "k8s.i 阅读全文

posted @ 2021-07-08 10:53 tycoon3 阅读(61) 评论(0) 推荐(0) 编辑

kube batch scheduler
摘要:The random scheduler v1 The first important part of the scheduler is to watch the newly created pods in a continuous loop. We can use the Kubernetes c 阅读全文

posted @ 2021-07-07 15:43 tycoon3 阅读(92) 评论(0) 推荐(0) 编辑

k8s-scheduler-extender-example
摘要:前言 Scheduler是Kubernetes组件中功能&逻辑相对单一&简单的模块,它主要的作用是:watch kube-apiserver,监听PodSpec.NodeName为空的pod,并利用预选和优选算法为该pod选择一个最佳的调度节点,最终将pod与该节点进行绑定,使pod调度在该节点上运 阅读全文

posted @ 2021-07-07 14:47 tycoon3 阅读(584) 评论(0) 推荐(0) 编辑

volcano 快速开始
摘要:kubectl delete -f volcano/installer/volcano-development-arm64.yaml root@ubuntu:~# kubectl get all -n volcano-system NAME READY STATUS RESTARTS AGE pod 阅读全文

posted @ 2021-07-07 11:01 tycoon3 阅读(261) 评论(0) 推荐(0) 编辑

Kubernetes-CRD-Demo
摘要:创建工程 利用go module创建模块 root@ubuntu:~/go_learn/proj1# go mod init demo-controller go: creating new go.mod: module demo-controller root@ubuntu:~/go_learn/ 阅读全文

posted @ 2021-07-06 16:04 tycoon3 阅读(135) 评论(0) 推荐(0) 编辑

kubernetes/client-go--使用 Clientset 获取 Kubernetes 资源对象
摘要:git clone https://github.com/kubernetes/client-go.git root@ubuntu:~/client-go/examples/out-of-cluster-client-configuration# go env GOPROXY=https://gop 阅读全文

posted @ 2021-07-06 14:54 tycoon3 阅读(548) 评论(0) 推荐(0) 编辑

samplecontroller
摘要:root@ubuntu:~/sample-controller# go mod vendor go: downloading k8s.io/code-generator v0.0.0-20210701054009-d874928e3dc5 go: downloading github.com/eva 阅读全文

posted @ 2021-07-06 11:38 tycoon3 阅读(303) 评论(0) 推荐(0) 编辑

volcano
摘要:1 volcano 调度架构简介 主要概念及解释: volcano 调度对象是 vcjob(volcano 创建的 CRD),即上图的 JobInfo(这是 scheduler 组件内定义的类)。 一个 vcjob 包含一个或者多个 pod,每个 pod 声明各自的资源要求(如 cpu 多少个 co 阅读全文

posted @ 2021-07-05 16:26 tycoon3 阅读(1999) 评论(0) 推荐(0) 编辑

NoSchedule
摘要:root@ubuntu:~/kube-batch# kubectl describe pod qj-1-7zc5k Name: qj-1-7zc5k Namespace: default Priority: 0 Node: <none> Labels: controller-uid=0afdbf23 阅读全文

posted @ 2021-07-05 14:17 tycoon3 阅读(202) 评论(0) 推荐(0) 编辑

kube-batch(一)安装
摘要:安装helm curl https://baltocdn.com/helm/signing.asc | sudo apt-key add - sudo apt-get install apt-transport-https --yes echo "deb https://baltocdn.com/h 阅读全文

posted @ 2021-07-05 11:47 tycoon3 阅读(453) 评论(0) 推荐(0) 编辑

c++17 string_view
摘要:string_view: No such file or directory std::string_view is not available in GCC until version 7. root@ubuntu:~/c++# gcc --version gcc (Ubuntu/Linaro 5 阅读全文

posted @ 2021-07-02 15:21 tycoon3 阅读(696) 评论(0) 推荐(0) 编辑

Calico架构
摘要:Calico Calico 是一个纯三层的数据中心网络方案(不需要Overlay),并且与OpenStack、Kubernetes、AWS、GCE等IaaS和容器平台都有良好的集成。 Calico在每一个计算节点利用Linux Kernel实现了一个高效的vRouter来负责数据转发,而每个vRou 阅读全文

posted @ 2021-07-02 11:31 tycoon3 阅读(1576) 评论(0) 推荐(0) 编辑

k8s 10.96.0.1
摘要:root@cloud:~# ip a | grep 10.96.0.1 -B 3 valid_lft forever preferred_lft forever 59: kube-ipvs0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN grou 阅读全文

posted @ 2021-07-02 11:23 tycoon3 阅读(357) 评论(0) 推荐(0) 编辑

etcd etcd on unsupported platform without ETCD_UNSUPPORTED_ARCH=arm64 set
摘要:oot@ubuntu:~/cfssl/etcd# /usr/bin/etcd version 2021-07-01 16:00:41.185752 W | etcdmain: running etcd on unsupported architecture "arm64" since ETCD_UN 阅读全文

posted @ 2021-07-01 16:08 tycoon3 阅读(3556) 评论(1) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示