diff --git a/slides/k8s/accessinternal.md b/slides/k8s/accessinternal.md index 6767f44f..a647c38a 100644 --- a/slides/k8s/accessinternal.md +++ b/slides/k8s/accessinternal.md @@ -129,3 +129,8 @@ installed and set up `kubectl` to communicate with your cluster. ``` ] + +??? + +:EN:- Securely accessing internal services +:FR:- Accès sécurisé aux services internes diff --git a/slides/k8s/apilb.md b/slides/k8s/apilb.md index 2de80383..499a27b3 100644 --- a/slides/k8s/apilb.md +++ b/slides/k8s/apilb.md @@ -87,3 +87,8 @@ - Tunnels are also fine (e.g. [k3s](https://k3s.io/) uses a tunnel to allow each node to contact the API server) + +??? + +:EN:- Ensuring API server availability +:FR:- Assurer la disponibilité du serveur API diff --git a/slides/k8s/architecture.md b/slides/k8s/architecture.md index ea0b7ee4..0002d53b 100644 --- a/slides/k8s/architecture.md +++ b/slides/k8s/architecture.md @@ -381,3 +381,8 @@ We demonstrated *update* and *watch* semantics. - if the pod has special constraints that can't be met - if the scheduler is not running (!) + +??? + +:EN:- Kubernetes architecture review +:FR:- Passage en revue de l'architecture de Kubernetes diff --git a/slides/k8s/authn-authz.md b/slides/k8s/authn-authz.md index a27b8424..2df6404a 100644 --- a/slides/k8s/authn-authz.md +++ b/slides/k8s/authn-authz.md @@ -676,3 +676,13 @@ class: extra-details - Both are available as standalone programs, or as plugins for `kubectl` (`kubectl` plugins can be installed and managed with `krew`) + +??? + +:EN:- Authentication and authorization in Kubernetes +:EN:- Role-Based Access Control (RBAC) +:EN:- Restricting permissions with Service Accounts + +:FR:- Identification et droits d'accès dans Kubernetes +:FR:- Le modèle RBAC *(Role-Based Access Control)* +:FR:- Restreindre les permissions grâce aux *Service Accounts* diff --git a/slides/k8s/batch-jobs.md b/slides/k8s/batch-jobs.md index 30e51f3c..c8b765ed 100644 --- a/slides/k8s/batch-jobs.md +++ b/slides/k8s/batch-jobs.md @@ -187,3 +187,8 @@ class: extra-details - If we write these manifests ourselves, we can use all features and options - We'll see later how to do that! + +??? + +:EN:- Running batch and cron jobs +:FR:- Tâches périodiques *(cron)* et traitement par lots *(batch)* diff --git a/slides/k8s/bootstrap.md b/slides/k8s/bootstrap.md index b8531dc3..25feeb95 100644 --- a/slides/k8s/bootstrap.md +++ b/slides/k8s/bootstrap.md @@ -257,3 +257,8 @@ This is the TLS bootstrap mechanism, step by step. - [kubeadm token](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-token/) command - [kubeadm join](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-join/) command (has details about [the join workflow](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-join/#join-workflow)) + +??? + +:EN:- Leveraging TLS bootstrap to join nodes +:FR:- Ajout de nœuds grâce au *TLS bootstrap* diff --git a/slides/k8s/cloud-controller-manager.md b/slides/k8s/cloud-controller-manager.md index 0e6dd06f..7dd7b19b 100644 --- a/slides/k8s/cloud-controller-manager.md +++ b/slides/k8s/cloud-controller-manager.md @@ -142,3 +142,8 @@ The list includes the following providers: - [configuration](https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/) (mainly for OpenStack) - [deployment](https://kubernetes.io/docs/tasks/administer-cluster/running-cloud-controller/) + +??? + +:EN:- The Cloud Controller Manager +:FR:- Le *Cloud Controller Manager* diff --git a/slides/k8s/cluster-backup.md b/slides/k8s/cluster-backup.md index 1ae7f22b..73a34739 100644 --- a/slides/k8s/cluster-backup.md +++ b/slides/k8s/cluster-backup.md @@ -364,3 +364,8 @@ docker run --rm --net host -v $PWD:/vol \ - [bivac](https://github.com/camptocamp/bivac) Backup Interface for Volumes Attached to Containers + +??? + +:EN:- Backing up clusters +:FR:- Politiques de sauvegarde diff --git a/slides/k8s/cluster-sizing.md b/slides/k8s/cluster-sizing.md index 3cb9d02b..e0233e70 100644 --- a/slides/k8s/cluster-sizing.md +++ b/slides/k8s/cluster-sizing.md @@ -165,3 +165,11 @@ class: extra-details - Security advantage (stronger isolation between pods) Check [this blog post](http://jpetazzo.github.io/2019/02/13/running-kubernetes-without-nodes-with-kiyot/) for more details. + +??? + +:EN:- Capacity planning +:EN:- Cluster sizing and scaling + +:FR:- Dimensionnement des clusters +:FR:- Comportement en cas de famine diff --git a/slides/k8s/cluster-upgrade.md b/slides/k8s/cluster-upgrade.md index bfae7535..5d897f2d 100644 --- a/slides/k8s/cluster-upgrade.md +++ b/slides/k8s/cluster-upgrade.md @@ -501,3 +501,11 @@ class: extra-details - Then upgrading kubeadm to 1.16.X, etc. - **Make sure to read the release notes before upgrading!** + +??? + +:EN:- Best practices for cluster upgrades +:EN:- Example: upgrading a kubeadm cluster + +:FR:- Bonnes pratiques pour la mise à jour des clusters +:FR:- Exemple : mettre à jour un cluster kubeadm diff --git a/slides/k8s/cni.md b/slides/k8s/cni.md index 7f0141e2..1f955630 100644 --- a/slides/k8s/cni.md +++ b/slides/k8s/cni.md @@ -574,3 +574,8 @@ done - This could be useful for embedded platforms with very limited resources (or lab environments for learning purposes) + +??? + +:EN:- Configuring CNI plugins +:FR:- Configurer des plugins CNI diff --git a/slides/k8s/concepts-k8s.md b/slides/k8s/concepts-k8s.md index cdc95e1b..f8d3a0db 100644 --- a/slides/k8s/concepts-k8s.md +++ b/slides/k8s/concepts-k8s.md @@ -401,3 +401,8 @@ class: pic - IP addresses are associated with *pods*, not with individual containers Both diagrams used with permission. + +??? + +:EN:- Kubernetes concepts +:FR:- Kubernetes en théorie diff --git a/slides/k8s/configuration.md b/slides/k8s/configuration.md index 0283e888..19a47c95 100644 --- a/slides/k8s/configuration.md +++ b/slides/k8s/configuration.md @@ -547,3 +547,13 @@ spec: - With RBAC, we can authorize a user to access configmaps, but not secrets (since they are two different kinds of resources) + +??? + +:EN:- Managing application configuration +:EN:- The downward API +:EN:- Config Maps and Secrets + +:FR:- Gérer la configuration des applications +:FR:- La *downward API* +:FR:- Utiliser les *Config Maps* et *Secrets* diff --git a/slides/k8s/control-plane-auth.md b/slides/k8s/control-plane-auth.md index e188430f..1d19277c 100644 --- a/slides/k8s/control-plane-auth.md +++ b/slides/k8s/control-plane-auth.md @@ -263,3 +263,8 @@ spec: #name: web-xyz1234567-pqr89 EOF ``` + +??? + +:EN:- Control plane authentication +:FR:- Sécurisation du plan de contrôle diff --git a/slides/k8s/csr-api.md b/slides/k8s/csr-api.md index f5bc4976..47c83cac 100644 --- a/slides/k8s/csr-api.md +++ b/slides/k8s/csr-api.md @@ -424,3 +424,8 @@ To be usable in real environments, we would need to add: - we get strong security *and* convenience - Systems like Vault also have certificate issuance mechanisms + +??? + +:EN:- Generating user certificates with the CSR API +:FR:- Génération de certificats utilisateur avec la CSR API diff --git a/slides/k8s/daemonset.md b/slides/k8s/daemonset.md index cbba5028..6c664294 100644 --- a/slides/k8s/daemonset.md +++ b/slides/k8s/daemonset.md @@ -688,3 +688,8 @@ class: extra-details (by setting their label accordingly) - This gives us building blocks for canary and blue/green deployments + +??? + +:EN:- Scaling with Daemon Sets +:FR:- Utilisation de Daemon Sets diff --git a/slides/k8s/dashboard.md b/slides/k8s/dashboard.md index 8d284f90..0a325960 100644 --- a/slides/k8s/dashboard.md +++ b/slides/k8s/dashboard.md @@ -172,3 +172,8 @@ The dashboard will then ask you which authentication you want to use. - It introduces new failure modes (for instance, if you try to apply YAML from a link that's no longer valid) + +??? + +:EN:- The Kubernetes dashboard +:FR:- Le *dashboard* Kubernetes diff --git a/slides/k8s/declarative.md b/slides/k8s/declarative.md index fc4e1fb0..f1ffc5ae 100644 --- a/slides/k8s/declarative.md +++ b/slides/k8s/declarative.md @@ -26,3 +26,8 @@ - When we want to change some resource, we update the *spec* - Kubernetes will then *converge* that resource + +??? + +:EN:- Declarative vs imperative models +:FR:- Modèles déclaratifs et impératifs diff --git a/slides/k8s/dmuc.md b/slides/k8s/dmuc.md index 6424a149..5081e73d 100644 --- a/slides/k8s/dmuc.md +++ b/slides/k8s/dmuc.md @@ -823,3 +823,8 @@ class: extra-details (it could be as a bare process, or in a container/pod using the host network) - ... And it expects to be listening on port 6443 with TLS + +??? + +:EN:- Building our own cluster from scratch +:FR:- Construire son cluster à la main diff --git a/slides/k8s/extending-api.md b/slides/k8s/extending-api.md index 93abe36f..0e080513 100644 --- a/slides/k8s/extending-api.md +++ b/slides/k8s/extending-api.md @@ -344,3 +344,14 @@ class: extra-details - [Dynamic Admission Controllers](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/) - [Aggregation Layer](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/) + +??? + +:EN:- Extending the Kubernetes API +:EN:- Custom Resource Definitions (CRDs) +:EN:- The aggregation layer +:EN:- Admission control and webhooks + +:FR:- Comment étendre l'API Kubernetes +:FR:- Les CRDs *(Custom Resource Definitions)* +:FR:- Extension via *aggregation layer*, *admission control*, *webhooks* diff --git a/slides/k8s/gitworkflows.md b/slides/k8s/gitworkflows.md index c1ebdf6e..74e7a624 100644 --- a/slides/k8s/gitworkflows.md +++ b/slides/k8s/gitworkflows.md @@ -237,3 +237,8 @@ - Gitkube can also deploy Helm charts (instead of raw YAML files) + +??? + +:EN:- GitOps +:FR:- GitOps diff --git a/slides/k8s/healthchecks-more.md b/slides/k8s/healthchecks-more.md index a812966c..8e6b51b2 100644 --- a/slides/k8s/healthchecks-more.md +++ b/slides/k8s/healthchecks-more.md @@ -333,3 +333,8 @@ class: extra-details (and have gcr.io/pause take care of the reaping) - Discussion of this in [Video - 10 Ways to Shoot Yourself in the Foot with Kubernetes, #9 Will Surprise You](https://www.youtube.com/watch?v=QKI-JRs2RIE) + +??? + +:EN:- Adding healthchecks to an app +:FR:- Ajouter des *healthchecks* à une application diff --git a/slides/k8s/healthchecks.md b/slides/k8s/healthchecks.md index 8055bfd8..ad31ab77 100644 --- a/slides/k8s/healthchecks.md +++ b/slides/k8s/healthchecks.md @@ -282,3 +282,8 @@ If the Redis process becomes unresponsive, it will be killed. - check the timestamp of that file from an exec probe - Writing logs (and checking them from the probe) also works + +??? + +:EN:- Using healthchecks to improve availability +:FR:- Utiliser des *healthchecks* pour amémliorer la disponibilité diff --git a/slides/k8s/helm-chart-format.md b/slides/k8s/helm-chart-format.md index e62c853b..c0a5ada0 100644 --- a/slides/k8s/helm-chart-format.md +++ b/slides/k8s/helm-chart-format.md @@ -237,3 +237,8 @@ We see the components mentioned above: `Chart.yaml`, `templates/`, `values.yaml` - This can be use for database migrations, backups, notifications, smoke tests ... - Hooks named `test` are executed only when running `helm test RELEASE-NAME` + +??? + +:EN:- Helm charts format +:FR:- Le format des *Helm charts* diff --git a/slides/k8s/helm-create-basic-chart.md b/slides/k8s/helm-create-basic-chart.md index bdd0ef47..4ca908c1 100644 --- a/slides/k8s/helm-create-basic-chart.md +++ b/slides/k8s/helm-create-basic-chart.md @@ -218,3 +218,8 @@ have details about recommended annotations and labels. ``` ] + +??? + +:EN:- Creating basic Helm charts +:FR:- Création de *Helm charts* basiques diff --git a/slides/k8s/helm-create-better-chart.md b/slides/k8s/helm-create-better-chart.md index 3aba5fab..d7c06a28 100644 --- a/slides/k8s/helm-create-better-chart.md +++ b/slides/k8s/helm-create-better-chart.md @@ -577,3 +577,8 @@ We can look at the definition, but it's fairly complex ... - We can change the number of workers with `replicaCount` - And much more! + +??? + +:EN:- Creating better Helm charts +:FR:- Création de *Helm charts* avancés diff --git a/slides/k8s/helm-intro.md b/slides/k8s/helm-intro.md index 6b6d9eab..bb36d96a 100644 --- a/slides/k8s/helm-intro.md +++ b/slides/k8s/helm-intro.md @@ -417,3 +417,13 @@ All unspecified values will take the default values defined in the chart. ``` ] + +??? + +:EN:- Helm concepts +:EN:- Installing software with Helm + +:FR:- Fonctionnement général de Helm +:FR:- Installer des composants via Helm + +:FR:- Comment \ No newline at end of file diff --git a/slides/k8s/helm-secrets.md b/slides/k8s/helm-secrets.md index b47321cb..032ad0e4 100644 --- a/slides/k8s/helm-secrets.md +++ b/slides/k8s/helm-secrets.md @@ -232,3 +232,8 @@ The chart is in a structured format, but it's entirely captured in this JSON. (including the full source of the chart, and the values used) - This allows arbitrary rollbacks, as well as tweaking values even without having access to the source of the chart (or the chart repo) used for deployment + +??? + +:EN:- Deep dive into Helm internals +:FR:- Fonctionnement interne de Helm diff --git a/slides/k8s/horizontal-pod-autoscaler.md b/slides/k8s/horizontal-pod-autoscaler.md index 04ead202..8c8ad1bf 100644 --- a/slides/k8s/horizontal-pod-autoscaler.md +++ b/slides/k8s/horizontal-pod-autoscaler.md @@ -306,3 +306,8 @@ This can also be set with `--cpu-percent=`. --> ] + +??? + +:EN:- Auto-scaling resources +:FR:- *Auto-scaling* (dimensionnement automatique) des ressources diff --git a/slides/k8s/ingress.md b/slides/k8s/ingress.md index 8f7843f5..43c6c810 100644 --- a/slides/k8s/ingress.md +++ b/slides/k8s/ingress.md @@ -718,3 +718,8 @@ We also need: (create them, promote them, delete them ...) For inspiration, check [flagger by Weave](https://github.com/weaveworks/flagger). + +??? + +:EN:- The Ingress resource +:FR:- La ressource *ingress* diff --git a/slides/k8s/interco.md b/slides/k8s/interco.md index 5907b3e7..557ac0c2 100644 --- a/slides/k8s/interco.md +++ b/slides/k8s/interco.md @@ -155,3 +155,8 @@ For critical services, we might want to precisely control the update process. - Even better if it's combined with DNS integration (to facilitate name → ClusterIP resolution) + +??? + +:EN:- Interconnecting clusters +:FR:- Interconnexion de clusters diff --git a/slides/k8s/kubectl-run.md b/slides/k8s/kubectl-run.md index d4aeaf06..e67b2bcf 100644 --- a/slides/k8s/kubectl-run.md +++ b/slides/k8s/kubectl-run.md @@ -516,3 +516,8 @@ We'll see later how to address that shortcoming. - Until 30 seconds later, when the grace period expires - The pod is then killed, and `kubectl logs` exits + +??? + +:EN:- Running pods and deployments +:FR:- Créer un pod et un déploiement diff --git a/slides/k8s/kubectlexpose.md b/slides/k8s/kubectlexpose.md index d1347da1..0d3bec75 100644 --- a/slides/k8s/kubectlexpose.md +++ b/slides/k8s/kubectlexpose.md @@ -438,3 +438,13 @@ class: extra-details - They can also handle TLS certificates, URL rewriting ... - They require an *Ingress Controller* to function + +??? + +:EN:- Service discovery and load balancing +:EN:- Accessing pods through services +:EN:- Service types: ClusterIP, NodePort, LoadBalancer + +:FR:- Exposer un service +:FR:- Différents types de services : ClusterIP, NodePort, LoadBalancer +:FR:- Utiliser CoreDNS pour la *service discovery* diff --git a/slides/k8s/kubectlget.md b/slides/k8s/kubectlget.md index 7cfbb119..c5ba158f 100644 --- a/slides/k8s/kubectlget.md +++ b/slides/k8s/kubectlget.md @@ -578,3 +578,8 @@ $ curl -k https://10.96.0.1 - Code running in pods can connect to services using their name (e.g. https://kubernetes/...) + +??? + +:EN:- Getting started with kubectl +:FR:- Se familiariser avec kubectl diff --git a/slides/k8s/kubenet.md b/slides/k8s/kubenet.md index bc470475..73c6af0f 100644 --- a/slides/k8s/kubenet.md +++ b/slides/k8s/kubenet.md @@ -145,3 +145,8 @@ class: extra-details - Some solutions can fill multiple roles (e.g. kube-router can be set up to provide the pod network and/or network policies and/or replace kube-proxy) + +??? + +:EN:- The Kubernetes network model +:FR:- Le modèle réseau de Kubernetes diff --git a/slides/k8s/kubercoins.md b/slides/k8s/kubercoins.md index 3220f5fa..2028200c 100644 --- a/slides/k8s/kubercoins.md +++ b/slides/k8s/kubercoins.md @@ -242,3 +242,8 @@ https://@@GITREPO@@/blob/8279a3bce9398f7c1a53bdd95187c53eda4e6435/dockercoins/wo A drawing area should show up, and after a few seconds, a blue graph will appear. + +??? + +:EN:- Running a sample app +:FR:- Lancer une application de démo diff --git a/slides/k8s/kustomize.md b/slides/k8s/kustomize.md index 0554fadf..84fa9d19 100644 --- a/slides/k8s/kustomize.md +++ b/slides/k8s/kustomize.md @@ -199,3 +199,8 @@ ] Note: it might take a minute or two for the worker to start. + +??? + +:EN:- Packaging and running apps with Kustomize +:FR:- *Packaging* d'applications avec Kustomize diff --git a/slides/k8s/labels-annotations.md b/slides/k8s/labels-annotations.md index 59ebd454..790841ba 100644 --- a/slides/k8s/labels-annotations.md +++ b/slides/k8s/labels-annotations.md @@ -195,3 +195,8 @@ class: extra-details - Maximum length isn't defined (dozens of kilobytes is fine, hundreds maybe not so much) + +??? + +:EN:- Labels and annotations +:FR:- *Labels* et annotations diff --git a/slides/k8s/local-persistent-volumes.md b/slides/k8s/local-persistent-volumes.md index 075cb619..b0c381cd 100644 --- a/slides/k8s/local-persistent-volumes.md +++ b/slides/k8s/local-persistent-volumes.md @@ -246,3 +246,8 @@ (when we can't or won't dedicate a whole disk to a volume) - It's possible to mix both (using distinct Storage Classes) + +??? + +:EN:- Local persistent volumes +:FR:- Volumes locaux persistents diff --git a/slides/k8s/localkubeconfig.md b/slides/k8s/localkubeconfig.md index efcae788..6d96fd4b 100644 --- a/slides/k8s/localkubeconfig.md +++ b/slides/k8s/localkubeconfig.md @@ -193,3 +193,8 @@ class: extra-details ] We can now utilize the cluster exactly as if we're logged into a node, except that it's remote. + +??? + +:EN:- Working with remote Kubernetes clusters +:FR:- Travailler avec des *clusters* distants diff --git a/slides/k8s/logs-centralized.md b/slides/k8s/logs-centralized.md index 07af0ce3..2d0644fe 100644 --- a/slides/k8s/logs-centralized.md +++ b/slides/k8s/logs-centralized.md @@ -145,3 +145,8 @@ But this is outside of the scope of this chapter. The YAML file that we used creates all the resources in the `default` namespace, for simplicity. In a real scenario, you will create the resources in the `kube-system` namespace or in a dedicated namespace. + +??? + +:EN:- Centralizing logs +:FR:- Centraliser les logs diff --git a/slides/k8s/logs-cli.md b/slides/k8s/logs-cli.md index f02dc358..288d929a 100644 --- a/slides/k8s/logs-cli.md +++ b/slides/k8s/logs-cli.md @@ -149,3 +149,8 @@ Exactly what we need! --> ] + +??? + +:EN:- Viewing pod logs from the CLI +:FR:- Consulter les logs des pods depuis la CLI diff --git a/slides/k8s/metrics-server.md b/slides/k8s/metrics-server.md index cbd9bb15..fba78e22 100644 --- a/slides/k8s/metrics-server.md +++ b/slides/k8s/metrics-server.md @@ -80,3 +80,8 @@ If it shows our nodes and their CPU and memory load, we're good! - kube-resource-report can generate HTML reports (https://github.com/hjacobs/kube-resource-report) + +??? + +:EN:- The *core metrics pipeline* +:FR:- Le *core metrics pipeline* diff --git a/slides/k8s/multinode.md b/slides/k8s/multinode.md index 829208db..9f78ab72 100644 --- a/slides/k8s/multinode.md +++ b/slides/k8s/multinode.md @@ -532,3 +532,8 @@ Sometimes it works, sometimes it doesn't. Why? - We want to automate all these steps - We want something that works on all networks + +??? + +:EN:- Connecting nodes ands pods +:FR:- Interconnecter les nœuds et les pods diff --git a/slides/k8s/namespaces.md b/slides/k8s/namespaces.md index 45a6962f..9eba8428 100644 --- a/slides/k8s/namespaces.md +++ b/slides/k8s/namespaces.md @@ -365,3 +365,7 @@ Note: we could have used `--namespace=default` for the same result. - Pro-tip: install it on your machine during the next break! +??? + +:EN:- Organizing resources with Namespaces +:FR:- Organiser les ressources avec des *namespaces* diff --git a/slides/k8s/netpol.md b/slides/k8s/netpol.md index 5ec070d9..90a1d31f 100644 --- a/slides/k8s/netpol.md +++ b/slides/k8s/netpol.md @@ -446,3 +446,8 @@ troubleshoot easily, without having to poke holes in our firewall. - a [very good talk about network policies](https://www.youtube.com/watch?list=PLj6h78yzYM2P-3-xqvmWaZbbI1sW-ulZb&v=3gGpMmYeEO8) at KubeCon North America 2017 - a repository of [ready-to-use recipes](https://github.com/ahmetb/kubernetes-network-policy-recipes) for network policies + +??? + +:EN:- Network isolation with Network Policies +:FR:- Protection réseau avec les *network policies* diff --git a/slides/k8s/openid-connect.md b/slides/k8s/openid-connect.md index 8b23fd64..4c781079 100644 --- a/slides/k8s/openid-connect.md +++ b/slides/k8s/openid-connect.md @@ -377,3 +377,8 @@ class: extra-details - It should now say "Signature Verified" ] + +??? + +:EN:- Authenticating with OIDC +:FR:- S'identifier avec OIDC diff --git a/slides/k8s/operators-design.md b/slides/k8s/operators-design.md index b181c3db..d64eb22b 100644 --- a/slides/k8s/operators-design.md +++ b/slides/k8s/operators-design.md @@ -356,3 +356,8 @@ class: extra-details (this is used e.g. by the metrics server) - [This documentation page](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#choosing-a-method-for-adding-custom-resources) compares the features of CRDs and API aggregation + +??? + +:EN:- Guidelines to design our own operators +:FR:- Comment concevoir nos propres opérateurs diff --git a/slides/k8s/operators.md b/slides/k8s/operators.md index 6748321f..46b471b8 100644 --- a/slides/k8s/operators.md +++ b/slides/k8s/operators.md @@ -615,3 +615,11 @@ After the Kibana UI loads, we need to click around a bit *Operators can be very powerful.
But we need to know exactly the scenarios that they can handle.* + +??? + +:EN:- Kubernetes operators +:EN:- Deploying ElasticSearch with ECK + +:FR:- Les opérateurs +:FR:- Déployer ElasticSearch avec ECK diff --git a/slides/k8s/ourapponkube.md b/slides/k8s/ourapponkube.md index 992a38b3..f7cfefd4 100644 --- a/slides/k8s/ourapponkube.md +++ b/slides/k8s/ourapponkube.md @@ -162,3 +162,8 @@ Yes, this may take a little while to update. *(Narrator: it was DNS.)* -- *Alright, we're back to where we started, when we were running on a single node!* + +??? + +:EN:- Running our demo app on Kubernetes +:FR:- Faire tourner l'application de démo sur Kubernetes diff --git a/slides/k8s/owners-and-dependents.md b/slides/k8s/owners-and-dependents.md index bce4d2f9..2d7e27f9 100644 --- a/slides/k8s/owners-and-dependents.md +++ b/slides/k8s/owners-and-dependents.md @@ -180,3 +180,8 @@ class: extra-details ] As always, the [documentation](https://kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/) has useful extra information and pointers. + +??? + +:EN:- Owners and dependents +:FR:- Liens de parenté entre les ressources diff --git a/slides/k8s/podsecuritypolicy.md b/slides/k8s/podsecuritypolicy.md index 0deb8284..a94d4e0a 100644 --- a/slides/k8s/podsecuritypolicy.md +++ b/slides/k8s/podsecuritypolicy.md @@ -531,3 +531,8 @@ class: extra-details ``` ] + +??? + +:EN:- Pod Security Policies +:FR:- Les *Pod Security Policies* diff --git a/slides/k8s/portworx.md b/slides/k8s/portworx.md index 46887b73..3f0e9152 100644 --- a/slides/k8s/portworx.md +++ b/slides/k8s/portworx.md @@ -678,3 +678,10 @@ were inspired by [Portworx examples on Katacoda](https://katacoda.com/portworx/s - [HA PostgreSQL on Kubernetes with Portworx](https://www.katacoda.com/portworx/scenarios/px-k8s-postgres-all-in-one) (with adaptations to use a Stateful Set and simplify PostgreSQL's setup) + +??? + +:EN:- Highly available persistent volumes +:EN:- Use-case: deploying Postgres with high availability + +:FR:- Cas d'usage : déployer un serveur SQL haute disponibilité diff --git a/slides/k8s/prometheus.md b/slides/k8s/prometheus.md index 3052c61e..37532837 100644 --- a/slides/k8s/prometheus.md +++ b/slides/k8s/prometheus.md @@ -562,3 +562,8 @@ class: extra-details Don't panic if you don't know these tools! ...But make sure at least one person in your team is on it 💯 + +??? + +:EN:- Collecting metrics with Prometheus +:FR:- Collecter des métriques avec Prometheus diff --git a/slides/k8s/resource-limits.md b/slides/k8s/resource-limits.md index 25e86406..8e3e5372 100644 --- a/slides/k8s/resource-limits.md +++ b/slides/k8s/resource-limits.md @@ -536,3 +536,15 @@ services.nodeports 0 0 - [static demo](https://hjacobs.github.io/kube-resource-report/sample-report/output/index.html) | [live demo](https://kube-resource-report.demo.j-serv.de/applications.html) + +??? + +:EN:- Allocate and limit container resources +:EN:- Define default resource limits +:EN:- Enforce resource quotas +:EN:- Resource management in practice + +:FR:- Allouer et limiter les ressources des conteneurs +:FR:- Définition de ressources par défaut +:FR:- Quotas de ressources +:FR:- Conseils pratiques \ No newline at end of file diff --git a/slides/k8s/rollout.md b/slides/k8s/rollout.md index 5e8c1a9f..e231e868 100644 --- a/slides/k8s/rollout.md +++ b/slides/k8s/rollout.md @@ -437,3 +437,12 @@ class: extra-details ] ] + +??? + +:EN:- Rolling updates +:EN:- Rolling back a bad deployment + +:FR:- Mettre à jour un déploiement +:FR:- Concept de *rolling update* et *rollback* +:FR:- Paramétrer la vitesse de déploiement diff --git a/slides/k8s/scalingdockercoins.md b/slides/k8s/scalingdockercoins.md index 36ce2674..404db95c 100644 --- a/slides/k8s/scalingdockercoins.md +++ b/slides/k8s/scalingdockercoins.md @@ -200,3 +200,8 @@ Now we can access the IP addresses of our services through `$HASHER` and `$RNG`. - `rng` is not (it should take about 700 milliseconds if there are 10 workers) - Something is wrong with `rng`, but ... what? + +??? + +:EN:- Scaling up our demo app +:FR:- *Scale up* de l'application de démo diff --git a/slides/k8s/setup-k8s.md b/slides/k8s/setup-k8s.md index 91740afa..994b8c11 100644 --- a/slides/k8s/setup-k8s.md +++ b/slides/k8s/setup-k8s.md @@ -92,3 +92,8 @@ - For a longer list, check the Kubernetes documentation:
it has a great guide to [pick the right solution](https://kubernetes.io/docs/setup/#production-environment) to set up Kubernetes. + +??? + +:EN:- Overview of the kubeadm installer +:FR:- Survol de kubeadm diff --git a/slides/k8s/setup-managed.md b/slides/k8s/setup-managed.md index e13fd18a..05dedb66 100644 --- a/slides/k8s/setup-managed.md +++ b/slides/k8s/setup-managed.md @@ -250,6 +250,11 @@ with a cloud provider - OVH -- Scaleway (private beta) +- Scaleway - ... + +??? + +:EN:- Installing a managed cluster +:FR:- Installer un cluster infogéré diff --git a/slides/k8s/setup-selfhosted.md b/slides/k8s/setup-selfhosted.md index 43fd904b..f3c245fe 100644 --- a/slides/k8s/setup-selfhosted.md +++ b/slides/k8s/setup-selfhosted.md @@ -108,3 +108,8 @@
(do they need training?) - etc. + +??? + +:EN:- Various ways to set up Kubernetes +:FR:- Différentes méthodes pour installer Kubernetes diff --git a/slides/k8s/shippingimages.md b/slides/k8s/shippingimages.md index 6618501f..37abef9d 100644 --- a/slides/k8s/shippingimages.md +++ b/slides/k8s/shippingimages.md @@ -115,4 +115,9 @@ There might be a long pause before the first layer is pulled, because the API behind `docker pull` doesn't allow to stream build logs, and there is no feedback during the build. -It is possible to view the build logs by setting up an account on [ctr.run](https://ctr.run/). \ No newline at end of file +It is possible to view the build logs by setting up an account on [ctr.run](https://ctr.run/). + +??? + +:EN:- Shipping images to Kubernetes +:FR:- Déployer des images sur notre cluster diff --git a/slides/k8s/statefulsets.md b/slides/k8s/statefulsets.md index a41ef707..fa1340ba 100644 --- a/slides/k8s/statefulsets.md +++ b/slides/k8s/statefulsets.md @@ -600,3 +600,10 @@ This will trigger the following actions. 5. The PersistentVolumeClaimBinder associates the PVs and the PVCs together. 6. PVCs are now bound, the Pods can start. + +??? + +:EN:- Deploying stateful applications +:EN:- Use-case: running Consul with a Stateful Set +:FR:- Déployer des applications persistante +:FR:- Example: lancer Consul avec un Sateful Set diff --git a/slides/k8s/staticpods.md b/slides/k8s/staticpods.md index 63974122..d501d31e 100644 --- a/slides/k8s/staticpods.md +++ b/slides/k8s/staticpods.md @@ -239,3 +239,8 @@ The `-node1` suffix was added automatically by kubelet. If we delete the pod (with `kubectl delete`), it will be recreated immediately. To delete the pod, we need to delete (or move) the manifest file. + +??? + +:EN:- Static pods +:FR:- Les *static pods* diff --git a/slides/k8s/versions-k8s.md b/slides/k8s/versions-k8s.md index 6cfb6c97..424140af 100644 --- a/slides/k8s/versions-k8s.md +++ b/slides/k8s/versions-k8s.md @@ -88,3 +88,8 @@ class: extra-details ``` - Check [the documentation](https://kubernetes.io/docs/setup/release/version-skew-policy/#kubectl) for the whole story about compatibility + +??? + +:EN:- Kubernetes versioning and compatibility +:FR:- Les versions de Kubernetes et leur compatibilité diff --git a/slides/k8s/volumes.md b/slides/k8s/volumes.md index 571b9382..0e644bad 100644 --- a/slides/k8s/volumes.md +++ b/slides/k8s/volumes.md @@ -467,3 +467,11 @@ spec: - A volume survives across container restarts - A volume is destroyed (or, for remote storage, detached) when the pod is destroyed + +??? + +:EN:- Sharing data between containers with volumes +:EN:- When and how to use Init Containers + +:FR:- Partager des données grâce aux volumes +:FR:- Quand et comment utilise un *Init Container* diff --git a/slides/k8s/yamldeploy.md b/slides/k8s/yamldeploy.md index 82798d33..4650e0cb 100644 --- a/slides/k8s/yamldeploy.md +++ b/slides/k8s/yamldeploy.md @@ -164,3 +164,8 @@ class: extra-details - this is typical for things that may be deployed multiple times - example: applications (production, staging, feature branches ...) + +??? + +:EN:- Deploying with YAML manifests +:FR:- Déployer avec des *manifests* YAML