第7节 k8s在线实验学习平台
❤️💕💕新时代拥抱云原生,云原生具有环境统一、按需付费、即开即用、稳定性强特点。Myblog:http://nsddd.top
[TOC]
Play with Kubernetes 介绍
(1)Play with Kubernetes
一个提供了在浏览器中使用免费 CentOS Linux 虚拟机的体验平台,其内部实际上是 Docker-in-Docker(DinD)技术模拟了多虚拟机/PC 的效果。 (2)Play with Kubernetes
平台有如下几个特色:
- 允许我们使用 github 或 dockerhub 账号登录
- 在登录后会开始倒计时,让我们有 4 小时的时间去实践
- K8s 环境使用 kubeadm 来部署(使用用 weave 网络)
- 平台共提供 5 台 centos7 设备供我们使用(docker 版本为 17.09.0-ce)
搭建 Kubernetes 集群
(1)首先访问其网站,并使用 github 或 dockerhub 账号进行登录。
- PWK 官网地址:https://labs.play-with-k8s.com/
(2)登录后点击页面上的 Start 按钮,我们便拥有一个自己的实验室环境。
(3)单击左侧的“Add New Instance” 来创建第一个 Kubernetes 集群节点。它会自动将其命名为“node1”,这个将作为我们群集的主节点。
(4)由于刚创建的主节点 IP 是 192.168.0.5
,因此我们执行如下命令进行初始化:
kubeadm init --apiserver-advertise-address 192.168.0.5 --pod-network-cidr=10.244.0.0/16
(5)初始化完毕完成之后,界面上会显示 kubeadm join
命令,这个用于后续 node 节点加入集群使用,需要牢记。
(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
(8)我们单击左侧的“Add New Instance”按钮继续创建 4 个节点作为 node 节点
(9)这 4
个节点都执行类似如下的 kubeadm join
命令加入集群(即之前 master
节点初始化完成后红框部分内容)
kubeadm join 192.168.0.18:6443 --token mb680t.mue309o4jo5gjfyb --discovery-token-ca-cert-hash sha256:714f1794efcf23flec7f2dc6eae029466022d7c74c991cf91decf8ff22be61ab
(10)最后我们在主节点执行 kubectl get nodes
查看节点状态,可以看到一个包含有 5
个节点集群已经部署成功了。
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
(3)执行如下命令则可以查看 services 状态。
kubectl get service
(4)当部署完毕后,页面上方会出现一个带有数字的蓝色按钮,按钮数字即为 Services 随机配置的外部 port。点击蓝色按钮,即可看到 Nginx 服务的欢迎页面。(但我测试时一直没有出现,不清楚是什么原因,你如果清楚可以pr
)
END 链接
✴️版权声明 © :本书所有内容遵循CC-BY-SA 3.0协议(署名-相同方式共享)©