Tag: Kubernetes

使用Google Cloud Build的Vapor 3的简单CD流水线— git push→Docker容器→GKE中可用的服务

我有一个用Swift 4.1编写的Vapor 3项目,我想创建一个简单的CD管道,以便在每次git push送到分支时(或当有新标签时),都将在Google Kubernetes Engine中构建并部署一个容器,其API可从http://[INGRESS_IP]/projectname/获得,GKE中已配置了一个群集,该群集已配置Istio 1.0作为服务网格和定义的路由。 Vapor 3 Web框架 您可以在https://vapor.codes/上查看有关Vapor 3的更多信息,以及在https://docs.vapor.codes/3.0/上提供的文档。 这里特别令人感兴趣的是Swift 4.1与高性能Apple NIO非阻塞框架的结合。 如果要利用并行计算,多核体系结构和事件驱动的设计模式,则可能希望为项目采用非阻塞体系结构。 Vapor 3还带有一个异步库。 您可以使用的越多,并行化就越多。 云构建 Google Cloud Build是启用CD管道的简单工具; 在触发器方面,它支持推送到git分支和标签(与Google自己的代码仓库,GitHub和Bitbucket的Cloud Source Repository集成)。 已经有很多可用的云构建器可以作为单个步骤添加到管道中( 例如 ,docker,mvn,go,kubectl等)。 创建Dockerfile 配置Kubernetes部署和服务 配置Istio网关和虚拟服务 在cloudbuild.yaml配置管道 在Google Cloud Build中定义构建触发器( 例如,推送,标记) 1.创建Dockerfile 我使用了两个阶段的多阶段Dockerfile: 在Swift 4.1容器映像上构建Vapor 3服务 编译后的文件将复制到干净的生产映像中,从而生成一个小容器。 此示例使用ubuntu:16.04但有些人也使用alpine,显然有一些好处。 我没有尝试过alpine版本,如果它对您有用,请分享您的配置文件和/或评论 #Builder图像-构建代码 #================================================== ============== 来自swift:4.1作为构建者 运行apt-get -qq更新&& rm -r / var […]

Swift + Docker + Kubernetes =来自macOS的出色部署

原始链接:阅读原始链接以获得更好的代码语法和格式! Swift + Docker + Kubernetes =来自macOS的出色部署 目前,Kubernetes是DevOps行业中最热门的工具,用于自动化,管理和扩展部署…… shashikantjagtap.net Swift + Docker + Kubernetes =来自macOS的出色部署– XCTEQ 目前,Kubernetes是DevOps行业中最热门的工具,用于自动化,管理和扩展部署…… www.xcteq.co.uk 目前,Kubernetes是DevOps行业中最热门的工具,用于自动化,管理和扩展Web应用程序的部署。 但是,Kubernetes很少能够进入Swift和Apple的世界。 有服务器端Swift框架,例如Vapor,Kitura,Perfect等,它们正在做很棒的工作来在服务器上获得Swift。 为了使成熟的DevOps工具(如Docker或Terraform)能够提供部署,还正在进行着努力,以便公司可以在任何云平台上部署应用程序。 流行的云平台是AWS,Google Cloud,Azure,Heroku等。 在本文中,我们将看到在macOS上的本地Kubernetes集群上创建和部署Swift Web应用程序有多么容易。 要求 安装了Docker桌面应用程序(Edge版本)的macOS Mojave 带有docker-compose.yml的Dockerized服务器端Swift应用 Docker和Kubernetes部署的基础知识 在macOS上获取Docker + Kubernetes 随着Docker-Desktop的发布,在macOS上获取Docker和Kubernetes的过程变得如此轻松。 您只需要获取Docker-Desktop应用并在其上启用Kubernetes。 而已! 如果您熟悉命令行,但是还有其他解决方案可以在macOS(如Minikube)上本地部署Kubernetes,但是Docker-Desktop可以很好地工作并且可以通过UI轻松配置。 您需要获取嵌入了Kubernetes的最新Docker-Desktop应用程序。 此刻,我获得了包含所有服务的此版本 从Docker-Desktop启用Kubernetes服务非常容易。 只需转到首选项->选择Kubernetes选项卡,然后为本地部署启用以下功能。 几分钟后,您将看到Docker和Kubernetes服务正在运行。 在后台,Docker-Desktop已安装了Kubernetes的所有组件和CLI工具(如kubectl等)。 我们可以通过运行以下命令来检查Kubernetes集群信息,节点和上下文 $ kubectl版本 $ kubectl cluster-info $ kubectl获取节点 $ kubectl config当前上下文 […]