K8s - 免费的Kubernetes在线实验平台介绍

kubernetes(简称 K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用。 在之前的文章中,我介绍如何通过 Docker 为我们提供的实验网站 Play with Kubernetes(PWK)来搭建 Kubernetes 集群(点击查看)。

    但如果每次学习时都需要重新搭建一个 K8s 集群还是很麻烦。好在 Kubernetes 官网已经为我们准备好了现成的最小可用系统。我们通过 Web 浏览器就可以直接使用一个预先部署好的 Kubernetes 集群,快速体验 Kubernetes 的功能和应用场景。

 

1,创建 Kubernetes 集群
(1)首先访问官网的在线教程:

在线教程地址:https://kubernetes.io/docs/tutorials/
 

(2)点击左侧菜单的“Learn Kubernetes Basics” -> “Create a Cluster” -> “Interactive Tutorial - Creating a Cluster”

 

(3)点击打开页面中的“START SCENARIO”按钮即可打开 Terminal(命令终端窗口)

 

(4)在终端中执行如下命令即可开始初始化集群:

1

minikube start


(5)可以看到这样就创建好了一个单节点的 kubernetes 集群。

 

2,部署应用
(1)我们执行如下命令部署一个名为 kubernetes-bootcamp 的容器:

1

kubectl run kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 --port=8080


(2)然后执行如下命令可以查看当前的 Pod:

Pod 概念介绍:

Pod 是容器的集合,它是 Kubernetes 调度的最小单位,同一个 Pod 中的容器始终被一起调度。
通常我们会将紧密相关的容器放到同一个 Pod 中,同一个 Pod 中的所有容器共享 IP 地址和 Port 空间,也就是说它们在一个 network namespace 中。
1

kubectl get pods

 

3,访问应用
(1)默认情况下,所有 Pod 只能在集群内部访问。为了能够从外部访问应用,我们执行如下代码将容器的 8080 端口映射到节点的端口。

1

kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080


(2)执行 kubectl get services 命令可以看到 8080 端口已经映射到 host01 的 31490 端口(端口号是随机分配的)

 

(3)我们可以执行如下命令访问应用:

1

curl host01:31490


(4)当然也可以通过浏览器访问,点击终端上方的加号,在弹出菜单中选择“View HTTP port 30000 on Host 1”

 

(5)将弹出页的 url 中端口部分改成 31490 回车,即可看到结果。

4,Scale 应用
(1)默认情况下应用只会运行一个副本,我们可以执行如下命令查看副本数。

1

kubectl get deployments


(2)执行如下命令将副本数增加到 3 个:

1

kubectl scale deployments/kubernetes-bootcamp --replicas=3


(3)通过 kubectl get pods 可以看到当前的 Pod 也增加到了 3 个:

 

(4)通过 curl 访问应用,可以看到每次请求发送到不同的 Pod,3 个副本轮训处理,这样就实现了负载均衡。

 

(5)要 scale down 也很方便,下面将删除一个副本(副本数变为 2)

1

kubectl scale deployments/kubernetes-bootcamp --replicas=2

 

5,滚动更新
(1)当前使用的 image 版本是 v1,执行如下命令将其升级到 v2。

1

kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2


(2)通过 kubectl get pods 可以观察滚动更新的过程,可以看到 v1 的 Pod 被逐个删除,同时启动了新的 v2 版本的 Pod。 

 

(3)测试下现在确实变成了 v2 版了。


(4)如果想要回退到 v1 版本,执行下面命令进行回滚即可。

1

kubectl rollout undo deployments/kubernetes-bootcamp


原文出自:www.hangge.com  转载请保留原文链接:https://www.hangge.com/blog/cache/detail_2426.html
————————————————
版权声明:本文为CSDN博主「zb313982521」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zb313982521/article/details/103672687

你可能感兴趣的:(kubernetes)