Docker数据管理 默认容器的数据是保存在容器的可读写层,当容器被删除时其上的数据也会丢失,所以为了实现数据的持久性则需要选择一种数据持久技术来保存数据。官方提供了三种存储方式:Volumes、Bind mounts和tmpfs。 1. 数据存储方式 从现在开始,我们学习 Docker 容器的数据存储方式。 Bind mount 会覆盖容器中的文件,而 volume mount 则不会。即如果容器中已有文件,则会将文 云运维 2022-09-30 Escape
Docker网络配置 纸上得来终觉浅,绝知此事要躬行。 当你开始大规模使用 Docker 时,你会发现需要了解很多关于网络的知识。无论你是在单主机上进行部署,还是在集群上部署,你总得和网络打交道。Docker 网络有四种模式:网桥模式,主机模式,容器模式和无网络模式。 1. 网络模式 Docker 默认提供了四种网络模式,供容器启动的时候选择,分别是 bridge、none、container 和 host,下面是它们 云运维 2022-09-30 Escape
Docker利器之Compose项目 主要参考来自《Docker 从入门到实践》文章,侵权必删! Docker Compose 是官方编排项目之一,负责快速的部署分布式应用,定义和运行多个容器的应用。从功能上看,跟 OpenStack 中的 Heat 十分类似。如果不使用的话,我们部署或者搭建一个环境可能需要启动 5~9 容器才能够满足我们的需要,而且更新和维护都不是很方便。 1. 简介说明 分布式系统中常常会使用到,可以极大地方便部 云运维 2022-09-30 Escape
Docker利器之Machine项目 Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境。Machine 项目是基于 Go 语言实现的,目前在 Github上进行维护。 1. 安装配置说明 其实并没有什么特殊的配置,且使用客户端工具的用户无需安装和配置。 [1] Linux 在 Linux 上安装十分简单,从官方 GitHub Release 处 云运维 2022-09-30 Escape
Docker利器之Swarm项目 DockerSwarm 目前是 Docker 社区的入室独家弟子 引用来自Docker 从入门到实践 => 侵权删除 从 Docker1.12 开始 Swarm mode 已经内嵌入 Docker 引擎,成为了 docker 子命令 docker swarm。目前,Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具。它可以把多个 Docker 主机组成的系 云运维 2022-09-30 Escape
Docker安全及底层实现 我们既要了解 Docker 安全相关的知识,也要了解其底层的实现细节。 引用来自Docker 从入门到实践 => 侵权删除 1. 安全纪要 总体来看,Docker 容器还是十分安全的,特别是在容器内不使用 root 权限来运行进程的话。 1.1 内核命名空间 Docker 容器和 LXC 容器很相似,所提供的安全特性也差不多。当用 docker run 启动一个容器时,在后台 Docke 云运维 2022-09-30 Escape
使用app提高compose效率 该工具的主要作用就是用于配置/管理/共享和安装应用程序的 Docker 客户端插件 Docker App 官网 Docker App GitHub 仓库 1. 背景介绍 本部分主要介绍了关于 docker-app 工具的背景和开发原因 咳咳咳咳咳咳,我们很熟悉且清楚的知道,通过在 docker-compose.yml 文件中对一组服务进行描述,就可以在 Docker 上用一条命令轻松的启动一个简单 云运维 2022-09-30 Escape
审计Docker主机安全性 用于检查部署 Docker 服务的最佳实践,有则改之无则加勉 使用 Docker 对应用程序和服务进行容器化可以为您提供一些开箱即用的安全优势,但默认的 Docker 安装可能会存在一些与安全相关的配置错误等。为了保护我们安装服务不受安全威胁,我们可以使用 Docker 团队发布的一个安全审计工具。该工具使用非常简单,即在 Docker 主机上运行此清单并标记找到的所有问题。 1. 安装使用 安装 云运维 2022-09-30 Escape
终端Docker服务管理工具 这是一个简单的基于终端的 UI 管理工具,主要适用于对 docker 和 docker-compose 容器以及服务的管理和便捷使用,灵感来自于 gocui 并使用 Go 语音改写。 1. 功能特性 轻度用户使用尚可,可不要把它当做是一个专业的管理工具,哈哈哈 查看docker或docker-compose容器环境的状态一目了然 查看container/service的日志 查看容器指标的asci 云运维 2022-09-30 Escape
Docker容器的优化思路 不能忽视对 dockerfile 的优化,但也不要为了优化而优化。 镜像构建的过程,视具体业务场景的不同而不同。在很多情况下,我们需要先以满足业务目标为准,而不是镜像的构建层数。如果需要减少镜像层数,一定要选择合适的基础镜像或者创建符合需要的基础镜像。 1. 选择基础镜像 缩短构建时间 选择合适产品的基础镜像,这点相对来说非常重要。选择一个合适的基础镜像,需要能够满足运行应用所需要的最小的镜像。理 云运维 2022-09-30 Escape
【云原生 | 从零开始学Kubernetes一、kubernetes到底是个啥 初识kubernetes 写在开头 部署发展历程 kubernetes的出世 K8S功能 1、数据卷 2、应用程序健康检查 3、复制应用程序实例 4、弹性伸缩 5、服务发现 6、负载均衡 7、滚动更新 8、服务编排 9、资源监控 10、提供认证和授权 Kubernetes架构 一、Master组件 二、Node组件 三、Etcd K8S核心概念 1、Pod 2、Deployment 3、Servi 云运维 2022-09-30 泡泡
【云原生 | 从零开始学Kubernetes二、使用kubeadm搭建K8S集群 这里写目录标题 安装要求 准备环境 初始化 安装Docker/kubeadm/kubelet 添加kubernetes软件源 三台机子 安装kubeadm,kubelet和kubectl 部署Kubernetes Master 加入Kubernetes Node 部署CNI网络插件master 测试kubernetes集群 写在最后 安装要求 两台或者多台机器,为centos7 2GB及以上内存, 云运维 2022-09-30 泡泡
【云原生 | 从零开始学Kubernetes三、Kubernetes集群管理工具kubectl kubectl详解 概述 命令格式 常见命令 kubectl help 获取更多信息 基础命令 部署命令 集群管理命令 故障和调试命令 目前经常使用的命令 演示 创建一个namespace 获取namespace 在此namespace下创建并运行一个nginx的Pod 查看新创建的pod 删除指定的namespace 资源管理方式 写在最后 概述 kubectl是Kubernetes集群的命令行 云运维 2022-09-30 泡泡
【云原生 | 从零开始学Kubernetes四、Kubernetes之YAML文件详解 yaml文件详解 概述 YAML文件介绍 YAML概述 YAML 基本语法 YAML 支持的数据结构 YAML文件组成部分 属性说明 如何快速编写YAML文件 使用kubectl create命令 使用kubectl get命令导出yaml文件 命令式对象配置 声明式对象配置 node节点如何使用kubectl 写在最后 概述 k8s 集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML 云运维 2022-09-30 泡泡
【云原生 | 从零开始学Kubernetes五、Kubernetes核心技术Pod Pod详解 Pod概述 Pod基本概念 Pod存在的意义 Pod如何管理多个容器? Pod实现机制 共享网络 共享存储 Pod 工作方式 实战:创建自主式 Pod 实战:创建控制器管理的 Pod 写在最后 Pod概述 Pod是K8S系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在K8S上运行容器化应用的资源对象,其它的资源对象都是用来支撑或者扩展Pod对象 云运维 2022-09-30 泡泡
【云原生 | 从零开始学Kubernetes六、Kubernetes核心技术Pod pod调度策略 上篇的知识补充 Pod镜像拉取策略 Pod资源限制 Pod重启机制 Pod健康检查 Pod调度策略 创建Pod流程 节点亲和性 node 节点亲和性调度:nodeAffinity 写在最后 上篇的知识补充 Pod镜像拉取策略 我们以具体实例来说,拉取策略就是 imagePullPolicy 拉取策略主要分为了以下几种 IfNotPresent:默认,镜像在宿主机上不存在才拉取 Al 云运维 2022-09-30 泡泡
【云原生 | 从零开始学Kubernetes七、资源清单与Namespace 资源清单与命名空间 资源清单 YAML 文件书写技巧 查看 pod.metadata 字段如何定义 通过资源清单文件创建第一个 Pod 创建yaml文件 更新资源清单,查看pod 查看命名空间以及进入容器内部 通过kubectl run也可以创建pod 命名空间 什么是命名空间? namespace 应用场景 查看 配置方式 写在最后 资源清单 YAML 文件书写技巧 下面就是一个简单的使用资源清 云运维 2022-09-30 泡泡
【云原生 | 从零开始学Kubernetes八、命名空间资源配额以及标签 命名空间与标签 namespacs 使用案例分享 namespace 资源限额 什么是标签? 给 pod 资源打标签 查看资源标签 写在最后 namespacs 使用案例分享 #创建一个 test 命名空间 [root@k8smaster ~]# kubectl create ns test #删除命名空间 [root@k8smaster ~]# kubectl delete ns test #切 云运维 2022-09-30 泡泡
【云原生 | 从零开始学Kubernetes九、k8s的node节点选择器与node节点亲和性 node节点选择器与污点容忍度 node 节点选择器 1、nodeName 2、nodeSelector 污点和污点容忍 污点容忍 node 节点亲和性 写在最后 node 节点选择器 我们在创建 pod 资源的时候,pod 会根据 schduler 进行调度,那么默认会调度到随机的一个工作节点,如果我们想要 pod 调度到指定节点或者调度到一些具有相同特点的 node 节点,怎么办呢? 可以使用 云运维 2022-09-30 泡泡
【云原生 | 从零开始学Kubernetes十、k8sPod节点亲和性和反亲和性 Pod节点亲和性和常见的状态 Pod 节点亲和性 pod 节点反亲和性 写在最后 Pod 节点亲和性 pod 自身的亲和性调度有两种表示形式 podaffinity:pod 和 pod 更倾向腻在一起,把相近的 pod 结合到相近的位置,比如同一区域,同一机架,这样的话 pod 和 pod 之间更好通信,比方说有两个机房,这两个机房部署的集群有 1000 台主机,那么我们希望把 nginx 和 t 云运维 2022-09-30 泡泡