Kubernetes应用迁移问题定位】的更多相关文章

这个帖子记录所有的应用迁移中遇到的问题. 关于镜像无法启动后无法定位问题 在原有的Dockerfile中修改,加入 RUN echo "aaa" > /etc/a.log CMD ["tail",“-f","/etc/a.log"] 然后通过kubectl exec -it ... bash进去手工运行进行定位 Zookeeper基本操作命令 查找生产者消费者信息 ./zkCli.sh -server ls / ls /dubbo…
作者 | 伍冲斌  VPGAME 运维开发工程师 导读:VPGAME 是集赛事运营.媒体资讯.大数据分析.玩家社群.游戏周边等为一体的综合电竞服务平台.总部位于中国杭州,在上海和美国西雅图分别设立了电竞大数据研发中心和 AI 研发中心.本文将讲述 VPGAME 将服务器迁移至 Kubernetes 的过程. 背景 随着容器技术的日趋成熟,公司近期计划将服务迁移至容器环境,通过 Kubernetes 对容器进行调度.编排和管理.并借此机会,对服务进行标准化,优化整个 CI/CD 的流程,提高服务部…
VPGAME 是集赛事运营.媒体资讯.大数据分析.玩家社群.游戏周边等为一体的综合电竞服务平台.总部位于中国杭州,在上海和美国西雅图分别设立了电竞大数据研发中心和 AI 研发中心.本文将讲述 VPGAME 将服务器迁移至 Kubernetes 的过程. 背景 随着容器技术的日趋成熟,公司近期计划将服务迁移至容器环境,通过 Kubernetes 对容器进行调度.编排和管理.并借此机会,对服务进行标准化,优化整个 CI/CD 的流程,提高服务部署的效率. CI/CD 工具的选择 CI/CD 工具上,…
为什么要做这个工具? 由于阿里云上的容器服务 ACK 在使用成本.运维成本.方便性.长期稳定性上大大超过公司自建自维护 Kubernets 集群,有不少公司纷纷想把之前自己维护 Kubernetes 负载迁移到阿里云 ACK 服务上.在迁移过程中,往往会碰到一个不大不小的坑:那就是怎么把已有的容器镜像平滑的迁移到阿里云镜像服务 ACR 上.这个问题看起来非常简单,如果只有三五个镜像,只要做一次 docker pull/docker push 就能完成,但实际生产中涉及到成千上百个镜像,几 T 的…
主要涉及到以下关键字: K8S.Docker.微服务.安装.教程.网络.日志.存储.安全.工具.CI/CD.分布式.实践.架构等: 以下盘点2018年一些精选优质文章! 漫画形式: 漫画:小黄人学 Service Mesh 之 Istio漫画:Kubernetes中的ConfigMap和Secret漫画:小黄人学 Kubernetes 对象漫画:小黄人学 Kubernetes Service 回顾Docker+k8s: 容器.容器云与Kubernetes技术漫谈Docker 诞生至2018,里程…
课程安排: 基于Kubernetes 的Cloud Native 实战 课程介绍: 云计算.虚拟化.容器微服务PaaS 技术已经广泛应用于新兴互联网企业(如电商平台.搜索引擎.社交平台网站.位置服务平台.广告服务商等).通信运营服务商.金融云服务等行业,给现有的IT 基础设施建设等带来了巨大的商业机遇,云计算平台的高效运营在企业信息化建设中发挥着至关重要的作用. 云计算的发展也经历了一系列的架构演化,从以虚拟机为主体的“重量级”云管理平台到以容器为主体的“轻量级”微服务云管理平台. “轻量级”微…
Velero备份.恢复.迁移Kubernetes集群 Velero简介 Velero 地址:https://github.com/vmware-tanzu/velero Velero属于VMWare开源的Kubernetes集群备份.恢复.迁移工具. 可以提供Kubernetes 备份功能更,在Kubernetes集群出现问题之后,能够快速的恢复. 并且也提供了集群迁移功能,可以将Kubernetes资源迁移到其他集群. Velero 将备份的信息在对象存储中,默认情况下可以使用 AWS.Azu…
一.简介 RKE:Rancher Kubernetes Engine 一个极其简单,闪电般快速的Kubernetes安装程序,可在任何地方使用. 二.准备工作 I.配置系统 系统:CentOS 7 / Ubuntu 配置完系统后安装必要的软件: yum install lvm2 parted lrzsz -y # 查看需要配置的磁盘 fdisk -l # 如:/dev/sda fdisk /dev/sda # 根据提示进行分区 # 配置lvm卷 pvcreate /dev/sda1 vgcrea…
定时任务迁移kubernetes 服务迁移步骤 1.安装好java 2.安装好maven 项目打包 mvn package 测试传参运行 java -cp cronjob-demo-1.0-SNAPSHOT.jar com.mooc.demo.cronjob.Main 编辑Dockfile FROM 172.17.166.172/kubenetes/openjdk:8-jre-alpine COPY target/cronjob-demo-1.0-SNAPSHOT.jar /cronjob-de…
Shriram与来自Google.Lyft.IBM和其他公司的社区贡献者们一起并肩作战,积极地向Istio和Envoy项目作贡献.同时,Shriram是IBM的Amalgam8项目的创始成员之一.目前,Shriram是VMware的一名工程师,与VMware的企业客户密切合作,致力于开发服务网格解决方案.一个有趣的事实:Shriram编写了Istio Bookinfo示例应用程序的初始版本.你可以在Twitter上关注Shriram—@rshriram. 在这次访谈中,Shriram分享了许多自…
Red Hat K8s 关键人物 Grant Shipley 跳槽到 VMware   https://news.cnblogs.com/n/641944/ 这四小时的工作效率 太无敌了.. 投递人 itwriter 发布于 2019-10-10 07:24 评论(0) 有217人阅读 原文链接 [收藏] « » 与 VMware 和 Red Hat 合作的一家解决方案提供商的首席执行官说:“如果你看到像[Shipley]这样的人物离开 Red Hat 及其新东家 IBM,投奔 VMware 掌…
缩小Go二进制文件大小 环境 youmen@youmendeMacBook-Pro % gcc -dumpversion 12.0.5 youmen@youmendeMacBook-Pro % go version go version go1.16.5 darwin/amd64 go build使用的是静态编译,会将程序的依赖一起打包,这样一来编译得到的可执行文件可以直接在目标平台运行,无需运行环境(例如 JRE)或动态链接库(例如 DLL)的支持. 虽然 Go 的静态编译很方便,但也存在一个…
转载自:https://www.qikqiak.com/post/elastic-cloud-on-k8s/ 随着 kubernetes 的快速发展,很多应用都在往 kubernetes 上面迁移,现阶段对于无状态应用的迁移是非常容易做到的,但是对于有状态应用的迁移还是有一定门槛的,主要是有状态应用的运行方式各有不同,比如 MySQL.MongoDB.Redis 这些应用运行的方式方法都不太相同,特别是对于线上环境需要高可用的集群模式的时候,则差别就更大了,这就导致了有状态应用向 Kuberne…
我们将在本文中提供5个诀窍帮你将项目迁移到Kubernetes上,这些诀窍来源于过去12个月中OpenFaas社区的经验.下文的内容与Kubernetes 1.8兼容,并且已经应用于OpenFaaS - Serverless Functions Made Simple的实践中. 免责声明 因为Kubernetes 的API更新的特别频繁,请参考官方文档获得最新信息. 1. 将所有的内容都放进Docker 第一步操作是给以独立进程方式运行的每个组件创建一个Dockerfile,这看起来是显而易见的…
spark-on-yarn-with-kubernetes 该例子仅用来说明具体的步骤划分和复杂性,在生产环境应用还有待验证,请谨慎使用. 过程中可能用到的概念和术语初步整理如下: 整个迁移过程分为如下几个步骤: 1. 将原有应用拆解为服务 我们不是一上来就开始做镜像,写配置,而是应该先梳理下要迁移的应用中有哪些可以作为服务运行,哪些是变的,哪些是不变的部分. 服务划分的原则是最小可变原则,这个同样适用于镜像制作,将服务中不变的部分编译到同一个镜像中. 对于像 Spark on YARN 这样复…
Kubernetes 是来自 Google 云平台的开源容器集群管理系统.基于 Docker 构建一个容器的调度服务.该系统可以自动在一个容器集群中选择一个工作容器供使用.其核心概念是 Container Pod. 首先,为什么要用Kubernetes? 使用一个工具先要梳理下使用这个工具的目标,我们不是为了工具而用工具.   Kubernetes的目标用一张被很多人引用过的图来说明最好: Kubernetes 的目标是让你可以像管理牲畜一样管理你的服务,而不是像宠物一样,同时提高资源的利用率,…
velero 是heptio 团队开源的kubernetes 应用以及持久化数据卷备份以及迁移的解决方案,以前的名字为ark 包含以下特性: 备份集群以及恢复 copy 当前集群的资源到其他集群 复制产品环境到开发以及测试环境中 velero 包含的额组件 server 运行在你的集群中 运行在本地的命令行客户端工具 velero 支持的备份存储provider aws s3 (以及s3兼容的存储,比如可以使用minio) azure blob 存储 google cloud 存储 参考资料 h…
解决项目迁移至Kubernetes集群中的代理问题 随着Kubernetes技术的日益成熟,越来越多的企业选择用Kubernetes集群来管理项目.新项目还好,可以选择合适的集群规模从零开始构建项目:旧项目迁移进Kubernetes集群就需要考虑很多因素,毕竟项目不能中断时间过久. 问题来源 近日在做项目迁移至Kubernetes集群时,遇到了一件有意思的问题:因为开发用的dubbo版本过低,在zookeeper注册不上,需要开发升级dobbo,然后在打包成镜像,所以要先把nodejs迁移进Ku…
1. 项目迁移背景 1.1 为什么要在"太岁"上动土? 目前公司的测试环境.UAT环境.生产环境均已经使用k8s进行维护管理,大部分项目均已完成容器化,并且已经在线上平稳运行许久.在我们将大大小小的项目完成容器化以后,测试.UAT.生产环境的发版工具以及CICD流程慢慢的实现统一化管理,并且基于k8s开发了内部的发版审核平台,同时接入了Jira等项目管理工具. 在自研平台进行发版时,能够自动关联项目的开发进度以及Release版本,最重要的是其可以控制发版权限.统一发版工具及发版模式,…
Velero基本介绍 官方文档:https://velero.io/docs/v1.4/ 基本工作原理: 不管需求是实现什么,比如:集群迁移.恢复.备份,其核心都是通过velero client CLI创建一个backup,然后迁移和恢复等操作都是需要这个backup来完成的. 创建一个backup,velero backup create test-backup: Velero client 调用Kubernetes API服务器以创建Backup. BackupController检测到新的…
背景 如果你有自建的 MySQL 集群,并且已经感受到了云原生的春风拂面,想将数据迁移到 Kubernetes 上,那么这篇文章可以给你一些思路. 文中将自建 MySQL 集群数据,在线迁移到 Kubernetes 的 MySQL 集群中,快速实现了 MySQL on Kubernetes. 适用场景 自建 MySQL 数据库迁移至 Kubernetes 的过程中.优点是停机时间短,数据一致性强. 前提条件 掌握 RadonDB MySQL Kubernetes 的使用 自建集群 MySQL 版…
一.前言 在一次对比oracle和greenplum查询性能过程中,由于greenplum查询性能不理想,因此进行定位分析,提升greenplum的查询性能 二.环境信息 初始情况下,搭建一个小的集群,进行性能测试 磁盘 SAS 交换机 千兆 集群大小 4segment 数据量 3亿 数据文件大小 68G 表类型 Heap 行表 字段类型 所有列为varchar 列宽 41列 索引 无 查询语句 select count(*) from xxx where gjdqdm = 'CHN' and…
pod平滑迁移 使用到的命令 (cordon, drain, uncordon)这三个命令是正式release的1.2新加入的命令,三个命令一起介绍,是因为三个命令配合使用可以实现节点的维护.在1.2之前,因为没有相应的命令支持,如果要维护一个节点,只能stop该节点上的kubelet将该节点退出集群,是集群不在将新的pod调度到该节点上.如果该节点上本生就没有pod在运行,则不会对业务有任何影响.如果该节点上有pod正在运行,kubelet停止后,master会发现该节点不可达,而将该节点标记…
使用 kubectl describe pod 查看异常的 pod 的状态,在容器列表里看 State 字段,其中 ExitCode 即程序退出时的状态码,正常退出时为0.如果不为0,表示异常退出,我们可以分析下原因. 退出状态码的区间 必须在 0-255 之间 0 表示正常退出 外界中断将程序退出的时候状态码区间在 129-255,(操作系统给程序发送中断信号,比如 kill -9 是 SIGKILL,ctrl+c 是 SIGINT) 一般程序自身原因导致的异常退出状态区间在 1-128 (这…
1.前言 Mirantis 公司在2014年9月14日宣布收购 TCPCloud,然后宣布在2017年第一季度会推出全新的私有云产品.从那时候开始,我就一直满怀期待.终于,今年4月19日,Mirantis 宣布推出全新的 MCP 1.0.本文根据公开的文档,试着对该产品做些分析和总结,并且展望一下其未来.因为只是看文档和视频,并没有进行实际部署和操作,因此,可能有一些错误.本文会持续进行更新. 2. MCP 1.0 概况 2.1 MCP 1.0 的组成 MCP 1.0 主要包括三大部分: Dri…
Jenkins K8S Slave 调度效率优化 by yue994488@126.com 使用kubernetes为测试工具Gatling进行大规模压测,压测期间发现Jenkins调度压测实例较慢,单批几百实例需要十分钟左右也不能保证完整调度. 结合Jenkins Master源码 和Jenkins Kubernetes插件源码,对调度进行了细节的优化.调优过程中目标实例个数都设为300,调优后可以大体上允许一分钟内从Jenkins Master调度完毕.如果目标实例个数线性增加,调度的时间也…
摘要:本文从单机真机运营的历史讲起,逐步介绍虚拟化.容器化.Docker.Kubernetes.ServiceMesh的发展历程.并重点介绍了容器化阶段之后,各项重点技术的安装.使用.运维知识.可以说一文讲清楚服务器端运维的热点技术. 序 文章的名字起的有点纠结,实际上这是一篇真正从基础开始讲解,并试图串联起来现有一些流行技术的入门文章. 目前的企业级运营市场,很有点早几年前端工程师所面临的那样的窘境.一方面大量令人兴奋的新技术新方案层出不穷:另外一方面运维人员也往往陷入了选择困局,艰于决策也疲…
在前面的四篇文章中,我以 Docker 项目为例,一步步剖析了 Linux 容器的具体实现方式.通过这 些讲解你应该能够明白:一个“容器”,实际上是一个由 Linux Namespace.Linux Cgroups 和 rootfs 三种技术构建出来的进程的隔离环境. 从这个结构中我们不难看出,一个正在运行的 Linux 容器,其实可以被“一分为二”地看待: 1. 一组联合挂载在 /var/lib/docker/aufs/mnt 上的 rootfs,这一部分我们称为“容器镜 像”(Contain…
在上一篇文章中,我详细介绍了 Pod 这个 Kubernetes 项目中最重要的概念. 现在,你已经非常清楚:Pod,而不是容器,才是 Kubernetes 项目中的最小编排单位.将这个设计落实到 API 对象上,容器(Container)就成了 Pod 属性里的一个普通的字段.那么,一个很自然的问题就是:到底哪些属性属于 Pod 对象,而又有哪些属性属于 Container 呢? 要彻底理解这个问题,你就一定要牢记我在上一篇文章中提到的一个结论:Pod 扮演的是传统部署环境里“虚拟机”的角色.…
GaiaStack介绍 GaiaStack是腾讯基于Kubernetes打造的容器私有云平台.这里有几个关键词: 腾讯:GaiaStack可服务腾讯内部所有BG的业务: Kubernetes:GaiaStack的技术实现主要是依托于Kubernetes和容器: 私有云:GaiaStack通过腾讯云向外部企业输出解决方案,并成功在金融.游戏.政务.互联网等各行业落地. GaiaStack的产品功能主要分为下面两个部分,分别是集群管理员的集群管理功能,以及集群用户的应用全生命周期管理的功能. 集群管…