使用 kind 和 Docker 启动本地的 Kubernetes环境_docker

来源:脚本之家  责任编辑:小易  

目前来看,Docker至少有以下应用场景:1)测试:Docker 很适合用于测试发布,将 Docker 封装后可以直接提供给测试人员进行运行,不再需要测试人员与运维、开发进行配合,进行环境搭建与部署。2)测试数据分离:在测试中,经常由于测试场景变换,需要修改依赖的数据库数据或者清空变动 memcache、Redis 中的缓存数据。Docker 相较于传统的虚拟机,更轻量与方便。可以很容易的将这些数据分离到不同的镜像中,根据不同需要随时进行切换。3)开发:开发人员共同使用同一个 Docker 镜像,同时修改的源代码都被挂载到本地磁盘。不再因为环境的不同而造成的不同程序行为而伤透脑筋,同时新人到岗时也能迅速建立开发、编译环境。4)PaaS 云服务:Docker 可以支持命令行封装与编程,通过自动加载与服务自发现,可以很方便的将封装于 Docker 镜像中的服务扩展成云服务。类似像 Doc 转换预览这样的服务封装于镜像中,根据业务请求的情况随时增加和减少容器的运行数量,随需应变。具体到Docker技术在测试领域的应用,可以体现在:1)快速搭建兼容性测试环境从Docker的镜像与容器技术特点可以预见,当被测应用要求在各类Web服务器、中间件、数据库的组合环境中得到充分验证时,可以快速地利用基础Docker镜像创建各类容器,装载相应的技术组件并快速启动运行,测试人员省去了大量花在测试环境搭建上的时间。2)快速搭建复杂分布式测试环境Docker的轻量虚拟化特点决定了它可以在一台机器上(甚至是测试人员的一台笔记本电脑上)轻松搭建出成百上千个分布式节点的容器环境,从而模拟以前需要耗费大量时间和机器资源才能搭建出来的分布式复杂测试环境。3)持续集成Docker可以快速创建和撤销容器,在持续集成的环境中,可以频繁和快速地进行部署和验证工作www.zgxue.com防采集请勿采集本网。

介绍

你曾经花过一整天时间尝试入门Kubernetes吗?多亏最近新出现的一些工具,你可以不用再为此大费周章了。

相比Kubernetes,Docker原生编排工具Swarm在集群搭建和使用上要相对简单一些,学习和部署成本相对低一些。较新版本的Docker已经集成了Swarm。Swarm支持跨多个主机进行编排,管理较小规模的容器集群也绰绰

这篇文章中,我将向你展示使用 kind 在单个 Docker 容器中启动一个集群的步骤。

但是使用 Docker 成功进行了几个项目 例如 Spantree 之后,我改变了我的看法:Docker 帮助我们节省了大量的时间和经历,并且已经成为我们技术团队中不可或缺的工具。GitHub 上面每天都会催生出各式各样的

什么是 kind

基于下面的需求: 1.虽然单个Docker容器能够100%移植到任何平台,但是Docker Machine,Docker Swarm,和Docker Compose.这三个组件分别覆盖分布式应用整个周期的不同阶段。并且是可以串联起来。

因为 kind 是 go 语言实现的,请确保安装了最新版本的 golang。根据开发者文档,推荐使用 go1.11.5 及以上版本。为了安装 kind,请运行这些命令(可能需要运行一段时间)

企业想要拥抱Spark技术,首先需要技术人员改变。是否有给力的Spark人才会是企业能否成功应用Spark最重要的因素。多参与Spark社区的讨 论,参加Spark Meetup,给upstream贡献代码都是很好的切入

kind(Kubernetes IN Docker) 是一个基于 docker 构建 Kubernetes 集群的工具,非常适合用来在本地搭建基于 Kubernetes 的开发/测试环境。

随着Docker项目在人气方面的持续飙升,很快刚刚接触这一新生事物的读者在实践过程中不禁产生了这样的疑问:如果已经决定使用Docker,是否还有必要同时使用OpenStack?在给出自己的观点之前,我打算首先就

go get -u sigs.k8s.io/kind kind create cluster

然后确认 “kind” 集群是可用的。

kind get clusters

设置 kubectl

同样的,使用 Homebrew 或者 Chocolatey 安装最新版本的 kubernetes-cli。最新版本的 Docker 包含了Kubernetes的功能,但使用的是老版本的 kubectl。

运行该命令检查它的版本号。

kubectl version

请确保显示 GitVersion: "v1.14.1" 或更高版本。

如果你发现通过 Docker 运行的 kubectl,试着使用 brew link 或对环境变量重新排序。

一旦 kubectl 和 kind 安装就绪,打开 bash 控制台运行这些命令。

export KUBECONFIG=”$(kind get kubeconfig-path)”kubectl cluster-info

如果 kind 正确的配置了,会显示一些信息出来。现在你就可以继续开始下面的工作了。耶!

部署第一个应用程序

我们需要部署什么到集群上呢?一个很好的选择就是 Wordpress 因为它包括 MySQL 和 PHP 应用程序。

幸运的是,有一个官方的入门介绍并且描述的非常棒。我们可以尝试使用刚才创建的 kind 集群来操作里面的大多数步骤。

https://kubernetes.io/docs/tut ... lume/ 

首先,从这个页面上下载 mysql-deployment.yaml 和 wordpress-deployment.yaml。

运行两个 cat 命令创建 kustomization.yaml。一旦这些 yaml 文件准备好之后,将文件按照下面显示的那样放到相应的目录里面。

k8s-wp/kustomization.yaml mysql-deployment.yaml wordpress-deployment.yaml

然后应用到你的集群当中。

cd k8s-wp kubectl apply -k ./

如果命令成功执行你会看到如下的输出:

secret/mysql-pass-7tt4f27774 created

service/wordpress-mysql created

service/wordpress created

deployment.apps/wordpress-mysql created

deployment.apps/wordpress created

persistentvolumeclaim/mysql-pv-claim created

persistentvolumeclaim/wp-pv-claim created

让我们输入这些命令检查下集群的状态:

kubectl get secretskubectl get pvckubectl get podskubectl get services wordpress

等待所有的 pod 变成 Running 状态。

然后,运行这个命令来获取服务。

kubectl port-forward svc/wordpress 8080:80

然后打开http://localhost:8080/

瞧!如果你想查看数据库,检查你的pod,像这样运行一个命令,然后打开你的客户端应用。

kubectl port-forward wordpress-mysql-bc9864c58-ffh4c 3306:3306

结论

kind 对 minikube 来说是一个好的选择因为它只使用单个 Docker 容器。

通过跟集成到Kubernetes1.14 的 Kustomze 结合使用,在你本地的机器上尝试使用 Kubernetes 会更加简单。

到此这篇关于使用 kind 和 Docker 启动本地的 Kubernetes环境的文章就介绍到这了,更多相关kind 和 Docker 启动本地 Kubernetes内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

What do you need SSH for?Most likely,you want to do backups,check logs,maybe restart the process,tweak the configuration,possibly debug the server with gdb,strace,or similar tools.We will see how to do those things with内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • centos7搭建docker私人仓库的方法(kubernetes)
  • docker实践—centos7上部署kubernetes详解
  • docker kubernetes dashboard安装部署详细介绍
  • docker 容器日志分析
  • 详解如何使用docker部署一个web项目并打包成镜像文件
  • dockerfile基础分享
  • docker部署springboot项目实例解析
  • docker之点到点的容器网络的配置
  • 深入了解docker(docker镜像、容器、仓库的基本概念)
  • 关于docker的基础概念分享
  • 详解docker使用linux iptables 和 interfaces管理容器网络
  • docker镜像的导入导出的实现方法
  • 在ubuntu15.04上安装docker的步骤以及基本用法
  • 容器上使用Docker还是Rocket?为什么不一起用
  • Docker的主要作用是什么?
  • docker 容器怎么分发给不同人使用
  • docker commit和docker file的区别
  • docker和容器的区别?
  • 生产环境,测试环境中,Docker 可以做什么
  • Docker Compose 怎么和Docker Swarm配合使用的
  • 如何使用OpenStack,Docker和Spark打造一个云服务
  • 如何使用OpenStack,Docker和Spark打造一个云服务
  • docker究竟是什么,为什么这么流行,它的优点和缺陷有哪些
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全dockerhyper-vvmwarevirtualboxxenserverkvmqemuopenvzxencloudstackopenstack云计算技术云其它首页服务器云和虚拟化dockercentos7搭建docker私人仓库的方法(kubernetes)docker实践—centos7上部署kubernetes详解docker kubernetes dashboard安装部署详细介绍docker 容器日志分析详解如何使用docker部署一个web项目并打包成镜像文件dockerfile基础分享docker部署springboot项目实例解析docker之点到点的容器网络的配置深入了解docker(docker镜像、容器、仓库的基本概念)关于docker的基础概念分享详解docker使用linux iptables 和 interfaces管理容器网络docker镜像的导入导出的实现方法在ubuntu15.04上安装docker的步骤以及基本用法docker 给运行中的容器设置端口映docker 清理命令集锦docker获取镜像报错docker: erroubuntu14.04+docker的安装及使用docker.service启动失败:unit ndocker容器如何优雅的终止详解浅谈docker-compose网络设置之necentos7 安装docker 解决启动不了详解docker国内镜像拉取和镜像加docker如何固定ip设置的方法docker 搭建 tomcat 运行环境的方法基于docker如何实现mysql主从复制详解docker 数据卷,数据卷容器详细介绍docker nginx 运行后无法访问的问题解决docker初识之五分钟认识docker使用dockerfile构建java web环境在 docker 之间导出导入镜像的方法docker网络双向连接详解关于docker的15个小tip(技巧)ubuntu 16.04中docker的安装和代理配置教
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved