Cet article explique comment installer Anthos Service Mesh, qui est préinstallé avec une passerelle d'entrée. Avec Anthos Service Mesh, vous pouvez configurer une ressource d'entrée Kubernetes pour vos déploiements si vous avez besoin d'un contrôleur d'entrée. Cet article fournit un exemple qui vous montre comment configurer un exemple de déploiement et une ressource d'entrée.
L'installation d'Anthos Service Mesh comprend deux parties principales :
- Installer une version spécifique du plan de contrôle géré par le client pour Anthos Service Mesh et la passerelle Ingress
- Attribuer un libellé de révision aux espaces de noms et redéployer les charges de travail pour injecter un proxy side-car
Si vous avez uniquement besoin d'utiliser un objet Ingress à l'aide d'un contrôleur Ingress, vous n'avez pas besoin d'injecter un proxy side-car dans vos pods de charge de travail. En revanche, si vous souhaitez bénéficier des avantages en matière de sécurité offerts par Anthos Service Mesh et utiliser les fonctionnalités de routage du trafic, vous devez injecter les proxys side-car.
Avant de commencer
Avant de commencer à utiliser Anthos clusters on AWS, assurez-vous d'avoir effectué les tâches suivantes :
- Remplissez les conditions préalables.
- Installez un service de gestion.
- Créez un cluster d'utilisateur.
- Enregistrez votre cluster avec Connect en suivant les étapes décrites dans la section Se connecter au cluster avec Cloud Console.
- Configurez votre cluster pour utiliser Workload Identity avec Google Cloud.
Si vos clusters d'utilisateur disposent d'un accès sortant limité à Internet, autorisez l'accès aux domaines de dépôt de conteneurs suivants :
docker.io
quay.io
À partir de votre répertoire
anthos-aws
, utilisezanthos-gke
pour basculer vers le contexte de votre cluster d'utilisateur.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Remplacez CLUSTER_NAME par le nom de votre cluster d'utilisateur.
Installer Anthos Service Mesh
Suivez les étapes de la page Installer Anthos Service Mesh.
Créer un exemple de déploiement
Dans cette section, vous installez un exemple d'application et créez un point de terminaison d'entrée pour celui-ci.
Créez un déploiement de
hello-app
et un ClusterIP pour le déploiement. Copiez le fichier YAML suivant dans un fichier nomméhello-app.yaml
.apiVersion: apps/v1 kind: Deployment metadata: labels: app: hello-app name: hello-app spec: selector: matchLabels: app: hello-app replicas: 3 template: metadata: labels: app: hello-app spec: containers: - name: hello image: "gcr.io/google-samples/hello-app:2.0" --- apiVersion: v1 kind: Service metadata: labels: app: hello-app name: hello-app spec: type: ClusterIP selector: app: hello-app ports: - protocol: TCP port: 8080 targetPort: 8080
Appliquez le fichier YAML à votre cluster avec
kubectl apply
.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f hello-app.yaml
Créez une entrée Kubernetes pour l'exemple d'application. Copiez le fichier YAML suivant dans un fichier nommé
hello-app-ingress.yaml
.apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: istio labels: app: hello-app name: hello-app spec: rules: - host: http: paths: - backend: serviceName: hello-app servicePort: 8080
Créez l'entrée en appliquant la configuration avec
kubectl apply
.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f hello-app-ingress.yaml
Vérifiez l'état de votre passerelle à l'aide de
kubectl get svc
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get ingress hello-app
Le champ
ADDRESS
doit comporter un nom de domaine ELB. Si le champADDRESS
reste en attente (pending
), confirmez les libellés de VPC et de sous-réseau.Vous pouvez vérifier l'URL de la passerelle d'entrée en composant l'hôte et le port. Pour obtenir l'URL de votre passerelle, exécutez les commandes suivantes :
export INGRESS_URL=$(env HTTPS_PROXY=http://localhost:8118 \ kubectl get ingress hello-app -o jsonpath='{.status.loadBalancer.ingress[0].hostname}') echo "Your hello-app Ingress URL is: http://"$INGRESS_URL
La dernière commande imprime le point de terminaison de votre entrée.
Si vous avez créé une entrée publique, vous pouvez afficher la page Web par défaut
hello-app
danscurl
en accédant àhttp://$INGRESS_URL/
.curl $INGRESS_URL/
Nettoyer
Vous supprimez les composants hello-app
avec la commande kubectl delete
.
env HTTPS_PROXY=http://localhost:8118 \
kubectl delete -f hello-app.yaml &&\
kubectl delete -f hello-app-ingress.yaml
Si vous souhaitez supprimer Anthos Service Mesh, consultez la page Désinstaller Anthos Service Mesh.
Étapes suivantes
En savoir plus :