1
00:00:01,010 --> 00:00:03,920
Hello and welcome to this lecture. In this lecture

2
00:00:03,920 --> 00:00:09,710
we will discuss about the various Kubernetes releases and versions.

3
00:00:09,710 --> 00:00:12,740
So what do we know about API versions in Kubernetes

4
00:00:12,770 --> 00:00:19,250
so far? We know that when we install a kubernetes cluster, we install a specific version of kubernetes.

5
00:00:19,250 --> 00:00:23,920
We can see that when we run the kubectl get nodes command.

6
00:00:23,960 --> 00:00:27,330
In this case its v1.11.3.

7
00:00:27,560 --> 00:00:34,730
In this lecture we will see how kubernetes project manages software releases.

8
00:00:34,730 --> 00:00:37,600
Let's take a closer look at that version number.

9
00:00:37,880 --> 00:00:42,200
The kubernetes release versions consists of 3 parts.

10
00:00:42,230 --> 00:00:49,020
The first is the major version, followed by the minor version and then the Patch version.  While minor

11
00:00:49,020 --> 00:00:54,160
versions are released every few months with new features and functionalities,

12
00:00:54,330 --> 00:01:02,140
patches are released more often with critical bug fixes. Just like many other popular applications out

13
00:01:02,140 --> 00:01:02,940
there,

14
00:01:02,950 --> 00:01:09,280
kubernetes follows a standard software release versioning procedure. Every few month

15
00:01:09,400 --> 00:01:15,400
It comes out with new features and functionalities through a minor release.

16
00:01:15,400 --> 00:01:21,000
The first major version 1.0 was released in July of 2015.

17
00:01:21,280 --> 00:01:30,100
As of this recording the latest stable version is 1.13.0. Whatever we have seen here are stable

18
00:01:30,100 --> 00:01:32,630
releases of kubernetes.

19
00:01:32,710 --> 00:01:40,840
Apart from this you will also see alpha and beta releases all the bug fixes and improvements first go

20
00:01:40,840 --> 00:01:44,350
into an alpha release tagged alpha in this release.

21
00:01:44,350 --> 00:01:48,200
The features are disabled by default and maybe buggy.

22
00:01:48,310 --> 00:01:53,530
Then from there they make their way to beta release where the code is well tested.

23
00:01:53,530 --> 00:01:56,010
The new features are enabled by default.

24
00:01:56,410 --> 00:02:01,040
And finally they make their way to the main stable release.

25
00:02:01,100 --> 00:02:06,020
You can find all the releases in the releases page of the Kubernetes Github repository.

26
00:02:06,260 --> 00:02:12,740
Download the kubernetes.tar.gz file and extract it to find executables for all the kubernetes

27
00:02:12,740 --> 00:02:18,780
components. The downloaded package when extracted has all the control plane components in it.

28
00:02:19,100 --> 00:02:21,140
All of them of the same version.

29
00:02:21,140 --> 00:02:26,030
Remember that there are other components within the control plane that do not have the same version

30
00:02:26,030 --> 00:02:26,850
numbers.

31
00:02:27,140 --> 00:02:33,140
The ETCD cluster and CoreDNS servers have their own versions as they are separate projects.

32
00:02:33,140 --> 00:02:38,960
The release notes of each release provides information about the supported versions of  externally

33
00:02:38,960 --> 00:02:42,420
dependent applications like ETCD and CoreDNS etc.

34
00:02:42,740 --> 00:02:45,230
Check out the links for some references.

35
00:02:45,230 --> 00:02:49,140
That was a quick overview of the release versions. In the upcoming lecture

36
00:02:49,190 --> 00:02:52,790
we will discuss how to upgrade from one version to another.
