---
title: "Pomenované klastre — Kubernetes API for Laravel | Roundly"
description: "Klastre nastavíte v config/kubernetes.php alebo zaregistrujete v kóde a potom ich získate kdekoľvek podľa mena — cez fasádu či dependency injection."
url: https://roundly-consulting.com/sk/open-source/navody/kubernetes-api-for-laravel/pomenovane-klastre
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Kubernetes API for Laravel](https://roundly-consulting.com/sk/open-source/navody/kubernetes-api-for-laravel.md)

# Pomenované klastre

Klastre nastavte v kľúči clusters v config/kubernetes.php — každá položka berie pripojenie z URL, z kontextu kubeconfigu alebo zo service accountu podu — a predvolený klaster určte kľúčom default:

```php
// config/kubernetes.php
'default' => env('KUBERNETES_CLUSTER', 'default'),

'clusters' => [
    'default' => [
        'source' => 'url',
        'url' => env('KUBERNETES_URL'),
        'token' => env('KUBERNETES_TOKEN'),
        'ca_certificate' => env('KUBERNETES_CA_CERTIFICATE'),
        'namespace' => 'shop',
        'manager' => 'shop-production',
    ],
    'staging' => [
        'source' => 'kubeconfig',
        'kubeconfig' => null,          // null = every KUBECONFIG file merged, or ~/.kube/config
        'context' => 'staging',        // null = current-context
        'manager' => 'shop-staging',   // no namespace: the context's, else default
    ],
    'in-cluster' => [
        'source' => 'in-cluster',      // the pod's service account
    ],
],
```

## Registrácia v kóde

Klastre môžete zaregistrovať aj v kóde, napríklad v metóde boot() service providera. Closure dostane prázdny klaster a musí vrátiť nastavený; spustí sa lenivo, až pri prvom použití klastra:

```php
use RoundlyConsulting\KubernetesApi\Cluster;
use RoundlyConsulting\KubernetesApi\Facades\Kubernetes;

// In a service provider's boot() — the closure must return the configured cluster
Kubernetes::registerCluster('production', fn (Cluster $cluster): Cluster => $cluster
    ->url('https://api.prod.example.com:6443')
    ->withToken(config('services.kubernetes.prod_token'))
    ->withCaCertificate('/path/to/ca.crt')
    ->withManagerName('shop-production'));

// Resolve it anywhere by name
$cluster = Kubernetes::cluster('production');

Kubernetes::hasCluster('production');   // true
Kubernetes::clusters();                 // ['default', 'production']
```

- Klaster sa vytvorí raz a potom sa znova používa — klastre sú nemenné, takže ich zdieľanie je bezpečné.
- Registrácia v kóde prepíše nakonfigurovaný klaster s rovnakým menom.
- Neznáme meno vyhodí ClusterNotFoundException. Closure, ktorá nevráti Cluster, alebo položka konfigurácie, ktorá nie je pole, má neznámy zdroj či nastavenie, ktoré nie je reťazec, vyhodí ClusterConfigurationException s jeho názvom. Prázdne nastavenie sa počíta ako nenastavené a dostane predvolenú hodnotu.
- Rovnaké API bez fasády získate injektovaním RoundlyConsulting\\KubernetesApi\\KubernetesManager: $kubernetes->cluster('production').

## Registrácia z vlastnej konfigurácie

Closure je obyčajné PHP, takže registrácie môžete riadiť vlastnou konfiguráciou:

```php
use RoundlyConsulting\KubernetesApi\Cluster;
use RoundlyConsulting\KubernetesApi\Facades\Kubernetes;

public function boot(): void
{
    // One entry per cluster in your own config/services.php
    foreach (config('services.kubernetes.clusters', []) as $name => $settings) {
        Kubernetes::registerCluster($name, fn (Cluster $cluster): Cluster => $cluster
            ->url($settings['url'])
            ->withToken($settings['token'])
            ->withCaCertificate($settings['ca'])
            ->withManagerName("shop-{$name}"));
    }
}
```

Limiter požiadaviek na strane klienta kľúčuje rozpočet podľa apiservera — hostu, portu a predpony cesty v URL klastra —, takže klastre nikdy nezdieľajú rozpočet, ani keď majú rovnaké meno managera (pozrite Obmedzenie požiadaviek na strane klienta).

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/kubernetes-api-for-laravel.md)
