diff --git a/slides/k8s/access-eks-cluster.md b/slides/k8s/access-eks-cluster.md new file mode 100644 index 00000000..6bd0d845 --- /dev/null +++ b/slides/k8s/access-eks-cluster.md @@ -0,0 +1,104 @@ +## Accessing our EKS cluster + +- We also have a shared EKS cluster + +- With individual IAM users + +- Let's connect to this cluster! + +--- + +## What we need + +- `kubectl` (obviously!) + +- `aws` CLI (recent-ish version) + + (or `aws` CLI + `aws-iam-authenticator` plugin) + +- AWS API access key and secret access key + +- AWS region + +- EKS cluster name + +--- + +## Setting up AWS credentials + +- There are many ways to do this + +- We're going to use environment variables + +- You're welcome to use whatever you like (e.g. AWS profiles) + +.exercise[ + +- Set the AWS region, API access key, and secret key: + ```bash + export AWS_DEFAULT_REGION=`us-east-2` + export AWS_ACCESS_KEY_ID=`AKI...` + export AWS_SECRET_ACCESS_KEY=`xyz123...` + ``` + +- Check that the AWS API recognizes us: + ```bash + aws sts get-caller-identity + ``` + +] + +--- + +## Updating our kubeconfig file + +- Now we can use the AWS CLI to: + + - obtain the Kubernetes API address + + - register it in our kubeconfig file + +.exercise[ + +- Update our kubeconfig file: + ```bash + aws eks update-kubeconfig --name `fancy-clustername-1234` + ``` + +- Run some harmless command: + ```bash + kubectl version + ``` + +] + +--- + +## Our resources + +- We have the following permissions: + + - `view` in the `default` namespace + + - `edit` in the `container-training` namespace + + - `admin` in our personal namespace + +- Our personal namespace is our IAM user name + + (but with dots replaced with dashes) + +- For instance, user `ada.lovelace` has namespace `ada-lovelace` + +--- + +## Deploying things + +- Let's deploy DockerCoins in our personal namespace! + +- Expose the Web UI with a `LoadBalancer` service + +??? + +:EN:- Working with an EKS cluster +:FR:- Travailler avec un cluster EKS diff --git a/slides/kube-adv.yml b/slides/kube-adv.yml deleted file mode 100644 index 87cbf454..00000000 --- a/slides/kube-adv.yml +++ /dev/null @@ -1,81 +0,0 @@ -title: | - Advanced - Kubernetes - -chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" - -gitrepo: github.com/jpetazzo/container.training - -slides: https://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced - -content: -- shared/title.md -- logistics.md -- k8s/intro.md -- shared/about-slides.md -#- shared/chat-room-im.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- #1 - - k8s/prereqs-admin.md - - k8s/architecture.md - - k8s/internal-apis.md - - k8s/deploymentslideshow.md - - k8s/dmuc.md -- #2 - - k8s/multinode.md - - k8s/cni.md - - k8s/interco.md -- #3 - - k8s/cni-internals.md - - k8s/apilb.md - - k8s/control-plane-auth.md - - | - # (Extra content) - - k8s/staticpods.md - - k8s/cluster-upgrade.md -- #4 - - k8s/kustomize.md - - k8s/helm-intro.md - - k8s/helm-chart-format.md - - k8s/helm-create-basic-chart.md - - | - # (Extra content) - - k8s/helm-create-better-chart.md - - k8s/helm-secrets.md -- #5 - - k8s/extending-api.md - - k8s/operators.md - - k8s/sealed-secrets.md - - k8s/crd.md -- #6 - - k8s/ingress-tls.md - - k8s/cert-manager.md - - k8s/eck.md -- #7 - - k8s/admission.md - - k8s/kyverno.md -- #8 - - k8s/aggregation-layer.md - - k8s/metrics-server.md - - k8s/prometheus.md - - k8s/hpa-v2.md -- #9 - - k8s/operators-design.md - - k8s/kubebuilder.md - - k8s/events.md - - k8s/finalizers.md - - | - # (Extra content) - - k8s/owners-and-dependents.md - - k8s/apiserver-deepdive.md - #- k8s/record.md - - shared/thankyou.md - diff --git a/slides/kube-fullday.yml b/slides/kube-fullday.yml deleted file mode 100644 index a3c9ad5d..00000000 --- a/slides/kube-fullday.yml +++ /dev/null @@ -1,120 +0,0 @@ -title: | - Deploying and Scaling Microservices - with Kubernetes - -#chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" -chat: "In person!" - -gitrepo: github.com/jpetazzo/container.training - -slides: http://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced - -content: -- shared/title.md -- logistics.md -- k8s/intro.md -- shared/about-slides.md -- shared/chat-room-im.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - - shared/prereqs.md - #- shared/webssh.md - - shared/connecting.md - #- k8s/versions-k8s.md - - shared/sampleapp.md - #- shared/composescale.md - #- shared/hastyconclusions.md - - shared/composedown.md - - k8s/concepts-k8s.md - - k8s/kubectlget.md -- - - k8s/kubectl-run.md - - k8s/batch-jobs.md - - k8s/labels-annotations.md - - k8s/kubectl-logs.md - - k8s/logs-cli.md - - shared/declarative.md - - k8s/declarative.md - - k8s/deploymentslideshow.md - - k8s/kubenet.md - - k8s/kubectlexpose.md - - k8s/shippingimages.md - #- k8s/buildshiprun-selfhosted.md - - k8s/buildshiprun-dockerhub.md - - k8s/ourapponkube.md - #- k8s/exercise-wordsmith.md -- - - k8s/yamldeploy.md - - k8s/setup-overview.md - #- k8s/setup-devel.md - #- k8s/setup-managed.md - #- k8s/setup-selfhosted.md - #- k8s/dashboard.md - #- k8s/k9s.md - #- k8s/tilt.md - #- k8s/kubectlscale.md - - k8s/scalingdockercoins.md - - shared/hastyconclusions.md - - k8s/daemonset.md - #- k8s/authoring-yaml.md - #- k8s/exercise-yaml.md - #- k8s/localkubeconfig.md - #- k8s/accessinternal.md - #- k8s/kubectlproxy.md - - k8s/rollout.md - #- k8s/healthchecks.md - #- k8s/healthchecks-more.md - #- k8s/record.md -- - - k8s/namespaces.md - - k8s/ingress.md - #- k8s/ingress-tls.md - #- k8s/kustomize.md - #- k8s/helm-intro.md - #- k8s/helm-chart-format.md - #- k8s/helm-create-basic-chart.md - #- k8s/helm-create-better-chart.md - #- k8s/helm-secrets.md - #- k8s/exercise-helm.md - #- k8s/gitlab.md - #- k8s/create-chart.md - #- k8s/create-more-charts.md - #- k8s/netpol.md - #- k8s/authn-authz.md - #- k8s/user-cert.md - #- k8s/csr-api.md - #- k8s/openid-connect.md - #- k8s/podsecuritypolicy.md - - k8s/volumes.md - #- k8s/exercise-configmap.md - #- k8s/build-with-docker.md - #- k8s/build-with-kaniko.md - - k8s/configuration.md - - k8s/secrets.md - #- k8s/logs-centralized.md - #- k8s/prometheus.md - #- k8s/statefulsets.md - #- k8s/local-persistent-volumes.md - #- k8s/portworx.md - #- k8s/extending-api.md - #- k8s/crd.md - #- k8s/admission.md - #- k8s/operators.md - #- k8s/operators-design.md - #- k8s/staticpods.md - #- k8s/finalizers.md - #- k8s/owners-and-dependents.md - #- k8s/gitworkflows.md -- - - k8s/whatsnext.md - - k8s/lastwords.md - - k8s/links.md - - shared/thankyou.md diff --git a/slides/kube-halfday.yml b/slides/kube-halfday.yml deleted file mode 100644 index 42da801c..00000000 --- a/slides/kube-halfday.yml +++ /dev/null @@ -1,84 +0,0 @@ -title: | - Kubernetes 101 - - -#chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/training-20180413-paris)" -chat: "In person!" - -gitrepo: github.com/jpetazzo/container.training - -slides: http://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- self-paced - -content: -- shared/title.md -#- logistics.md -# Bridget-specific; others use logistics.md -- logistics-bridget.md -- k8s/intro.md -- shared/about-slides.md -- shared/chat-room-im.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - shared/prereqs.md - #- shared/webssh.md - - shared/connecting.md - - k8s/versions-k8s.md - - shared/sampleapp.md -# Bridget doesn't go into as much depth with compose - #- shared/composescale.md - #- shared/hastyconclusions.md - - shared/composedown.md - - k8s/concepts-k8s.md - - shared/declarative.md - - k8s/declarative.md - - k8s/kubenet.md - - k8s/kubectlget.md - - k8s/setup-overview.md - #- k8s/setup-devel.md - #- k8s/setup-managed.md - #- k8s/setup-selfhosted.md -- - k8s/kubectl-run.md - #- k8s/batch-jobs.md - #- k8s/labels-annotations.md - - k8s/kubectl-logs.md - - k8s/deploymentslideshow.md - - k8s/kubectlexpose.md - - k8s/shippingimages.md - #- k8s/buildshiprun-selfhosted.md - - k8s/buildshiprun-dockerhub.md - - k8s/ourapponkube.md - #- k8s/localkubeconfig.md - #- k8s/accessinternal.md - #- k8s/kubectlproxy.md -- - k8s/dashboard.md - #- k8s/k9s.md - #- k8s/tilt.md - #- k8s/kubectlscale.md - - k8s/scalingdockercoins.md - - shared/hastyconclusions.md - - k8s/daemonset.md - - k8s/rollout.md - #- k8s/record.md -- - k8s/logs-cli.md -# Bridget hasn't added EFK yet - #- k8s/logs-centralized.md - - k8s/namespaces.md - - k8s/helm-intro.md - #- k8s/helm-chart-format.md - - k8s/helm-create-basic-chart.md - #- k8s/helm-create-better-chart.md - #- k8s/helm-secrets.md - #- k8s/kustomize.md - #- k8s/netpol.md - - k8s/whatsnext.md -# - k8s/links.md -# Bridget-specific - - k8s/links-bridget.md - - shared/thankyou.md diff --git a/slides/kube-selfpaced.yml b/slides/kube-selfpaced.yml deleted file mode 100644 index b615c6e5..00000000 --- a/slides/kube-selfpaced.yml +++ /dev/null @@ -1,149 +0,0 @@ -title: | - Deploying and Scaling Microservices - with Docker and Kubernetes - -chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)" -#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)" - - -gitrepo: github.com/jpetazzo/container.training - -slides: http://container.training/ - -#slidenumberprefix: "#SomeHashTag — " - -exclude: -- in-person - -content: -- shared/title.md -#- logistics.md -- k8s/intro.md -- shared/about-slides.md -#- shared/chat-room-im.md -#- shared/chat-room-zoom-meeting.md -#- shared/chat-room-zoom-webinar.md -- shared/toc.md -- - - shared/prereqs.md - #- shared/webssh.md - - shared/connecting.md - - k8s/versions-k8s.md - - shared/sampleapp.md - #- shared/composescale.md - #- shared/hastyconclusions.md - - shared/composedown.md - - k8s/concepts-k8s.md -- - - k8s/kubectlget.md - - k8s/kubectl-run.md - - k8s/batch-jobs.md - - k8s/labels-annotations.md - - k8s/kubectl-logs.md - - k8s/logs-cli.md - - shared/declarative.md - - k8s/declarative.md - - k8s/deploymentslideshow.md -- - - k8s/kubenet.md - - k8s/kubectlexpose.md - - k8s/shippingimages.md - - k8s/buildshiprun-selfhosted.md - - k8s/buildshiprun-dockerhub.md - - k8s/ourapponkube.md - #- k8s/exercise-wordsmith.md - - k8s/yamldeploy.md -- - - k8s/setup-overview.md - - k8s/setup-devel.md - - k8s/setup-managed.md - - k8s/setup-selfhosted.md - - k8s/dashboard.md - - k8s/k9s.md - - k8s/tilt.md - #- k8s/kubectlscale.md - - k8s/scalingdockercoins.md - - shared/hastyconclusions.md - - k8s/daemonset.md - - k8s/authoring-yaml.md - #- k8s/exercise-yaml.md -- - - k8s/rollout.md - - k8s/healthchecks.md - - k8s/healthchecks-more.md - - k8s/record.md -- - - k8s/namespaces.md - - k8s/localkubeconfig.md - - k8s/accessinternal.md - - k8s/kubectlproxy.md -- - - k8s/ingress.md - - k8s/ingress-tls.md - - k8s/cert-manager.md - - k8s/kustomize.md - - k8s/helm-intro.md - - k8s/helm-chart-format.md - - k8s/helm-create-basic-chart.md - - k8s/helm-create-better-chart.md - - k8s/helm-secrets.md - #- k8s/exercise-helm.md - - k8s/gitlab.md -- - - k8s/netpol.md - - k8s/authn-authz.md - - k8s/podsecuritypolicy.md - - k8s/user-cert.md - - k8s/csr-api.md - - k8s/openid-connect.md - - k8s/control-plane-auth.md -- - - k8s/volumes.md - #- k8s/exercise-configmap.md - - k8s/build-with-docker.md - - k8s/build-with-kaniko.md -- - - k8s/configuration.md - - k8s/secrets.md - - k8s/statefulsets.md - - k8s/local-persistent-volumes.md - - k8s/portworx.md -- - - k8s/logs-centralized.md - - k8s/prometheus.md - - k8s/resource-limits.md - - k8s/metrics-server.md - - k8s/cluster-sizing.md - - k8s/horizontal-pod-autoscaler.md - - k8s/hpa-v2.md -- - - k8s/extending-api.md - - k8s/apiserver-deepdive.md - - k8s/crd.md - - k8s/aggregation-layer.md - - k8s/admission.md - - k8s/operators.md - - k8s/operators-design.md - - k8s/kubebuilder.md - - k8s/sealed-secrets.md - - k8s/kyverno.md - - k8s/eck.md - - k8s/finalizers.md - - k8s/owners-and-dependents.md - - k8s/events.md -- - - k8s/dmuc.md - - k8s/multinode.md - - k8s/cni.md - - k8s/cni-internals.md - - k8s/apilb.md - - k8s/staticpods.md -- - - k8s/cluster-upgrade.md - - k8s/cluster-backup.md - - k8s/cloud-controller-manager.md - - k8s/gitworkflows.md -- - - k8s/lastwords.md - - k8s/links.md - - shared/thankyou.md diff --git a/slides/kube.yml b/slides/kube.yml index 7d32cfe4..da8137d6 100644 --- a/slides/kube.yml +++ b/slides/kube.yml @@ -71,6 +71,7 @@ content: #- k8s/setup-selfhosted.md #- k8s/dashboard.md - k8s/localkubeconfig.md + - k8s/access-eks-cluster.md - k8s/accessinternal.md #- k8s/kubectlproxy.md - k8s/ingress.md diff --git a/slides/shared/chat-room-slack.md b/slides/shared/chat-room-slack.md new file mode 100644 index 00000000..14a7e5b3 --- /dev/null +++ b/slides/shared/chat-room-slack.md @@ -0,0 +1,12 @@ +## Chat room + +- A Slack room has been set up for the duration of the training + +- We'll use it to ask questions, get help, share feedback ... + + (let's keep an eye on it during the training!) + +- Reminder, the room is @@CHAT@@ + +- Say hi in the chat room! +