alicfeng/kubernetes-client

Kubernetes PHP 客户端

v1.3.1 2021-05-06 02:58 UTC

This package is auto-updated.

Last update: 2024-09-06 10:32:52 UTC


README

KubernetesClient

用于管理 Kubernetes 集群的 PHP 客户端
基于 Kubernetes 官方接口和 GuzzleHttp 生成。

Build Status Latest Stable Version Total Downloads License

🚀 快速开始

  • 标准
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/