第7节 k8s在线实验学习平台


❤️💕💕新时代拥抱云原生,云原生具有环境统一、按需付费、即开即用、稳定性强特点。Myblog:http://nsddd.topopen in new window


[TOC]

Play with Kubernetes 介绍

(1)Play with Kubernetes 一个提供了在浏览器中使用免费 CentOS Linux 虚拟机的体验平台,其内部实际上是 Docker-in-DockerDinD)技术模拟了多虚拟机/PC 的效果。 (2)Play with Kubernetes 平台有如下几个特色:

  • 允许我们使用 githubdockerhub 账号登录
  • 在登录后会开始倒计时,让我们有 4 小时的时间去实践
  • K8s 环境使用 kubeadm 来部署(使用用 weave 网络)
  • 平台共提供 5centos7 设备供我们使用(docker 版本为 17.09.0-ce

搭建 Kubernetes 集群

(1)首先访问其网站,并使用 githubdockerhub 账号进行登录。

  • PWK 官网地址:https://labs.play-with-k8s.com/

(2)登录后点击页面上的 Start 按钮,我们便拥有一个自己的实验室环境。

image-20221019215214900

(3)单击左侧的“Add New Instance” 来创建第一个 Kubernetes 集群节点。它会自动将其命名为“node1”,这个将作为我们群集的主节点。

image-20221019215413938

(4)由于刚创建的主节点 IP192.168.0.5,因此我们执行如下命令进行初始化:

kubeadm init --apiserver-advertise-address 192.168.0.5 --pod-network-cidr=10.244.0.0/16

(5)初始化完毕完成之后,界面上会显示 kubeadm join 命令,这个用于后续 node 节点加入集群使用,需要牢记。

image-20221019215641859

(6)接着还需要执行如下命令安装 Pod 网络(这里我们使用 flannel),否则 Pod 之间无法通信。

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

(7)最后我们执行 kubectl get nodes 查看节点状态,可以看到目前只有一个 Master 节点。

kubectl get nodes

image-20221019221408948

(8)我们单击左侧的“Add New Instance”按钮继续创建 4 个节点作为 node 节点

image-20221019221428071

(9)这 4 个节点都执行类似如下的 kubeadm join 命令加入集群(即之前 master 节点初始化完成后红框部分内容)

image-20221019222217349

kubeadm join 192.168.0.18:6443 --token mb680t.mue309o4jo5gjfyb --discovery-token-ca-cert-hash sha256:714f1794efcf23flec7f2dc6eae029466022d7c74c991cf91decf8ff22be61ab

image-20221019222531962

(10)最后我们在主节点执行 kubectl get nodes 查看节点状态,可以看到一个包含有 5 个节点集群已经部署成功了。

image-20221019222932955

Kubernetes 集群的使用

(1)执行如下命令通过 yaml 文件部署运行 nginx 服务(该 yaml 文件中指明了副本数量为 3

kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/nginx-app.yaml

(2)执行如下命令查看副本(pod)情况,可以看到确实有三个副本分别部署在三个 node 节点上。

kubectl get pods -o wide

image-20221020220601596

(3)执行如下命令则可以查看 services 状态。

kubectl get service

image-20221020220633446

(4)当部署完毕后,页面上方会出现一个带有数字的蓝色按钮,按钮数字即为 Services 随机配置的外部 port。点击蓝色按钮,即可看到 Nginx 服务的欢迎页面。(但我测试时一直没有出现,不清楚是什么原因,你如果清楚可以pr

END 链接