►
From YouTube: GitOps Series - The Infrastructure
Description
GitOps is the use of a git repository as a single source of truth for all infrastructure and application deployment code. In this video we will walk through the process of creating application infrastructure using Terraform and Terraform Cloud. We will build a kubernetes cluster, add a service account, and register the cluster with GitLab for future application deployments.
See the code at: https://gitlab.com/gitops-demo
Learn more about GitOps: https://about.gitlab.com/topics/gitops/
A
Hello
today
we're
going
to
talk
about
get
ops
specifically
how
gitlab
enables
get-ups
and
how
you
can
use
get
ops
to
deploy
infrastructure
as
code.
So
what
is
get
ups
get
ups
is
the
use
of
a
git
repository,
it's
the
single
source
of
truth
for
all
infrastructure
and
application
deployment
code.
As
you
can
see
from
my
example
here,
we've
got
various
different
teams
that
contribute
to
code
that
will
live
in
a
git
repository
and
then
be
through
through
automation,
using
terraform
to
deploy
out
to
different
public
cloud
services.
A
In
this
example,
I'm
gonna
walk
you
through
how
we
create
three
different
kubernetes
clusters
in
three
different
public
clouds.
All
using
a
common
process
collaborating
with
my
team,
all
within
get
lab,
so
first
thing
I'm
going
to
do
is
go
to
get
lab
and
log
into
my
group
called
get
ops
demo,
looking
at
the
readme
section
here
and
I
just
want
to
show
off
kind
of
the
structure
of
the
group.
So
at
the
top
we
have
a
top-level
group
called
get-ups
demo.
A
A
I'm
now
in
my
infrastructure
group,
I've
got
a
repository
for
each
cloud
that
I'd
like
to
work
on
and
one
for
templates.
If
I
click
on
my
AWS
repository
as
an
example,
I
can
see
all
the
files
associated
here.
These
are
all
written
in
terraform
and
I've
got
a
git
lab
CI
mo
file.
This
provides
the
instructions
for
the
automation.
A
A
A
A
A
A
A
A
Validate
plan
apply
and
destroy
it's
going
to
use
hashey
corpse,
terraform
base
image
container
and
we're
going
to
run
a
few
different
tasks.
We're
gonna,
initialize
terraform,
we're
gonna,
validate
that
everything's
correct
we're
gonna,
follow
good
practices,
get
ops
practices
by
creating
a
merge
request
that
merge
request
will
define
what's
going
to
happen.
The
plan
file
will
then
be
uploaded
to
the
merge
request.