<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>gcp | rael.io</title><link>https://rael.io/tags/gcp/</link><atom:link href="https://rael.io/tags/gcp/index.xml" rel="self" type="application/rss+xml"/><description>gcp</description><generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator><language>en-us</language><copyright>Fork me on [GitHub](https://github.com/raelga/rael.io)</copyright><lastBuildDate>Tue, 30 Jul 2019 18:30:00 +0200</lastBuildDate><image><url>https://rael.io/img/photos/emma-hello-card.jpg</url><title>gcp</title><link>https://rael.io/tags/gcp/</link></image><item><title>Cloud Study Jam: Cloud Architecture</title><link>https://rael.io/talk/cnbcn-cloud-architecture19/</link><pubDate>Tue, 30 Jul 2019 18:30:00 +0200</pubDate><guid>https://rael.io/talk/cnbcn-cloud-architecture19/</guid><description/></item><item><title>Cloud Study Jam: GCP Essentials</title><link>https://rael.io/talk/cnbcn-csj-essentials19/</link><pubDate>Thu, 06 Jun 2019 18:30:00 +0200</pubDate><guid>https://rael.io/talk/cnbcn-csj-essentials19/</guid><description/></item><item><title>GitOps Pipeline</title><link>https://rael.io/talk/cnbcn-gitops-pipeline/</link><pubDate>Tue, 30 Apr 2019 18:30:00 +0200</pubDate><guid>https://rael.io/talk/cnbcn-gitops-pipeline/</guid><description/></item><item><title>Docker wordpress</title><link>https://rael.io/project/docker-wordpress/</link><pubDate>Mon, 04 Mar 2019 11:23:56 +0200</pubDate><guid>https://rael.io/project/docker-wordpress/</guid><description>
&lt;p&gt;Dockerfile for Wordpress with some plugin/theme management.&lt;/p&gt;
&lt;p&gt;Available at &lt;a href=&#34;https://gcr.io/raelga/wordpress&#34; target=&#34;_blank&#34;&gt;gcr.io/raelga/wordpress:latest&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;dockerfile&#34;&gt;Dockerfile&lt;/h2&gt;
&lt;h3 id=&#34;stage-wp-plugins&#34;&gt;Stage: wp-plugins&lt;/h3&gt;
&lt;p&gt;Downloads form GitHub the plugins listed in &lt;a href=&#34;context/plugins.list&#34; target=&#34;_blank&#34;&gt;context/plugins.list&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;raelga/wp-mailgun:1.7.1
wpCloud/wp-stateless:2.2.6
WP2Static/wp2static:6.6.5
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The format is: &lt;code&gt;&amp;lt;github-username&amp;gt;/&amp;lt;github-repo&amp;gt;:&amp;lt;github-tag&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;stage-wp&#34;&gt;Stage: wp&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Copies the content from &lt;a href=&#34;context/wp-content&#34; target=&#34;_blank&#34;&gt;context/wp-content&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Copies the plugins from the &lt;code&gt;wp-plugins&lt;/code&gt; stage to the wp plugins folder.&lt;/li&gt;
&lt;li&gt;Adds some php optimizations&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;output&#34;&gt;Output&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;docker build -t cms.bigot.es:7c4311f -f cms.bigot.es/Dockerfile cms.bigot.es/context
Sending build context to Docker daemon 3.936MB
Step 1/7 : FROM bash:5.0 as wp-plugins
---&amp;gt; f63c4bf22009
Step 2/7 : ADD plugins.list /tmp/wp-plugins/plugins.list
---&amp;gt; 263f808fe293
Step 3/7 : RUN while read plugin || [ -n &amp;quot;$plugin&amp;quot; ]; do wget -q -O - https://github.com/${plugin/\:*/}/archive/${plugin/*:/}.tar.gz | tar zx -C /tmp/wp-plugins &amp;amp;&amp;amp; echo &amp;quot;Plugin ${plugin} downloaded.&amp;quot;; done &amp;lt; /tmp/wp-plugins/plugins.list
---&amp;gt; Running in f5217e97b99c
Plugin raelga/wp-mailgun:1.7.1 downloaded.
Plugin wpCloud/wp-stateless:2.2.6 downloaded.
Plugin WP2Static/wp2static:6.6.5 downloaded.
Removing intermediate container f5217e97b99c
---&amp;gt; a639b006aec8
Step 4/7 : FROM wordpress:5.1
---&amp;gt; d3a744e0e523
Step 5/7 : COPY --chown=www-data wp-content /var/www/html/wp-content
---&amp;gt; Using cache
---&amp;gt; 3649a2f4204b
Step 6/7 : COPY --from=wp-plugins --chown=www-data /tmp/wp-plugins /var/www/html/wp-content/plugins/
---&amp;gt; 24191ed6bb75
Step 7/7 : RUN { mv $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini; echo &#39;opcache.memory_consumption=64&#39;; echo &#39;opcache.max_accelerated_files=4000&#39;; echo &#39;opcache.revalidate_freq=10&#39;; } &amp;gt; /usr/local/etc/php/conf.d/opcache-recommended.ini
---&amp;gt; Running in d1f3bd26f718
Removing intermediate container d1f3bd26f718
---&amp;gt; e86ce9bed1cc
Successfully built e86ce9bed1cc
Successfully tagged cms.bigot.es:7c4311f
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;dockerfile-onbuild&#34;&gt;Dockerfile.onbuild&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;Dockerfile.onbuild&lt;/code&gt; builds the &lt;code&gt;gcr.io/raelga/wordpress:latest&lt;/code&gt; image with some ONBUILD triggers, to copy the wp-context and download the plugins from the &lt;code&gt;plugins.list&lt;/code&gt; on build when used as &lt;code&gt;FROM&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ cat Dockerfile
FROM gcr.io/raelga/wordpress:latest
$ docker build -t example-wp -f Dockerfile context/
Sending build context to Docker daemon 3.936MB
Step 1/1 : FROM gcr.io/raelga/wordpress:latest
latest: Pulling from raelga/wordpress
27833a3ba0a5: Already exists
2d79f6773a3c: Already exists
f5dd9a448b82: Already exists
95719e57e42b: Already exists
cc75e951030f: Already exists
78873f480bce: Already exists
1b14116a29a2: Already exists
ea69a25cac2e: Already exists
2dbd1202c78e: Already exists
22cefd01eafa: Already exists
21da110f3a63: Already exists
0c1e476df271: Already exists
70a74d14ca92: Already exists
6590e4467d09: Already exists
1b0635fe52ca: Already exists
ccb00f7ad0b4: Already exists
996d17ef73fc: Already exists
2aa80255fade: Already exists
6a6dca4d800a: Already exists
1674e86caa8e: Pull complete
Digest: sha256:e010adc7d5789b75e86e2799bb08e7baec225750d6dce34ef14be2b4ae507d85
Status: Downloaded newer image for gcr.io/raelga/wordpress:latest
# Executing 3 build triggers
---&amp;gt; Running in bdd18a2ac418
######################################################################## 100.0%
Plugin raelga/wp-mailgun:1.7.1 downloaded.
######################################################################## 100.0%
Plugin wpCloud/wp-stateless:2.2.6 downloaded.
######################################################################## 100.0%
Plugin WP2Static/wp2static:6.6.5 downloaded.
Removing intermediate container bdd18a2ac418
---&amp;gt; 3b0c87eb6eb5
Successfully built 3b0c87eb6eb5
Successfully tagged example-wp:latest
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>gcp.rael.io</title><link>https://rael.io/project/gcp.rael.io/</link><pubDate>Sun, 24 Feb 2019 11:23:56 +0200</pubDate><guid>https://rael.io/project/gcp.rael.io/</guid><description>&lt;p&gt;Deployment manager deployment from my Google Cloud projects.&lt;/p&gt;</description></item><item><title>dm-templates</title><link>https://rael.io/project/dm-templates/</link><pubDate>Sat, 23 Feb 2019 11:23:56 +0200</pubDate><guid>https://rael.io/project/dm-templates/</guid><description>
&lt;p&gt;Repo for Deployment Manager templates shared between projects.&lt;/p&gt;
&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;The main purpose of this repo is to have a centralized template repository that
can be added to any GCP Deployment Manager project as a Git submodule.&lt;/p&gt;
&lt;p&gt;That removes the need of copying the templates from one project to another and
the risk of ending with different versions of the templates in each project.&lt;/p&gt;
&lt;h3 id=&#34;templates&#34;&gt;Templates&lt;/h3&gt;
&lt;p&gt;Templates are organized by type of resource:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;compute&lt;/li&gt;
&lt;li&gt;container&lt;/li&gt;
&lt;li&gt;iam&lt;/li&gt;
&lt;li&gt;sql&lt;/li&gt;
&lt;li&gt;storage&lt;/li&gt;
&lt;li&gt;projects&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The type matches the main resources of the template, as in most cases will
deploy more GCP resources required to configure / use the main one.&lt;/p&gt;
&lt;h3 id=&#34;the-makefile&#34;&gt;The Makefile&lt;/h3&gt;
&lt;p&gt;The Makefile is useful for the actual deployments, not for managing the templates.&lt;/p&gt;
&lt;p&gt;It expects the following folder configuration:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;❯ tree -L 2 .
.
├── Makefile
├── deployments
│ ├── bigotes-pro
│ ├── rael-base
│ ├── rshared
│ ├── project-id-3
│ └── project-id-N
└── templates
├── compute
├── container
├── iam
├── project
├── sql
└── storage
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;For each project, you can have the deployment &lt;code&gt;.yaml&lt;/code&gt; manifest in the root folder
or using a similar folder hierarchy with folders per each resource type:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;deployments/rshared
└── compute
├── bigotes-pro-peering.yaml
└── network.yaml
1 directory, 2 files
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;With that setup, the makefile will generate a target to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create the deployment&lt;/li&gt;
&lt;li&gt;Update the deployment&lt;/li&gt;
&lt;li&gt;Preview the deployment&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For example, with the following tree:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;❯ tree deployments
deployments
├── bigotes-pro
│ └── compute
│ └── rshared-peering.yaml
├── rael-base
│ ├── compute
│ │ ├── bigotes-pro-base-peering.yaml
│ │ └── network.yaml
│ └── projects
│ ├── bigotes-pro-project.yaml
│ └── rshared-project.yaml
└── rshared
└── compute
├── bigotes-pro-peering.yaml
└── network.yaml
7 directories, 7 files
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Will generate the following targets:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;gcp.rael.io/dm on  master [!?] took 17s
❯ make
make target
dm-create-bigotes-pro/compute/rshared-peering dm-preview-rael-base/compute/bigotes-pro-base-peering dm-update-rael-base/compute/network
dm-create-rael-base/compute/bigotes-pro-base-peering dm-preview-rael-base/compute/network dm-update-rael-base/projects/bigotes-pro-project
dm-create-rael-base/compute/network dm-preview-rael-base/projects/bigotes-pro-project dm-update-rael-base/projects/rshared-project
dm-create-rael-base/projects/bigotes-pro-project dm-preview-rael-base/projects/rshared-project dm-update-rshared/compute/bigotes-pro-peering
dm-create-rael-base/projects/rshared-project dm-preview-rshared/compute/bigotes-pro-peering dm-update-rshared/compute/network
dm-create-rshared/compute/bigotes-pro-peering dm-preview-rshared/compute/network gcloud-config-rael-base
dm-create-rshared/compute/network dm-update-bigotes-pro/compute/rshared-peering help
dm-preview-bigotes-pro/compute/rshared-peering dm-update-rael-base/compute/bigotes-pro-base-peering
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Examples of this makefile in use:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;github.com/raelga/bigot.es&lt;/li&gt;
&lt;li&gt;github.com/raelga/gcp.rael.io&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;demo&#34;&gt;Demo&lt;/h2&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/raelga/dm-templates/master/tty.gif&#34; alt=&#34;tty&#34; /&gt;&lt;/p&gt;</description></item><item><title>Bigotes</title><link>https://rael.io/project/bigotes/</link><pubDate>Sun, 11 Nov 2018 11:23:56 +0200</pubDate><guid>https://rael.io/project/bigotes/</guid><description>&lt;p&gt;&lt;a href=&#34;https://app.netlify.com/sites/bigotes/deploys&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://api.netlify.com/api/v1/badges/fc20200d-be84-45ae-a4f2-0b16eff715f5/deploy-status&#34; alt=&#34;Netlify Status&#34; /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Docker cats</title><link>https://rael.io/project/docker-cats/</link><pubDate>Sun, 11 Nov 2018 11:23:56 +0200</pubDate><guid>https://rael.io/project/docker-cats/</guid><description>&lt;p&gt;Simple docker images that show an image of a cat, the tag is the cat name:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://cloud.docker.com/u/raelga/repository/docker/raelga/cats&#34; target=&#34;_blank&#34;&gt;https://cloud.docker.com/u/raelga/repository/docker/raelga/cats&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Use them with:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;docker push raelga/cats:cat-name&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Kubernetes for all: AWS, Azure and GCP</title><link>https://rael.io/talk/k8s-clouds/</link><pubDate>Tue, 19 Jun 2018 18:30:00 +0200</pubDate><guid>https://rael.io/talk/k8s-clouds/</guid><description/></item><item><title>Kubernetes Talks</title><link>https://rael.io/project/kubernetes-talks/</link><pubDate>Wed, 28 Mar 2018 11:23:56 +0200</pubDate><guid>https://rael.io/project/kubernetes-talks/</guid><description>
&lt;h1 id=&#34;talks&#34;&gt;Talks&lt;/h1&gt;
&lt;h2 id=&#34;kubernetes-101&#34;&gt;Kubernetes 101&lt;/h2&gt;
&lt;p&gt;The main subject of this talk is to have an overview on the microservices architectures. Then, starts an introduction to the kubernetes architecture, core services and objects: pods, controllers, deployments and sets.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://talks.godoc.org/github.com/raelga/kubernetes-talks/101/kubernetes-101.slide&#34; target=&#34;_blank&#34;&gt;Kubernetes 101 Slides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;101/&#34; target=&#34;_blank&#34;&gt;Kubernetes 101 Slides Source&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;kubernetes-clouds&#34;&gt;Kubernetes Clouds&lt;/h2&gt;
&lt;p&gt;The main subject of this talk is viewing the differences between each managed kubernetes solution offered by AWS, Azure and GCP.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://talks.godoc.org/github.com/raelga/kubernetes-talks/clouds/kubernetes-clouds.slide&#34; target=&#34;_blank&#34;&gt;Kubernetes Clouds Slides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;clouds/&#34; target=&#34;_blank&#34;&gt;Kubernetes Clouds Slides&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the labs, the main object is having several clusters deployed all over the using each managed (or not) solution and deploy the same application using the common interface provided by Kubernetes.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;clouds/labs/aws/#deploy-kubernetes-in-aws&#34; target=&#34;_blank&#34;&gt;Deploy Kubernetes in Amazon Web services&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;clouds/labs/aws/#managed-kubernetes-with-eks&#34; target=&#34;_blank&#34;&gt;AWS managed Kubernetes with EKS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;clouds/labs/aws/#amazon-web-services---eksctl-alpha&#34; target=&#34;_blank&#34;&gt;AWS managed Kubernetes with EKS using eksctl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;clouds/labs/aws/#amazon-web-services---kops&#34; target=&#34;_blank&#34;&gt;AWS non-managed on EC2 with Kops&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;clouds/labs/gcp/#deploy-kubernetes-in-google-cloud-platform&#34; target=&#34;_blank&#34;&gt;Deploy Kubernetes in Google Cloud Platform&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;clouds/labs/gcp/#managed-kubernetes-with-google-kubernetes-engine-gke&#34; target=&#34;_blank&#34;&gt;GCP managed Kubernetes with GKE&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;clouds/labs/azure/#deploy-kubernetes-in-microsoft-azure&#34; target=&#34;_blank&#34;&gt;Deploy Kubernetes in Azure&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;clouds/labs/azure/#managed-kubernetes-with-azure-kubernetes-service-aks&#34; target=&#34;_blank&#34;&gt;Azure managed Kubernetes with AKS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;providers&#34;&gt;Providers&lt;/h2&gt;
&lt;h3 id=&#34;digital-ocean&#34;&gt;Digital Ocean&lt;/h3&gt;
&lt;p&gt;The main subject of this talk is introducing to the Digital Ocean cloud platform and their Managed Kubernetes solution.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://talks.godoc.org/github.com/raelga/kubernetes-talks/providers/do/digital-ocean.slide&#34; target=&#34;_blank&#34;&gt;Digital Ocean Slides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;providers/do/&#34; target=&#34;_blank&#34;&gt;Digital Ocean Slides Source&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;tools&#34;&gt;Tools&lt;/h2&gt;
&lt;h3 id=&#34;traefik&#34;&gt;Traefik&lt;/h3&gt;
&lt;p&gt;The main subject of this talk is introducing to the Traefik awesome Cloud Native Edge Router and the new features comming in Traefik 2.0.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://talks.godoc.org/github.com/raelga/kubernetes-talks/traefik/traefik.slide&#34; target=&#34;_blank&#34;&gt;Traefik Slides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;traefik/&#34; target=&#34;_blank&#34;&gt;Traefik Slides Source&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;study-jams&#34;&gt;Study Jams&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#replicasets&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;ReplicaSets&lt;/code&gt;&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#introduction&#34; target=&#34;_blank&#34;&gt;Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#learn-more&#34; target=&#34;_blank&#34;&gt;Learn more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#some-notes&#34; target=&#34;_blank&#34;&gt;Some notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#1---create-a-replicaset&#34; target=&#34;_blank&#34;&gt;1 - Create a &lt;code&gt;ReplicaSet&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#2---scaling-replicasets&#34; target=&#34;_blank&#34;&gt;2 - Scaling &lt;code&gt;ReplicaSets&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#double-the-numbers-of-replicas-with-kubectl-scale&#34; target=&#34;_blank&#34;&gt;Double the numbers of replicas with &lt;code&gt;kubectl scale&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#scale-back-to-1-replica&#34; target=&#34;_blank&#34;&gt;Scale back to 1 replica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#update-the-replicaset-with-the-yaml-definition&#34; target=&#34;_blank&#34;&gt;Update the &lt;code&gt;ReplicaSet&lt;/code&gt; with the yaml definition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#scale-to-50-replicas&#34; target=&#34;_blank&#34;&gt;Scale to 50 replicas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#scale-down-back-to-5-replicas&#34; target=&#34;_blank&#34;&gt;Scale down back to 5 replicas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#3---selectors-and-pods&#34; target=&#34;_blank&#34;&gt;3 - Selectors and Pods&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#deploy-some-blue-pods&#34; target=&#34;_blank&#34;&gt;Deploy some &lt;strong&gt;blue&lt;/strong&gt; pods&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#deploy-a-blue-replicaset&#34; target=&#34;_blank&#34;&gt;Deploy a &lt;strong&gt;blue&lt;/strong&gt; &lt;code&gt;ReplicaSet&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#run-a-red-pod&#34; target=&#34;_blank&#34;&gt;Run a &lt;em&gt;red&lt;/em&gt; pod&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#replicaset-for-non-colored-pods-only&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;ReplicaSet&lt;/code&gt; for non-colored &lt;code&gt;pods&lt;/code&gt; only&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#lets-acquire-those-fancy-orange-pods&#34; target=&#34;_blank&#34;&gt;Let&amp;rsquo;s acquire those fancy orange &lt;code&gt;pods&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#remove-a-pod-from-the-orange-replicaset&#34; target=&#34;_blank&#34;&gt;Remove a pod from the orange replicaset&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#clean-up&#34; target=&#34;_blank&#34;&gt;Clean up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#4---container-probes&#34; target=&#34;_blank&#34;&gt;4 - Container probes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#readiness-probe&#34; target=&#34;_blank&#34;&gt;Readiness probe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#liveness-probe&#34; target=&#34;_blank&#34;&gt;Liveness probe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#clean-up-1&#34; target=&#34;_blank&#34;&gt;Clean up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#5---manual-rolling-update&#34; target=&#34;_blank&#34;&gt;5 - Manual rolling update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#deploy-the-initial-replicaset&#34; target=&#34;_blank&#34;&gt;Deploy the initial &lt;code&gt;ReplicaSet&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#update-the-replicaset-pod-template&#34; target=&#34;_blank&#34;&gt;Update the &lt;code&gt;ReplicaSet&lt;/code&gt; pod template&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#update-the-replicaset-pod-template-with-the-fixed-readinessprobe&#34; target=&#34;_blank&#34;&gt;Update the &lt;code&gt;ReplicaSet&lt;/code&gt; &lt;code&gt;Pod&lt;/code&gt; template with the fixed &lt;code&gt;ReadinessProbe&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;study-jams/k8s/default/replicasets/#clean-up-the-failing-versions-and-the-old-ones&#34; target=&#34;_blank&#34;&gt;Clean up the failing versions and the old ones&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;notes&#34;&gt;Notes&lt;/h2&gt;
&lt;p&gt;Gopher art from &lt;a href=&#34;https://github.com/ashleymcnamara/gophers&#34; target=&#34;_blank&#34;&gt;ashleymcnamara/gophers&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>