• 调试 Kubernetes 最简单方法

    调试容器化工作负载和 Pod 是每位使用 Kubernetes 的开发人员和 DevOps 工程师的日常任务。通常情况下,我们简单地使用 kubectl logs 或者 kubectl describe pod 便足以找到问题所在,但有时候,一些问题会特别难查。这种情况下,大家可能会尝试使用 kubectl exec,但有时候这样也还不行,因为 Distroless 等容器甚至不允许通过 SSH 进入 shell。那么,如果以上所有方法都失败了,我们要怎么办? 更好的方法 其实我们只需要使用更合…

  • Kubernetes日志收集的那些套路

    准备 关于容器日志 Docker的日志分为两类,一类是Docker引擎日志;另一类是容器日志。引擎日志一般都交给了系统日志,不同的操作系统会放在不同的位置。本文主要介绍容器日志,容器日志可以理解是运行在容器内部的应用输出的日志,默认情况下,docker logs显示当前运行的容器的日志信息,内容包含 STOUT(标准输出)和STDERR(标准错误输出)。日志都会以json-file的格式存储于 /var/lib/docker/containers/<容器id>/<容器id&gt…

  • Docker内核技术原理之Namespace

    Docker的空间隔离使用的是namespace(空间),它是内核提供的一种空间隔离,在一个空间下,每个进程看到的视图是一致的,相应的如果不在一个空间下看到资源视图是不一致的,举个例子,如果两个进程在同一个网络命令空间下,那么他们看到的网络信息(网卡、IP、路由等)是一样的,可以通过localhost的方式互相访问。常用的有6种namespace,在Linux 内核4.6之后又添加了Cgroup这namespace,5.6 之后又添加了时钟namespace。 这里有个小细节,上面表格创建Mou…

    云原生及微服务 2021年7月14日
  • Kubernetes自动伸缩机制,为你降本增效

    从技术上讲,容器化应用能该帮助组织更具有成本的优势,但Kubernetes到处布满了成本陷阱,可能会使你超出预算。幸运的是,有一些策略可以控制云成本,自动伸缩就是其中之一。Kubernetes带有三个内置的自动伸缩机制来帮助你做到这一点。它们配合得越好,运行应用程序的成本就越低。 1.Pod水平自动扩缩(HPA) Pod 水平自动扩缩(HorizontalpodAutoscaler) 可以基于CPU利用率自动扩缩 ReplicationController、Deployment、ReplicaS…

  • 【资源】超详细Docker实战教程,万字详解!

    Docker如日中天,这不是单纯的炒概念,Docker确确实实解决了开发与运维的痛点,因此在企业开发中得到了非常广泛的使用。 Docker是一个开放源代码软件项目,让应用程序部署在软件容器下的工作可以自动化进行,借此在Linux操作系统上,提供一-个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。 今天分享的这份资料,包括280页的Docker实战教程、最新版的Docker高清思维导图,相信这套资料看完后会让你对Docker有更深入的了解。 280页的Docker实战教程 下面给大家重点说…

    云原生及微服务 2021年7月8日
  • Docker基本使用命令

    前言 刚看别人使用Docker的时候有很多不解,为什么要用Docker,Docker怎么用?Docker配置为什么这么难?为什么网络访问不通?等等因素阻碍了笔者学习Docker?其实笔者也很笨,有很多思考不清晰的点。顺便也分享下。 学时疑惑: Q:我一套服务为什么不放在一个容器里面(Java、MySQL、Nginx、Redis等)? A:因为既要维护容器内网络,又要维护端口等等之类的东西,Docker就是为了快速搭建环境而生的,而且Docker最好也是一个服务一个容器,这样好打理。 Q:Dock…

    云原生及微服务 2021年7月7日
  • 云原生时代需要什么样的存储系统?

     1   导读 本文介绍了目前云原生环境下,支持有状态应用的几种典型存储方案的特点,并对市场主流的几个云原生存储产品实际测试性能进行对比。  2   现状 当前,云原生已经成为应用开发者在选择架构设计时的首选。云原生让应用开发者可以将所有精力都集中在开发业务逻辑本身,这极大降低了应用开发者的负担。 而应用系统的敏捷性、扩展性、可靠性、高可用等,则由基础设施软件和运维团队共同承担。一方面,运维团队需要利用基础设施软件,快速响应业务系统提出的部署、扩容、迁移等需求,另一方面,也要时刻保持业务系统和基…

  • 超全面的 Kubernetes 容器网络技能,运维看后都说好

    在 Kubernetes 中要保证容器之间网络互通,网络至关重要。而 Kubernetes 本身并没有自己实现容器网络,而是通过插件化的方式自由接入进来。在容器网络接入进来需要满足如下基本原则: pod 无论运行在任何节点都可以互相直接通信,而不需要借助 NAT 地址转换实现。 node 与 pod 可以互相通信,在不限制的前提下,pod 可以访问任意网络。 pod 拥有独立的网络栈,pod 看到自己的地址和外部看见的地址应该是一样的,并且同个 pod 内所有的容器共享同个网络栈。 容器网络基础…

  • 微服务性能是如何测试的?

    微服务,通常指的是一个支持持续开发、系统可扩展、应用程序解耦和多语言编程的架构平台。它在服务边界的帮助下隔离了平台,这使得单独使用和管理每个服务变得更加简单。由于每个服务都是相互独立的,这就使得添加高级功能或扩展变得更加有效和容易。 微服务的核心特性: 每一个服务或单元都是轻量级、独立和松耦合的。 每个服务都有其独立的代码库,由一个小团队设计和开发。 每个服务都有其独立的DevOps计划(开发、测试、发布、扩展和管理 ) 每个服务可以自由选择自己的技术堆栈。 每个服务有自己的机制来保存他们的信息…

  • CentOS 7 使用 kubeadm 搭建 Kubernetes 集群

    注意事项 检查是否关闭了 SELinux 和 iptables,阿里云这个系统版本默认已经关闭2.关闭 swap 目前 Kubernetes 和 Docker 尚不支持内存 Swap 空间的隔离机制 安装 Docker 使用阿里云的源进行安装: 创建 kubernetes 集群 更换阿里巴巴开源镜像站的源 安装 kubeadm, kubelet, kubectl 初始化 master 节点 配置 Docker设置 Kubernetes 需要的内核参数 编写 init.yml 配置文件 应用初始化…

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!