Créer un service NodePort dans OKS
Un NodePort est un type de service Kubernetes qui expose votre application sur tous les worker nodes, via un port TCP/UDP spécifié permettant un accès externe au service.
Vous pouvez créer un service NodePort en utilisant OKS.
Créer un service NodePort
Kubernetes vous permet d’ouvrir des ports dans la fourchette suivante : |
Pour créer un service NodePort, vous devez attacher les annotations nécessaires à vos manifestes.
Les manifestes de service sont des fichiers de configuration YAML ou JSON définissant l’état souhaité d’une ressource Service
. Ils décrivent comment un service est exposé dans votre cluster OKS, avec des détails tels que :
-
Le type de service (ClusterIP, NodePort, LoadBalancer),
-
Les ports que le service doit exposer,
-
Le sélecteur pour les pods que le service cible,
-
Toutes les annotations ou étiquettes pertinentes.
L’exemple suivant crée une installation KeyDB accessible sur le port 30379
, à partir de l’IP 1.2.3.4/32
uniquement.
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: keydb-deployment
name: keydb-deployment
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: keydb-deployment
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: keydb-deployment
spec:
containers:
- image: eqalpha/keydb:alpine
name: keydb-container
ports:
- containerPort: 6379
resources:
requests:
cpu: 1
volumeMounts:
- name: data
mountPath: /keydb-master-data
- name: keydb-config
mountPath: /keydb-master
volumes:
- name: keydb-config
configMap:
name: my-keydb-config
- name: data
emptyDir: {}
status: {}
---
apiVersion: v1
kind: Service
metadata:
name: keydb-service
namespace: default
labels:
app: keydb-deployment
annotations:
service.oks.outscale.com/source-ranges: "1.2.3.4/32"
spec:
ports:
- port: 6379
targetPort: 6379
nodePort: 30379
selector:
app: keydb-deployment
type: NodePort
Utiliser des annotations pour vos NodePorts
Le tableau ci-dessous répertorie les annotations prises en charge pour vos services NodePort OKS.
Sauf indication contraire, les listes doivent être séparées par des virgules. |
Annotation | Description | Valeur par défaut | ||
---|---|---|---|---|
|
La liste des CIDR autorisés à accéder au NodePort. Par exemple :
|
Aucun (pas d’accès) |
||
|
La liste des nodes auxquels autoriser l’accès externe. Par exemple : |
None (tous les worker nodes) |
Pages connexes