alicfeng / kubernetes-client
Kubernetes PHP 客户端
v1.3.1
2021-05-06 02:58 UTC
Requires
- php: ^7.1|^8.0
- ext-curl: *
- ext-gd: *
- ext-json: *
- ext-openssl: *
- guzzlehttp/guzzle: 7.2.0
- symfony/yaml: ^5.2
Requires (Dev)
- composer/composer: ^1.8
- friendsofphp/php-cs-fixer: ^2.18
- orchestra/testbench: ^3.5
- phpunit/phpunit: @stable
README
KubernetesClient
用于管理 Kubernetes 集群的 PHP 客户端
基于 Kubernetes 官方接口和 GuzzleHttp 生成。
🚀 快速开始
标准
composer require alicfeng/kubernetes-client -vvv
Laravel
php artisan vendor:publish --provider="AlicFeng\Kubernetes\ServiceProvider\AsmServiceProvider" php artisan vendor:publish --provider="AlicFeng\Kubernetes\ServiceProvider\KubernetesServiceProvider" # OR php artisan vendor:publish --tag=kubernetes php artisan vendor:publish --tag=asm
✨ 功能
-
服务
-
部署
-
Pod
-
作业
-
配置映射
-
守护进程集
-
节点
-
机密
-
有状态集
-
事件
-
持久卷声明
-
入口
-
副本控制器
-
GagaWay
-
虚拟服务
☛ 用法
支持三种授权方式,包括令牌、用户名和密码以及证书文件
use AlicFeng\Kubernetes\Kubernetes; $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(); # Patch Service $service->apply('name'); # Delete Service $service->delete('name'); # Service Exist $service->list()->exist('name'); # Item Service $service->list()->item('name');
💖 感谢开发者
₤ Kubernetes
有关选项的解释,请参阅 API 文档
https://kubernetes.ac.cn/docs/reference/generated/kubernetes-api/v1.17/