[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 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2

这内容 编排 和 文笔 ... ... 黑暗模式~

4年前 评论
leo
4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!