Kubernetes插件扩展技术介绍
1
目录
API扩展 4.1AggregationCustomResour 4.1 .1ceDefinition 4.1 .2访问控制 4.2认证 4.2.1RBAC授权 4.2.2准入控制 4.2.3Scheduler扩展 4.3网络插件 4.4CNI 4.4.1Flannel 4.4.2Cal ico 4.4.3Weave 4.4.4Ci l ium 4.4.5OVN 4.4.6ContivS 4.4.7R-IOV 4.4.8RomanaOpenC 4.4.9ontrai lKuryr 4.4.10运行时插件 4.4.1 1CRICRI- 4.5toolsFrakti 4.5.1存储插件 4.5.2容器存储接口 4.6CSIFlexVolumeglus 4.6.1terfs 4.6.2网络策略 4.6.3IngressControl ler 4.7Ingress+Letsencrypt 4.8
4.8.1
2
minikube Ingress 4.8.2
Traefik Ingress 4.8.3
Keepal ived-VIP 4.8.4Cloud Provider扩展 4.9Devi ce插件 4.10
3
API扩展
Kubernetes插件扩展技术指南
API扩展
Kubernetes的架构非常灵活提供了从API、认证授权、准入控制、 网络、存储、运行时以及云平台等一系列的扩展机制方便用户无侵入的扩展集群的功能。
从API的角度来说可以通过Aggregatio n和C ustom Reso urceDefinitio n CRD 等扩展Kubernetes API。
API Aggregation允许在不修改Kubernetes核心代码的同时将第三方服务注册到Kubernetes API中这样就可以通过Kubernetes API来访问外部服务。
Custom ResourceDefi nition则可以在集群中新增资源对象并可以与已有资源对象如Pod、 Deployment等相同的方式来管理它们。
CRD相比Aggregation更易用两者对比如下
CRDs AggregatedAPI
无需编程即可使用CRD管理资源 需要使用Go来构建Aggregated AP Iserver
无需额外管理版本 需要第三方服务来管理版本
更多的特性对比
Feature Description CRDs
565
API扩展
Val idation
566
API扩展
567
API扩展
Objects in Place Using kubectl
使用方法
详细的使用方法请参考
AggregationCustom ResourceDefi nition
568
Aggregation
Aggregation Layer
API Aggregation允许在不修改Kubernetes核心代码的同时扩展Kubernetes API 即将第三方服务注册到Kubernetes API中这样就可以通过Kubernetes API来访问外部服务。
备注另外一种扩展Kubernetes AP I的方法是使用CustomResourceDefi nition
(CRD)。
何时使用Aggregation
满足以下条件时使用API Aggregation 满足以下条件时使用独立API
开启APIAggregationkube-apiserver增加以下配置
568
Aggregation
--requestheader-client-ca-file=<path to aggregator CAcert>
--requestheader-allowed-names=aggregator
--requestheader-extra-headers-prefix=X-Remote-Extra-
--requestheader-group-headers=X-Remote-Group
--requestheader-username-headers=X-Remote-User
--proxy-client-cert-file=<path to aggregator proxycert>
--proxy-client-key-file=<path to aggregator proxy key>
如果kube-proxy没有在Master上面运行还需要配置
--enable-aggregator-routing=true
创建扩展API
1 .确保开启APIServiceAPI 默认开启可用kubectlgetapiservice命令验证
2.创建RBAC规则
3.创建一个namespace用来运行扩展的API服务
4.创建CA和证书用于https
5.创建一个存储证书的s e c re t
6.创建一个部署扩展API服务的deployme nt并使用上一步的secret配置证书开启https服务
7.创建一个Cl usterRole和Cl usterRoleBi nd i ng
8.创建一个非namespace的apiservice注意设置spec.caBundle
9.运行kubectlget<resource-name>正常应该返回Noresourcesfound.
可以使用apiserver-bui lder工具自动化上面的步骤。
569
企鹅小屋怎么样?企鹅小屋最近针对自己的美国cn2 gia套餐推出了2个优惠码:月付7折和年付6折,独享CPU,100%性能,三网回程CN2 GIA网络,100Mbps峰值带宽,用完优惠码1G内存套餐是年付240元,线路方面三网回程CN2 GIA。如果新购IP不能正常使用,请在开通时间60分钟内工单VPS技术部门更换正常IP;特价主机不支持退款。点击进入:企鹅小屋官网地址企鹅小屋优惠码:年付6折优惠...
搬瓦工vps(bandwagonhost)现在面向中国大陆有3条顶级线路:美国 cn2 gia,香港 cn2 gia,日本软银(softbank)。详细带宽是:美国cn2 gia、日本软银,都是2.5Gbps~10Gbps带宽,香港 cn2 gia为1Gbps带宽,搬瓦工是目前为止,全球所有提供这三种带宽的VPS(云服务器)商家里面带宽最大的,成本最高的,没有第二家了! 官方网站:https...
HostKvm是一家成立于2013年的国外VPS服务商,产品基于KVM架构,数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。本月,商家旗下俄罗斯、新加坡、美国、香港等节点带宽进行了大幅度升级,俄罗斯机房国内电信/联通直连,CN2线路,150Mbps(原来30Mbps)带宽起,目前俄罗斯和香港高防节点5折骨折码继续优惠中...