你会不会对“云原生”很有兴趣,却不知道从何入手?

本文会在window环境下,构建一套基于k8s的istio环境,并且通过skaffold完成镜像的构建和项目部署到集群环境。其实对于实验环境有限的朋友们,完全可以在某里云上,按量付费搞3台”突发性能实例“,玩一晚,也就是杯咖啡钱。

好吧,让我开始吧!

执行流程

整体流程的话,如下图所示,通过 Skaffold+jib 将开发的应用打包成镜像,提交到本地仓库,并且将应用部署到集群中。k8s中部署2个pod,模拟应用不同的版本,并且配置访问权重20%:80%。

环境选择

我之前有文章详细介绍过minikube。本次实验,开始的时候,我就一直沉溺在使用kind的便捷上,而且直接可以在docker上部署集群,可以说非常方便。但是由于我对K8S的理解并不足够,导致后面遇到了很多问题,所以,在这里建议新上手的小伙伴,还是使用minikube吧。k3s和RKE都需要多台虚拟机,碍于机器性能,这种方案暂时不考虑了。

下面表格,对比了minikube、kind、k3s 部署环境,以及支持情况,方便大家选择。

minikube kind k3s
runtime VM container native
supported architectures AMD64 AMD64 AMD64, ARMv7, ARM64
supported container runtimes Docker,CRI-O,containerd,gvisor Docker Docker, containerd
startup time initial/following 5:19 / 3:15 2:48 / 1:06 0:15 / 0:15
memory requirements 2GB 8GB (Windows, MacOS) 512 MB
requires root? no no yes (rootless is experimental)
multi-cluster support yes yes no (can be achieved using containers)
multi-node support no yes yes
project page https://minikube.sigs.k8s.io/ https://kind.sigs.k8s.io/ https://k3s.io/

[1]    表格引用自:http://jiagoushi.pro/minikube-vs-kind-vs-k3s-what-should-i-use

docker desktop 没有特殊要求。其他的自己用的顺手就好,还是需要特别说一下minikube,别用最新的coredns一直都拉不下来,除非你的魔法,可以完全搞定,否则,还是用阿里编译的minikube版本吧,别跟自己较劲,别问我为什么...

我用的版本罗列在下面了:

➜ ~ istioctl version
client version: 1.10.2
control plane version: 1.10.2
data plane version: 1.10.2 (10 proxies)➜ ~ minikube version
minikube version: v1.18.1
commit: 511aca80987826051cf1c6527c3da706925f7909➜ ~ skaffold version
v1.29.0

环境搭建

使用minikube创建集群

使用 hyperv 作为引擎 , 内存 8192M cup 4核,不能再少了,否则拉不起来 istio

➜ ~ minikube start  --image-mirror-country='cn' --registry-mirror=https://hq0igpc0.mirror.aliyuncs.com --vm-driver="hyperv" --memory=8192 --cpus=4 --hyperv-virtual-switch="minikubeSwitch" --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers

还要在 hyperv里创建一个虚拟路由,这里我构建了一个内部网络,这样可以通过设置网卡的ip,将内部网络的网段固定下来,否则,每次重启都会变化ip

配置让内部网络,共享访问互联网

启动成功

➜ istio-1.10.2 minikube start
												

半小时体验云原生:手把手教你在k8s上部署springboot应用——干货分享,建议收藏相关推荐

  1. 【云原生】Hadoop HA on k8s 环境部署

    文章目录 一.概述 二.开始部署 1)添加 journalNode 编排 1.控制器Statefulset 2.service 2)修改配置 1.修改values.yaml 2.修改hadoop/te ...

  2. 【云原生】Prometheus+Grafana on K8s 环境部署

    文章目录 一.概述 二.使用 Helm 安装 Prometheus 1)配置源 2)下载 prometheus 包 3)修改镜像 4)安装 prometheus 5)访问web 6)配置https并更 ...

  3. 手把手教你用 Jenkins 自动部署 SpringBoot

    文章目录 1. 什么是 CI/CD 1.1 CI(Continuous Integration) 1.2 CD(Continuous Delivery/Continuous Deployment) 2 ...

  4. 大佬带你看源码!手把手教你5G时代Webview的正确使用姿势,建议收藏

    背景 惯例,先简单陈述一下自己的,91年生人,164年三本毕业后在深圳工作,末流小公司,工资13k,无房,无车,无户口. 那时候感觉生活也还行,父母有退休金,我基本上不用太操心,女朋友在一起很久了,很 ...

  5. 【云原生之Docker实战】使用Docker部署ShowDoc文档工具

    [云原生之Docker实战]使用Docker部署ShowDoc文档工具 一.ShowDoc介绍 1.ShowDoc简介 2.ShowDoc功能 二.检查docker版本 三.检查docker状态 四. ...

  6. 打造云原生大型分布式监控系统(三): Thanos 部署与实践

    视频 附上本系列完整视频 打造云原生大型分布式监控系统(一): 大规模场景下 Prometheus 的优化手段 打造云原生大型分布式监控系统(一): 大规模场景下 Prometheus 的优化手段_哔 ...

  7. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置

    前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...

  8. 【云原生之Docker实战】使用Docker部署Lsky Pro个人图床平台

    [云原生之Docker实战]使用Docker部署Lsky Pro个人图床平台 一.Lsky Pro介绍 1.Lsky Pro简介 2.Lsky Pro特点 二.检查宿主机系统版本 三.检查本地dock ...

  9. 【云原生之Docker实战】使用Docker部署家庭个人在线音乐平台

    [云原生之Docker实战]使用Docker部署家庭个人在线音乐平台 一.music-player介绍 1.music-player简介 2.music-player特点 二.检查dokcer状态 1 ...

  10. 【云原生之Docker实战】使用docker部署DokuWiki知识库系统

    [云原生之Docker实战]使用docker部署DokuWiki知识库系统 一.DokuWiki介绍 二.检查本地Docker环境 1.检查系统版本 2.检查docker版本 3.检查docker状态 ...

最新文章

  1. seq2seq与Attention机制
  2. SQL Server 2005 Compact Edition 程序设计与性能优化
  3. ASP.NET MVC 1.0 + spring.net 1.2.0.20288 + NHibernate 2.0.1.4000整合笔记(三)——NHibernate配置...
  4. 前端新手程序员不知道的 20个小技巧
  5. 机加工程序工时程序_团宠来袭 | 针对多品种小批量的机加工柔性生产解决方案...
  6. Elasticsearch 内置分析器Analyzer
  7. 自适应网页设计/响应式Web设计 (Responsive Web Design)
  8. Android实践--监測网络状态
  9. 《数字图像处理》——高频强调滤波
  10. HEX文件解析C语言源代码
  11. matlab得到小波参数,matlab小波分析去噪详解
  12. Android9一键安全手机
  13. adb shell dunpsys SurfaceFlinger
  14. MoneyToUppercase 汉语中数字大写
  15. Java集合概览、实现细节、数据结构
  16. java计算机毕业设计基于安卓Android的禁毒宣传APP
  17. Vue项目使用富文本之tinymce-vue
  18. 网络流的各种加边优化
  19. Logic Pro 使用教程之实时循环乐段(非常详细)
  20. 医学类科普类书籍推荐

热门文章

  1. 求三个字符串的最长公共子序列LCS(A,B,C)
  2. 摆脱“咖喱味”,让Win11的右键菜单回归经典
  3. Pro 了,更强了 — 米家台灯 Pro 评测
  4. 第2章 构建自定义语料库
  5. 使用CM快速搭建CDH集群
  6. At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger fo
  7. asin、acos、atan 和 atan2 函数用法简介
  8. Scala隐式转换的问题分析--String隐式转换为Int
  9. 云南开放大学《机械制造基础-形考作业1-6(主观题)》
  10. 注释全 新手可懂 可复用式复数计算器C++实现