Cloud-Lösungen der Zukunft - Testen!

Revolutionäre Cloud-Technologie, ganz ohne versteckte Kosten. Profitieren Sie von unserer Testphase und entdecken Sie umfassende Funktionen. Der Anmeldeprozess ist transparent und unkompliziert. Starten Sie jetzt Ihre Reise in die Cloud - Kostenfrei!

Deployment und Service in Kubernetes: Ein praktischer Leitfaden

CI/CD (Continuous Integration/Continuous Deployment) hat sich als unverzichtbare Praxis für die moderne Softwareentwicklung etabliert. Mit der wachsenden Beliebtheit von Kubernetes als Containerorchestrierungstool ist es sinnvoll, sich mit den Grundlagen von CI/CD in einer Kubernetes-Umgebung vertraut zu machen.

In diesem Tutorial zeigen wir Ihnen, wie Sie Kubernetes Deployments und Services erstellen, um Ihre Anwendungen in einer Kubernetes-Umgebung auszuführen und sie für den Zugriff von außen verfügbar zu machen. Diese Grundlagen bilden eine solide Basis für den Aufbau einer CI/CD-Umgebung auf Kubernetes, die wir in zukünftigen Artikeln genauer betrachten werden.

Schritt 1: Building Container Images mit Docker und Buildah

# Docker: Ein Dockerfile erstellen und ein Image erstellen
mkdir demo
cd demo
nano Dockerfile
# Fügen Sie den Dockerfile-Inhalt hinzu
sudo docker image build -t nkhare/nginx:latest .

# Buildah: Buildah-Installation und Image-Erstellung
cd
mkdir ~/buildah
cd ~/buildah
export GOPATH=`pwd`
git clone https://github.com/containers/buildah ./src/github.com/containers/buildah
cd ./src/github.com/containers/buildah
make runc all TAGS=“apparmor seccomp“
sudo cp ~/buildah/src/github.com/opencontainers/runc/runc /usr/bin/.
sudo apt install buildah
sudo buildah build-using-dockerfile -t rsvpapp:buildah github.com/do-community/rsvpapp-webinar1

Schritt 2: Einrichten eines Kubernetes-Clusters auf centron mit kubeadm und Terraform

# Einrichten des Clusters mit Terraform und kubeadm
ssh-keygen -t rsa
cd k8s-cicd-webinars/webinar1/2-kubernetes/1-Terraform/
./script.sh
kubectl get nodes

Schritt 3: Erstellen von Container-Images mit Kaniko

# Erstellen von Container-Images mit Kaniko
sudo kubectl create configmap docker-config –from-file=$HOME/.docker/config.json
nano pod-kaniko.yml
# Fügen Sie den Pod-Definitionsinhalt hinzu
kubectl apply -f pod-kaniko.yml
kubectl get pods

Schritt 4: Kubernetes Deployments erstellen

Kubernetes Deployments ermöglichen es Ihnen, Ihre Anwendungen auszuführen und definieren den gewünschten Zustand für Ihre Pods. In diesem Schritt erstellen wir eine Nginx-Deployment-Datei namens `deployment.yml` im Verzeichnis `~/k8s-cicd-webinars/webinar1/2-kubernetes/1-Terraform/`, um ein Nginx Deployment zu erstellen.

1. Öffnen Sie zuerst die Datei:

2. Fügen Sie die folgende Konfiguration hinzu, um Ihr Nginx Deployment zu definieren:

 apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
– name: nginx
image: nginx:1.7.9
ports:
– containerPort: 80

3. Deployen Sie das Deployment mit dem folgenden Befehl:

 kubectl apply -f deployment.yml

Schritt 5: Kubernetes Services erstellen

Kubernetes Services ermöglichen es, Anwendungen intern und extern verfügbar zu machen. Jeder Service definiert einen `ServiceType`, der festlegt, wie der Service freigegeben wird. In diesem Beispiel verwenden wir einen `NodePort ServiceType`, der den Service auf einem statischen Port auf jedem Knoten freigibt.

1. Erstellen Sie eine Datei namens `service.yml` im Verzeichnis `~/k8s-cicd-webinars/webinar1/2-kubernetes/1-Terrafrom/`:

2. Fügen Sie den folgenden Inhalt hinzu, um Ihren Service zu definieren:

 kind: Service
apiVersion: v1
metadata:
name: nginx-service
spec:
selector:
app: nginx
type: NodePort
ports:
– protocol: TCP
port: 80
targetPort: 80
nodePort: 30111

3. Deployen Sie den Service mit dem folgenden Befehl:

 kubectl apply -f service.yml

Nachdem Sie diese Schritte ausgeführt haben, ist Ihr Nginx-Deployment nun bereit und über den erstellten Service auf Port 30111 sowohl intern als auch extern verfügbar.¬

Start Your Cloud Journey Today with Our Free Trial!

Dive into the world of cloud computing with our exclusive free trial offer. Experience the power, flexibility, and scalability of our cloud solutions firsthand.

Try for free!