介绍一个在线K8S练习平台

是不是有很多小伙伴想学习k8s,但是又没有机器去练习。使用自己的笔记本电脑或者主机只能搭建单机版本的k8s来练习。

现在福利来了,给大家介绍一个在线多节点k8s练习平台:Play with Kubernetes。

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 版本为 24.0.2)

搭建 Kubernetes 集群

  1. 首先访问网站:https://labs.play-with-k8s.com/,并使用github 或 dockerhub 账号进行登录。
  2. 登录后点击页面上的 Start 按钮,我们便拥有一个自己的实验室环境。


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


可以看到有三条命令,分别是:初始化master节点、初始化网络、部署nginx pod。
4. node1 执行第一条命令

kubeadm init --apiserver-advertise-address $(hostname -i) --pod-network-cidr 10.5.0.0/16

执行完毕后,可以看到输出中存在这么一条命令:


这条命令用于后续添加node节点,在node节点中执行。先复制出来,后续使用
5. node1 执行第二条命令
此命令是安装 Pod 网络(这里我们使用 flannel),否则 Pod 之间无法通信。

kubectl apply -f https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/kubeadm-kuberouter.yaml
  1. 点击“Add New Instance” 创建node2,并执行第四步复制出来,执行添加节点的的命令
kubeadm join 192.168.0.13:6443 --token ezgizu.pi14arjxq8pyzstm \
        --discovery-token-ca-cert-hash sha256:83feca790dfbd89d515f28deb4fce1401078cccc95981fdd63895c340697d90e

执行完毕后,切换到node1,执行kubectl get nodes查看已经部署好的节点:

[node1 ~]$ kubectl get nodes
NAME    STATUS   ROLES           AGE     VERSION
node1   Ready    control-plane   4m19s   v1.27.2
node2   Ready    <none>          23s     v1.27.2
  1. 部署nginx,node1执行第三条命令。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/nginx-app.yaml

检查pod 是否运行,执行kubectl get pods -o wide

[node1 ~]$ kubectl get pods -o wide
NAME                       READY   STATUS    RESTARTS   AGE   IP         NODE    NOMINATED NODE   READINESS GATES
my-nginx-cbdccf466-c2744   1/1     Running   0          30s   10.5.1.2   node2   <none>           <none>
my-nginx-cbdccf466-sqc2z   1/1     Running   0          30s   10.5.1.3   node2   <none>           <none>
my-nginx-cbdccf466-wl8kq   1/1     Running   0          30s   10.5.1.4   node2   <none>           <none>

检查service,执行kubectl get service:

[node1 ~]$ kubectl get service
NAME           TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
kubernetes     ClusterIP      10.96.0.1      <none>        443/TCP        7m3s
my-nginx-svc   LoadBalancer   10.97.165.15   <pending>     80:31661/TCP   78s

此时,可以看到集群内部ip为10.97.165.15,在任意节点中执行 curl 10.97.165.15

可看到有以下输出:

[node2 ~]$ curl 10.97.165.15
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

至此,一个master,一个node节点的k8s就已经搭建好了,并且部署了一个nginx deployment。

后续想要自己部署其他服务,也可以在这上面进行练习。每次都会有四个小时的连接时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/270115.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

南邮最优化期末复习

黄金分割法 单纯形法&#xff08;大M法&#xff09; 求min, σ找最小&#xff0c;终止条件全部大于0 θ找最小&#xff0c;且不能为负数求max, σ找最大&#xff0c;终止条件全部小于0 θ找最小&#xff0c;且不能为负数 例题 二阶段单纯形法想 分支定界法&#xff08;第二章&…

等级保护的物理安全技术措施

目录 信息安全等级保护物理安全技术的控制点 物理位置的选择 物理访问控制 防盗窃和防破坏 防雷击 防火 防火和防潮 防静电 温湿度控制 电力供应 电磁防护 信息安全等级保护物理安全技术的控制点 物理位置的选择 物理访问控制 防盗窃和防破坏 防雷击 防火 防火和防…

【Materials Studio】 Materials Studio 2019 安装教程

【Materials Studio】 Materials Studio 2019 安装教程 软件介绍软件安装安装体验软件获取 软件介绍 Materials studio是一个完整的建模和仿真环境&#xff0c;旨在让材料科学和化学领域的研究人员能够预测和理解材料的原子和分子结构与其特性和行为之间的关系。使用Materials…

Redis数据结构(常用5+4种特殊数据类型)

1、Redis 数据类型以及使用场景分别是什么&#xff1f; Redis 提供了丰富的数据类型&#xff0c;常见的有五种数据类型&#xff1a;String&#xff08;字符串&#xff09;&#xff0c;Hash&#xff08;哈希&#xff09;&#xff0c;List&#xff08;列表&#xff09;&#xff…

【Vue3+TypeScript】快速上手_笔记

前言 1. Vue3简介 2020年9月18日&#xff0c;Vue.js发布版3.0版本&#xff0c;代号&#xff1a;One Piece&#xff08;n 经历了&#xff1a;4800次提交、40个RFC、600次PR、300贡献者 官方发版地址&#xff1a;Release v3.0.0 One Piece vuejs/core 截止2023年10月&#xf…

智能优化算法应用:基于孔雀算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于孔雀算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于孔雀算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.孔雀算法4.实验参数设定5.算法结果6.参考文献7.MA…

Spring系列学习二、Spring框架的环境配置

Spring框架的环境配置 一、Java环境配置二、 Spring框架的安装与配置三、Maven与Gradle环境的配置四、IDE环境配置&#xff08;Eclipse与IntelliJ IDEA&#xff09;五、结语 一、Java环境配置 所有编程旅程总是得从基础开始&#xff0c;如同乐高积木大作的基座&#xff0c;首先…

内存之-LeakCanary

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、使用四、原理分析4.1 自动初始化4.1.1 初始化…

FPGA分频电路设计(2)

实验要求&#xff1a; 采用 4 个开关以二进制形式设定分频系数&#xff08;0-10&#xff09;&#xff0c;实现对已知信号的分频。 类似实验我之前做过一次&#xff0c;但那次的方法实在是太笨了&#xff1a; 利用VHDL实现一定系数范围内的信号分频电路 需要重做以便将来应对更…

redis—String字符串

目录 前言 1.字符串数据类型 2.常见命令 3.典型应用场景 前言 字符串类型是Redis最基础的数据类型&#xff0c;关于字符串需要特别注意: 1)首先Redis中所有的键的类型都是字符串类型&#xff0c;而且其他几种数据结构也都是在字符串类似基础.上构建的&#xff0c;例如列表…

vue3使用mixins

<template><div>{{ num }}___{{ fav }}</div><button click"favBtn">改变值</button> </template><script setup lang"ts"> import mixin from "../mixins/mixin"; let { num, fav, favBtn } mixin(…

椭球面系列---射线与椭球面的交点

射线与椭球体的交点问题的求解是一个非常常见和经典的问题&#xff0c;本文给出具体的计算原理和矩阵表达的过程&#xff0c;便于编程计算。 见下图&#xff0c;已知射线(点为 p 0 \textbf{p}_0 p0​&#xff0c;单位方向为 d \textbf{d} d)&#xff0c;那么与椭球面的交点 p …

2023-12-22 回溯算法

回溯思想 回溯模版三部曲&#xff1a; ① 回溯函数模版返回值以及参数 ② 回溯终止条件 ③ 回溯搜索的遍历过程 分析完过程&#xff0c;回溯算法模板框架如下&#xff1a; void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择&#xff1a;本层集合中元素&…

Autosar CAN开发02(入门Autosar)

Autosar架构 想起当时刚毕业进入公司之后&#xff0c;我的岗位是Autosar Bsw软件工程师。 看着这个什么“Autosar”&#xff0c;真的是一脸懵。 后来才知道&#xff0c;按照我的理解&#xff1a;Autosar就是一个软件架构。它分为ASW和BSW。ASW负责实现应用层功能&#xff08…

说个真事,裁员真的会降本增笑

最近互联网公司放烟花的次数有些高&#xff0c;基本都扎堆 Q3~Q4 出现各类事件/事故。吃瓜都快跟不上了。 作为互联网民工&#xff0c;为什么裁员后会导致降本增笑呢&#xff1f;今天我们一起来聊聊。 各种事故烟花 现阶段各大厂都领上号了&#xff0c;阿里先崩&#xff0c;…

CEC2013(python):六种算法(RFO、PSO、CSO、WOA、DBO、ABC)求解CEC2013

一、六种算法简介 1、红狐优化算法RFO 2、粒子群优化算法PSO 3、鸡群优化算法CSO 4、鲸鱼优化算法WOA 5、蜣螂优化算法DBO 6、人工蜂群算法 &#xff08;Artificial Bee Colony Algorithm, ABC&#xff09; 二、6种算法求解CEC2013 &#xff08;1&#xff09;CEC2013简…

Java中的内部类、枚举

内部类、枚举 内部类成员内部类静态内部类局部内部类&#xff08;不重要&#xff09;匿名内部类&#xff08;重要&#xff09;什么是匿名内部类使用场景 枚举类什么是枚举类枚举类的特点枚举类提供的一些额外API拓展&#xff1a;抽象枚举使用枚举类实现单例设计模式 常见应用场…

部署谷歌的Gemini大模型

前言 本文将介绍如何使用Docker、Docker-Compose私有化部署谷歌的Gemini大模型&#xff0c;以及没有服务器的情况下如何使用Vercel来部署。 Demo: 使用新加坡云服务器部署&#xff1a;Gemini Pro Chat (snowice.eu.org) 使用Vercel部署&#xff1a;Gemini Pro Chat (snowice.eu…

【美团大数据面试】Java面试题附答案

目录 1.多线程代码示例 2.单例代码示例 3.LinkedBlockingQueue原理解析 4.模板设计模式讲解 5.生产者-消费者队列设计方法 6.堆内存和栈内存的区别 7.ThreadLocal底层机制 8.synchronized原理&#xff0c;存在的问题&#xff0c;解决方案 9.volatile使用场景和原理&am…

一篇讲透:箭头函数、普通函数有什么区别

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热衷分享有趣实用的文章&#xff0c;希望大家多多支持&#xff0c;一起进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 什么是箭头函数 箭头函数和普通函数的区别 更简洁的语法 箭头函数…
最新文章