Actuellement, divers services deviennent des micro-services. À cette époque, l'une des parties importantes est la communication entre les services. De plus, lors de l'introduction de micro-services, le développement à l'aide de kubernetes est souvent adopté.
Par conséquent, cette fois, en tant que méthode de communication entre les services, examinons la méthode de communication entre les pods, qui est la ressource minimale des kuberntes.
Concernant le mode de communication entre les services, en plus de la communication entre les pods, Il existe des méthodes de communication telles que gRPC.
Cette fois, très simple, communiquons le pod serveur httpd créé par le déploiement de k8s avec le pod nginx.
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
――Vérifiez si vous vous êtes bien levé
$ 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 si les deux statuts sont en cours d'exécution
httpd→nginx
$ 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
$ kubectl exec -it nginx-d69ddfd76-r4lhq sh
/ # curl http://httpd-svc:8090
<html><body><h1>It works!</h1></body></html>
J'ai pu confirmer que j'étais en mesure d'y accéder.
Recommended Posts