Private Delivery Pipeline-Worker installieren
DevOps Insights wird am 31. August 2026 das Ende des Betriebs erreichen und eingestellt werden. Continuous Delivery wird am 12. Februar 2027 in den folgenden Regionen eingestellt: au-syd, ca-tor, us-east. Code Risk Analyzer wird zu diesem Zeitpunkt ebenfalls in allen Regionen eingestellt. Wenn diese Funktionen in einer Region nicht aktiv genutzt werden, können sie in dieser Region vorzeitig eingestellt werden und es werden keine neuen Instanzen mehr akzeptiert. Weitere Informationen
Installieren und registrieren Sie einen privaten Delivery Pipeline-Worker, sodass IBM Cloud® Continuous Delivery-Entwicklungsteams den privaten Worker in ihrer Toolchain-Konfiguration verwenden können. Entwickler können Workloads innerhalb des Netzumfangs der privaten Worker-Installation ohne eingehende Netzkonnektivität ausführen.
Delivery Pipeline verwendet öffentliche und private Worker für die Ausführung von Pipelinejobs. Standardmäßig werden Pipelinejobs ausgeführt, indem öffentliche Worker in einer öffentlichen von IBM verwalteten und gemeinsam genutzten Infrastruktur verwendet werden. Pipeline-Jobs können nur im öffentlichen Netz (sowohl innerhalb als auch außerhalb von IBM) auf Ressourcen zugreifen und sind auf 60 Minuten Laufzeit pro Job begrenzt.
In bestimmten Szenarios benötigt Delivery Pipeline möglicherweise Zugriff auf interne oder lokale Ressourcen. In diesen Situationen können Sie eine Verbindung zu einem privaten Delivery Pipeline-Worker herstellen und ihn für die Ausführung in Ihrer eigenen Kubernetes-Infrastruktur integrieren.
Die Agenten privater Worker, die in privaten Clustern installiert werden, fordern Daten nur vom durch IBM gehosteten Service für private Worker an. Der Datenfluss ist unidirektional und hat als Quelle nur den Agenten.
Voraussetzungen
Bevor Sie einen privaten Worker installieren, müssen Sie sicherstellen, dass Sie über ein IBM Cloud®-Konto verfügen, um Authentifizierungsschlüssel zu erstellen. Sie benötigen die neueste kubectl-Version, die auf dem Desktop-Computer des Administrators installiert ist. Außerdem benötigen Sie einen Kubernetes-Cluster (Version 1.15 oder höher) mit Administratorrechten, um einen privaten Worker zu installieren.
-
Vorgeschlagene Kubernetes-Clusterkonfigurationen:
- IBM Cloud Kubernetes Service Version 1.21 oder höher, um Workloads isoliert auf IBM Cloud Public auszuführen.
- Red Hat® OpenShift® on IBM Cloud® Version 4.9 oder höher
-
Netzzugriff:
-
Eingehend: Nicht erforderlich.
-
Der ausgehende Netzwerkzugriff erfolgt über, wobei
(TCP:443)die Region mit dem Standort der Auslieferungspipeline übereinstimmt und entweder (au-sydSydney, Australien),eu-de(Frankfurt, Deutschland),eu-gb(London, Vereinigtes Königreich),jp-tok(Tokio, Japan),us-south(Dallas, USA),us-east(Washington, D.C., USA),br-sao(São Paulo) oderca-tor(Toronto, Kanada) ist. Geben Sie beispielsweise für die Region 'Frankfurt'https://private-worker-service.eu-de.devops.cloud.ibm.com (TCP:443)an. Verwenden Sie für den Netzzugriff auf den globalen Endpunkt für die API-Schlüsselprüfunghttps://iam.cloud.ibm.com (TCP:443).
-
-
Berechtigungen zum Abrufen von Images aus 'icr.io'. Private Worker benötigen die Tekton-Pipeline-Infrastruktur und müssen Tekton-Release-Images aus 'icr.io' abrufen können, um die Installation privater Worker durchzuführen.
Um Bilder aus der
icr.ioContainer-Registry zu beziehen, müssen Sie möglicherweise eine spezifische Kubernetes ClusterImagePolicy definieren.
Da Private Workers nicht mit Red Hat OpenShift-Pipelines kompatibel sind, wird empfohlen, diese nicht auf einem Cluster mit Red Hat OpenShift-Pipelines zu installieren.
Privaten Delivery Pipeline-Worker installieren
Um einen privaten Worker zu installieren, müssen Sie über Administratorzugriff auf einen Cluster verfügen. Die Installation eines privaten Workers kann nur über die Befehlszeile ausgeführt werden, weil keine grafische Benutzerschnittstelle verfügbar ist.
Delivery Pipeline Private Worker über die Befehlszeilenschnittstelle erstellen
Die folgenden Schritte sind für Administratoren bestimmt, die Umgebungen und private Worker für mehrere Personen oder Teams vorbereiten. Informationen zur Installation von privaten Workern für Ihre eigene Verwendung finden Sie unter Privaten Worker für Delivery Pipeline einrichten.
Direkte Installation auf einem Cluster
Um das Framework direkt in einem Cluster zu installieren, benötigen Sie Administratorzugriff auf den Cluster. Geben Sie über die IBM Cloud-Befehlszeilenschnittstelle den folgenden Befehl ein:
kubectl apply --filename "https://private-worker-service.{REGION}.devops.cloud.ibm.com/install"
Dabei ist {REGION} die Position der Toolchain-Pipeline. Sie können einen der folgenden Werte für das Feld angeben {REGION}:
au-syd(Sydney, Australien)eu-de(Frankfurt, Deutschland)eu-gb(London, Vereinigtes Königreich)jp-tok(Tokio, Japan)us-south(Dallas, USA)us-east(Washington, D.C., USA)ca-tor(Toronto, Kanada)br-sao(São Paulo, Brasilien)
Installation direkt auf einem Cluster mit Firewall
Um das Framework direkt in einem Cluster zu installieren, benötigen Sie Administratorzugriff auf den Cluster. Geben Sie über die IBM Cloud-Befehlszeilenschnittstelle den folgenden Befehl ein:
kubectl apply --filename "https://private-worker-service.{REGION}.devops.cloud.ibm.com/install?private=true"
Dabei ist {REGION} die Position der Toolchain-Pipeline. Sie können einen der folgenden Werte für das Feld angeben {REGION}:
au-syd(Sydney, Australien)eu-de(Frankfurt, Deutschland)eu-gb(London, Vereinigtes Königreich)jp-tok(Tokio, Japan)us-south(Dallas, USA)us-east(Washington, D.C., USA)ca-tor(Toronto, Kanada)br-sao(São Paulo, Brasilien)
Zur Verwendung dieses Features benötigen Sie ein VRF-aktiviertes IBM Cloud-Konto.
Es ist möglich, einen Pool privater Arbeitskräfte zu bilden, indem dieser Vorgang auf weiteren Kubernetes Clustern wiederholt wird. Die Last wird auf alle Arbeiter des Pools verteilt.
Privaten Delivery Pipeline-Worker registrieren
Service-ID erstellen
Eine Service-ID stellt einen Pool von einem oder mehreren privaten Workern dar, die zusammenarbeiten. Sie können zunächst die Installation eines privaten Workers registrieren und dann inkrementell weitere private Worker in derselben Gruppe registrieren, indem Sie dieselbe Service-ID wiederverwenden. Die Registrierung mehrerer privater Worker in derselben Gruppe unterstützt eine höhere Verfügbarkeit und die horizontale Skalierung der Kapazität Ihrer privaten Worker. Weitere Informationen zu Service-IDs finden Sie im Artikel Service-IDs erstellen und damit arbeiten.
Service-ID in der Konsole erstellen
- Melden Sie sich bei IBM Cloud an.
- Rufen Sie https://cloud.ibm.com/iam/serviceidsauf.
- Klicken Sie auf Erstellen.
- Geben Sie einen Namen und eine Beschreibung für die Service-ID ein. Wenn Sie eine Service-ID für einen Pool von privaten Workern erstellen, geben Sie den Namen des privaten Worker-Pools an, z. B. Pipeline Private Workers for Acme.
- Klicken Sie auf Erstellen.
- Speichern Sie Ihre Service-ID zur späteren Verwendung. Die Service-ID ist für den Kubernetes-Cluster erforderlich, der für die Installation eines privaten Delivery Pipeline-Workers bestimmt ist.
Service-ID über die Befehlszeilenschnittstelle erstellen
Geben Sie über die IBM Cloud-Befehlszeilenschnittstelle den folgenden Befehl ein:
$ ibmcloud iam service-id-create {worker-pool-name} -d "{worker-pool-description}"
Creating service ID {worker-pool-name} bound to current account as username@domain.com...OK
Service ID {worker-pool-name} is created successfully
Name {worker-pool-name}
Description {worker-pool-description}
CRN crn:v1:bluemix:public:iam-identity::a/8d63fb1cc5e99e86dd7229dddff75fef::serviceid:ServiceId-38ffff31-3ea3-4ecc-9732-190f7a993097
Bound To crn:v1:bluemix:public:::a/8d63fb1cc5e99e86dd7229dddff75fef:::
Version 1-6df15bde97b6e87f583a557f8731888f
Locked false
UUID ServiceId-38ffff31-3ea3-4ecc-9732-190f7a993097
API-Schlüssel erstellen
Bei einem API-Schlüssel handelt es sich um einen eindeutigen Code, der an eine API übergeben wird, um die aufrufende Anwendung oder den aufrufenden Benutzer zu identifizieren. Um eine böswillige Verwendung einer API zu verhindern, können Sie mithilfe von API-Schlüsseln nachverfolgen und kontrollieren, wie diese API verwendet wird. Weitere Informationen zu API-Schlüsseln finden Sie unter Informationen zu API-Schlüsseln.
API-Schlüssel in der Konsole erstellen
- Melden Sie sich bei IBM Cloud an.
- Rufen Sie https://cloud.ibm.com/iam/serviceidsauf.
- Wählen Sie die Service-ID aus, für die Sie eine API erstellen möchten.
- Klicken Sie auf der Registerkarte API-Schlüssel auf Erstellen.
- Geben Sie einen Namen und eine Beschreibung für den API-Schlüssel ein, um die Installation des privaten Workers anzugeben, z. B. Pipeline Private Worker in IBM Cloud Private.
- Klicken Sie auf Erstellen.
- Kopieren Sie Ihren API-Schlüssel oder laden Sie ihn herunter. Sie können Ihren API-Schlüssel nach seiner Erstellung nicht erneut abrufen.
API-Schlüssel über die Befehlszeilenschnittstelle erstellen
Geben Sie über die IBM Cloud-Befehlszeilenschnittstelle den folgenden Befehl ein:
$ ibmcloud iam service-api-key-create {worker-api-key-name} (SERVICE\_ID\_NAME|SERVICE\_ID\_UUID) \[-d, --description DESCRIPTION\] \[--file OUT_FILE\]
Creating API key {worker-api-key-name} of service
SERVICE\_ID\_NAME as username@domain.com...
OK
Service API key {worker-api-key-name} is created
Successfully saved API key information to FILE
Please preserve the API key! It cannot be retrieved after it's created.
Name {worker-api-key-name}
Description Description
Bound To crn:v1:bluemix:public:iam-identity::a/2cac145ae78048679b129009cfe8c7f9::serviceid:ServiceId-9a6a14e5-5811-4c2c-9131-0e1d4bb7dfe1
Created At 2019-07-04T10:51+0000
API Key doJX9kORc4q5PRkH19H3lePDwYRAKNWk4XlIuEBrriOD
Locked false
UUID ApiKey-c1ee0fb5-90f2-476e-a260-a796e6d7f5f7
Privaten Worker mit IBM Cloud registrieren
Bevor Sie den Private Worker bei IBM Cloud registrieren können, müssen Sie das Private Worker Framework einsetzen. Um die Registrierungsbefehle zu verwenden, müssen Sie bei dem Kubernetes-Cluster (mit kubectl) angemeldet sein, in dem Sie zuvor einen privaten Worker erstellt haben.
Sie müssen einen privaten Worker mit der bestimmten IBM Cloud-Region registrieren, die mit der Position der Delivery Pipelines übereinstimmt, die Sie aktivieren möchten.
- Geben Sie einen aussagekräftigen Namen für Ihren privaten Worker an. Dieser Name muss mit alphanumerischen Zeichen in Kleinschreibung beginnen und enden und kann auch die Zeichen
_oder.enthalten. - Führen Sie den folgenden Befehl mit der Service-ID und dem API-Schlüssel aus, die Sie zuvor erstellt haben, dem Namen des privaten Workers und der
{REGION}, welche die Position der Toolchain-Pipeline ist.
$ kubectl create secret generic {WORKER_NAME}-auth -n default --from-literal=apikey={API_KEY} && kubectl apply --filename "https://private-worker-service.{REGION}.devops.cloud.ibm.com/install/worker?serviceId={SERVICE_ID}&name={WORKER_NAME}"
workeragent.devops.cloud.ibm.com/worker-name created
secret/worker-name-auth created
Sie können einen der folgenden Werte für {REGION} angeben:
* `au-syd` (Sydney, Australien)
* `eu-de` (Frankfurt, Deutschland)
* `eu-gb` (London, Vereinigtes Königreich)
* `jp-tok` (Tokio, Japan)
* `us-south` (Dallas, USA)
* `us-east` (Washington, D.C., USA)
* `ca-tor` (Toronto, Kanada)
* `br-sao` (São Paulo, Brasilien)
- Um einen Agenten für die Verwendung privater Endpunkte zu registrieren, verwenden Sie den optionalen Abfrageparameter
privatewie folgt:
$ kubectl create secret generic {WORKER_NAME}-auth -n default --from-literal=apikey={API_KEY} && kubectl apply --filename "https://private-worker-service.{REGION}.devops.cloud.ibm.com/install/worker?serviceId={SERVICE_ID}&name={WORKER_NAME}&private=true"
Sie müssen einen der folgenden Werte für das Feld angeben {REGION}:
* Frankfurt `eu-de`
* London `eu-gb`
* Dallas `us-south`
* Washington, D.C. `us-east`
Hinweis: Die Verwendung des Abfrageparameters „ private “ bei der Registrierung eines Agenten ist erforderlich, wenn sich der Host-Cluster in einer durch eine Firewall geschützten Umgebung befindet.
- Geben Sie den folgenden Befehl ein, um zu überprüfen, ob der Agent ordnungsgemäß registriert ist:
$ kubectl get workeragents
NAME SERVICEID AGENT REGISTERED VERSION AUTH CONSTRAINED PAUSED
<worker_name> <ServiceId> OK Succeeded OK OK false false
Die privaten Worker sollen im Namensbereich default installiert werden. Sie sollten nie im Namensbereich tekton-pipelines installiert werden. Dieser Namensbereich ist für das Tekton-Framework und die Agentenbereitstellung
reserviert. Die Installation des Workeragenten in einem anderen Namensbereich als dem default-Namensbereich kann einige unerwartete Nebeneffekte haben.
Privaten Delivery Pipeline Worker für die Verwendung privater Endpunkte konfigurieren
Private Worker verwenden standardmäßig öffentliche Endpunkte für die Kommunikation. Ein Clusteradministrator kann die Konfiguration des privaten Workers so aktualisieren, dass private Endpunkte verwendet werden, sodass die Kommunikation zwischen dem privaten Worker und dem IBM Cloud® Continuous Delivery-Service nicht das öffentliche Internet verwendet.
- Rufen Sie den Namen des Agenten ab, der auf dem Cluster installiert ist:
kubectl get workeragents -n default
- Ändern Sie die
apiUrlfür diesen Agenten:
kubectl patch workeragent {WORKER_NAME} --type='merge' -p '{"spec": {"apiUrl":"https://private-worker-service.private.{REGION}.devops.cloud.ibm.com"}}'
Dabei ist {REGION} die Position der Toolchain-Pipeline. Private Endpunkte sind in den folgenden Regionen verfügbar:
* Dallas `us-south`
* Washington `us-east`
* Frankfurt `eu-de`
* London `eu-gb`
Zur Verwendung dieses Features benötigen Sie ein VRF-aktiviertes IBM Cloud-Konto.
- Optional. Geben Sie den folgenden Befehl ein, um zur Verwendung öffentlicher Endpunkte für den Agenten zurückzukehren:
kubectl patch workeragent {WORKER_NAME} -n default --type='merge' -p '{"spec": {"apiUrl":"https://private-worker-service.{REGION}.devops.cloud.ibm.com"}}'
Privaten Delivery Pipeline-Worker für die Verwendung von Satellite-Linkendpunkten konfigurieren
Private Worker verwenden standardmäßig öffentliche Endpunkte für die Kommunikation. Ein Clusteradministrator kann die Konfiguration des privaten Workers so aktualisieren, dass Satellite-Linkendpunkte verwendet werden, sodass die Kommunikation zwischen dem privaten Worker und dem Service Continuous Delivery über Satellite-Linkendpunkte erfolgt.
- Erstellen Sie einen Cloud Satellite Linkendpunkt für den Service IBM Cloud® Continuous Delivery und legen Sie
FQDNundService indication nameso fest, dass der folgende Wert verwendet wird:
private-worker-service.{REGION}.devops.cloud.ibm.com
Dabei ist {REGION} die Position der Toolchain-Pipeline.
- Erstellen Sie eine Konfigurationszuordnung im Namensbereich des privaten Workers, die die öffentlichen Endpunkte den Satellite-Linkendpunkten zuordnet:
apiVersion: v1
kind: ConfigMap
metadata:
name: pipelineworker-url-map
data:
iam.cloud.ibm.com: <default IAM satellite link endpoint for your satellite location>
private-worker-service.{REGION}.devops.cloud.ibm.com: <satellite link endpoint created in step 1)>
Sie können der configmap Endpunkte hinzufügen, wie z. B. diese Standard-Link-Endpunkte Satellite.
Installation eines privaten Delivery Pipeline-Workers aktualisieren
Wenn der private Worker als inaktiv berichtet wird, müssen Sie die Installation aktualisieren.
Um die Version Ihres privaten Workers anzuzeigen, geben Sie einen der folgenden Befehle ein:
- IBM Cloud Kubernetes Service:
kubectl -n tekton-pipelines describe deploy private-worker-agent | grep Image - Red Hat® OpenShift® on IBM Cloud®:
kubectl -n openshift-operators describe deploy private-worker-agent-controller-manager | grep Image
Führen Sie die folgenden Schritte aus, um die Installation Ihres privaten Workers zu aktualisieren:
- Führen Sie den Installationsbefehl erneut aus.
- Registrieren Sie den privaten Worker erneut in Ihrem Kubernetes-Cluster.
Sie können die apikey wiederverwenden, die Sie für den vorhandenen privaten Worker verwendet haben.
Weitere Informationen über Delivery Pipeline Privatangestellte finden Sie unter Fehlerbehebung für Delivery Pipeline Privatangestellte und FAQs für Pipeline Privatangestellte.