HAOJX

HAOJX

杂施而不孙,则坏乱而不修 ; 独学而无友,则孤陋而寡闻

kubernetes 的负载均衡策略
Kubernetes提供了两种负载分发策略:RoundRobin和SessionAffinity ◎ RoundRobin:轮询模式,即轮询将请求转发到后端的各个Pod上。 ◎ SessionAffinity:基于客户端IP地址进行会话保持的模式,即第1次将某个客户端发起的请求转发到后端的某个Pod上,之后从相同的客户端发起的请求都将被转发到后端相同的Pod上。 如何指定kubernetes的负载均衡册率:kubernetes 默认是RoundRobin策略。 可以通过service.spec.sessionAffinity=ClientIP来启用SessionAffinity策略。
kubernetes开发教程(4)--自动代码生成
在此讲中, 我们介绍go的自动代码生成功能, 事实上kubernetes在很多地方都在用code generators这个功能, 我接下来会说如何使用code generators来编写custom resources 在kubernetes开发早期 , 随着越来越多的资源被加进系统, 越来越多的代码不得不被重写。 这个时候代码生成使得代码的维护更加容易 , 在早起是用Gengo library 之后在gengo的基础上, kubernetes发展出了k8s.io/code-generator 它是一个代码生成器的集合 使用代码生成器通常在代码生成器的调用都是一样的方法, 只是group...
kuberntes开发教程系列(3)--了解和编写Custom Resources
作为kuberntes生态系统中最核心的扩展之一 , Custom Resources(CR) 扮演这重要角色 , 许多成功的项目都离不开CR的使用 ,比如Istio, Linkerd 2.0, AWS App Mesh等等 Kubernetes cluster version 1.7之后, CR作为主要的 Kubernetes API 资源存储在etcd 中 , 如下图所示,如果请求不是以下任何一个请求,则返回到 apiextensions-apiserver,该服务器为通过 CRDs 定义的资源提供服务 请求如果是aggregation的就使用aggregated API ser...
kuberntes开发教程系列(2):了解client-go是什么
这次说的是如何通过kuberntes API 访问诸如pods , services, deployment等等对象和资源 kuberntes 的编程接口主要由k8s.io/client-go库组成 , client-go是一个典型的web服务客户端库, 它支持REST verbs, 比如: create , get, list ,update,delete,patch , 并且还支持watch clinet-go在GitHub的地址是https://github.com/kubernetes/client-go , 它对kuberntes版本是一一对应的 它的对应表是: ...
kuberntes开发教程系列(1):认识kuberntes API
kuberntes主节点控制平面由:API Server , controller manager和scheduler组成 kuberntes的核心是他的api服务器,但是api服务器是如何工作的呢,下面我们就仔细研究下他的HTTP接口 API服务器的HTTP接口从客户机的角度来看, 由于性能原因, 用JSON 或者protocol buffer协议来暴露其RESTful HTTP API API服务器的HTTP接口再处理请求的时候,使用HTTP verbs(或者说是http方法)来查询和操作kuberntes资源 使用HTTP GET 来检索具有特定资源类型或者资源集合或者资源列表 ...
kubernetes集群的外部地址和内部地址
查看kubernetes的内部通讯地址 1kubectl get svc 12NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEkubernetes ClusterIP 10.96.0.1 <none> 443/TCP 46d 这个10.96.0.1就是内部的地址 , 是集群内部pod访问api-server的地址 , 可以查看具体的内容 1kubectl get svc kubernetes 12345678910111213Name: ...
kubernetes高级调度方式
节点亲和性 1kubectl explain pod.spec.affiniy taint的effect定义对pod排斥效果: NoSchedule: 仅影响调度过程 , 对现存pod对象不产生影响 NoExecute: 既影响调度过程 也影响现在的pod对象 PreferNoSchedule: 影响调度过程 不过你非要调度也可以
一个nginx-ingress部署示例
先下载nginx-ingress1for file in configmap.yaml default-backend.yaml namespace.yaml rbac.yaml tcp-services-configmap.yaml udp-services-configmap.yaml with-rbac.yaml;do wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/$file; done 部署一个NodePort讲上面下载好的文件先应用起来 , 这个时候去名为ingress...
kubernetes如何创建被认证的用户
用户持有者的名称就是账号名 , 就是证书的subj 用来认证接入api-server 创建kubernetes认证的新用户test1cd /etc/kubernetes/pki 1(umask 077; openssl genrsa -out test.key 2048) 1openssl req -new -key test.key -out test.csr -subj "/CN=test" 1openssl x509 -req -in test.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out test.crt ...
avatar
HAOJX
It is the first step that costs