Derzeit werden verschiedene Dienste zu Mikrodiensten. Zu dieser Zeit ist einer der wichtigsten Teile die Kommunikation zwischen Diensten. Darüber hinaus wird bei der Einführung von Mikrodiensten häufig die Entwicklung mithilfe von Kubernetes angewendet.
Schauen wir uns dieses Mal als Kommunikationsmethode zwischen Diensten die Kommunikationsmethode zwischen Pods an, die die minimale Ressource von Kuberntes darstellt.
In Bezug auf die Kommunikationsmethode zwischen Diensten, zusätzlich zur Kommunikation zwischen Pods, Es gibt Kommunikationsmethoden wie gRPC.
Lassen Sie uns diesmal ganz einfach den durch die k8s-Bereitstellung erstellten httpd-Server-Pod mit dem nginx-Pod kommunizieren.
httpd
httpd_deployment.yml
apiVersion: v1
kind: Service
metadata:
name: httpd-svc
spec:
selector:
app: httpd
ports:
- port: 8090
targetPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: httpd
spec:
replicas: 1
selector:
matchLabels:
app: httpd
template:
metadata:
labels:
app: httpd
spec:
containers:
- name: httpd
image: httpd:2-alpine
ports:
- containerPort: 80
nginx
nginx_deployment.yml
apiVersion: v1
kind: Service
metadata:
name: nginx-svc
spec:
selector:
app: nginx
ports:
- port: 8080
targetPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.18-alpine
ports:
- containerPort: 80
$ kubectl apply -f httd_deployment.yml -f nginx_deployment.yml
――Überprüfen Sie, ob Sie richtig aufgestanden sind
$ kubectl get po
NAME READY STATUS RESTARTS AGE
httpd-7f8bd9884-jptwt 1/1 Running 0 4m26s
nginx-d69ddfd76-r4lhq 1/1 Running 0 4m26s
OK, wenn beide Status ausgeführt werden
httpd→nginx
--Geben Sie den httpd-Pod ein
$ kubectl exec -it httpd-7f8bd9884-jptwt sh
/ #
/ # curl http://nginx-svc:8080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
nginx→httpd --Geben Sie die Nginx-Kapsel ein
$ kubectl exec -it nginx-d69ddfd76-r4lhq sh
/ # curl http://httpd-svc:8090
<html><body><h1>It works!</h1></body></html>
Ich konnte bestätigen, dass ich darauf zugreifen konnte.
Recommended Posts