[KubernetesClient | 底层依赖库]
背景
在写k8s接口调用的时候,参数特别多,繁杂,需要写多很多重复的东西,记得很早之前想找一个可以直接传简单参数,就可以发起k8s,Service 、Pod 、Job、ConfigMap、Pvc 等
,生态上的这种库是有的,只不过并没有一个使我比较满足的,当然、看个人所需,我需要一个比较清晰明了的。
于是kubernetes-client
就出现了、应用而生,它是一款基于 composer 的包,适用于laravel框架,那么它可以做什么?
KubernetesClient
安装
composer require alicfeng/kubernetes-client -vvv
支持
- Service
- Deployment
- Pod
- Job
- ConfigMap
- DaemonSet
- Node
- Secrets
- StatefulSet
- Event
- Pvc
- PersistentVolumeClaim
- Ingress
- ReplicationController
使用说明
$config = [
'base_uri' => 'https://127.0.0.1:6443',
'token' => 'token',
'namespace' => 'default'
];
$service = Kubernetes::service($config);
$metadata = [
'name' => 'demo-service'
];
$spec = [
'type' => 'NodePort',
'selector' => [
'k8s-app' => 'demo-service',
],
'ports' => [
[
'protocol' => 'TCP',
'port' => 80,
'targetPort' => 80,
'nodePort' => 30008
]
]
];
# Create Service
$service->setMetadata($metadata)->setSpec($spec)->create();
# or
$service->setApiVersion('v1')->setKind('Service')->create($yaml);
# Patch Service
$service->apply();
# Delete Service
$service->delete('service-name');
# Service Exist
$service->list()->exist('service-name');
# Item Service
$service->list()->item('service-name');
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: