coreos

机器重启后 docker 容器启动报错 error creating overlay mount t

有些话、适合烂在心里 提交于 2020-08-06 12:12:11
机器重启后 docker 容器启动报错 error creating overlay mount to 作者:张首富 时间:2020-07-29 w y:y18163201 今天早上来到公司发现,发现机器上的容器全部停止了,已查看机器在夜里被关机重启了,然后启动容器之后报错如下: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/67fc837e52765051b9f1559ac561a6f196aa0e88521909dc3352c7409d2e0236/merged: invalid argument Error: failed to start containers: jieba 这个问题的是由于selinux造成的 CentOS的selinux是关闭的,而docker上的selinux却是开启的,因此docker运行时会产生如上错误。 解决方案无非是要么都关闭,要么都开启。参看https://github.com/coreos/bugs/issues/2340, 推荐修改crntOS下的/etc/selinux/config 将SELINUX=disabled 改成 SELINUX=permissive,至少腾讯云的CoreOs就是这样子的。

技术分享 | kubernetes 环境测试部署 MySQL 的随想

◇◆丶佛笑我妖孽 提交于 2020-08-05 11:02:33
作者:王悦 爱可生研发团队成员,负责数据库管理平台相关项目的开发和故障排查,好奇 MySQL 技术原理及各类数据库实现方案。 本文来源:转载自公众号-图解 MySQL *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 注:阅读本文需要了解 pod,controller,service 等一些 kubernetes 的基本概念。 什么是 kubernetes?有了容器技术后为什么还需要 kubernetes? 容器凭借其良好的移植性,敏捷性和革命性的打包方式迅速成为云服务的新基础设施。但 Docker 毕竟只是 “container runtime”,我们需要一个编排框架作为系统核心来串联开发、测试、部署、运维等整个软件生命周期。kubernetes 就提供这样一个框架,提供大量容器的部署、编排、管理的能力。 如果将 MySQL 部署在 kubernetes 会有哪些挑战?带来了什么收益? 虽然 kubernetes 社区一直在努力使得有状态应用成为一等公民,也推出了 statefulset 控制器支持 pod 的顺序部署,稳定的域名访问和存储访问。但鉴于 MySQL 部署运维的多样性和复杂性,在 kubernetes 上部署 MySQL 仍然要面临众多挑战。 1、业务流量入口的配置方式 传统虚拟机环境下,我们通过虚 IP 的方式

kubernetes-master安装

给你一囗甜甜゛ 提交于 2020-07-25 07:34:17
导出配置文件 kubeadm config print init-defaults > kubernetes-config.yaml 修改配置文件 vim kubernetes-config.yaml #配置信息 apiVersion: kubeadm.k8s.io/v1beta2 bootstrapTokens: groups: system:bootstrappers:kubeadm:default-node-token token: abcdef.0123456789abcdef ttl: 24h0m0s usages: signing authentication kind: InitConfiguration localAPIEndpoint: advertiseAddress: 192.168.100.10 bindPort: 6443 nodeRegistration: criSocket: /var/run/dockershim.sock name: master01 taints: effect: NoSchedule key: node-role.kubernetes.io/master apiServer: timeoutForControlPlane: 4m0s apiVersion: kubeadm.k8s.io/v1beta2

Flannel网络模型

眉间皱痕 提交于 2020-07-25 04:27:45
Flannel 是 CoreOS 公司针对 Kubernetes 设计的一个基于CNI标准的网络工具, 其目在于帮助 Kuberentes 实现一个简单的3层网络。 常用网络术语 2层网络 OSI 网络模型中的数据链路层. 处理网络上两个相邻节点之间的帧传递. 以太网就工作在第2层, MAC地址表示为子层. 3层网络 OSI 网络模型中的网络层. 处理主机之间路由数据包. IPv4、IPv6、ICMP 工作在第3层. VXLAN VXLAN代表虚拟可扩展的LAN. VXLAN是一种封装和覆盖协议, 可在现有网络上运行. VXLAN虚拟化与VLAN类似, 但提供更大的灵活性和功能, VLAN只有4096个网络ID. VXLAN用于通过在UDP数据报中封装第2层以太网帧来实现大型网络部署. Overlay Overlay网络是建立在现有网络之上的虚拟逻辑网络. Overlay网络通常用于在现有网络之上提供有用的抽象, 并分离和保护不同的逻辑网络. 数据封装 数据封装是指在附加层中封装网络数据包以提供其他上下文和信息的过程. 在Overlay网络中, 数据封装被用于从虚拟网络转换到底层地址空间, 从而能路由到不同的位置. 网状网络(Mesh NetWork) 网状网络是指每个节点连接到许多其他节点以协作路由、并实现更大连接的网络. 网状网络允许通过多个路径进行路由, 从而提供更可靠的网络

CoreOS - get docker container name by PID?

假如想象 提交于 2020-06-24 07:21:17
问题 I have a list of PID's and I need to get their docker container name. Going the other direction is easy ... get PID of docker container by image name: $ docker inspect --format '{{.State.Pid}}' {SOME DOCKER NAME} Any idea how to get the name by PID? 回答1: Something like this? $ docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.ID}}' | grep "^${PID}," [EDIT] Disclaimer This is for "normal" linux. I don't know anything useful about CoreOS, so this may or may not work there. 回答2:

docker-ce和kubeadm踩坑笔记

こ雲淡風輕ζ 提交于 2020-04-28 15:11:30
1、docker镜像存放目录的问题 docker默认存放目录为:/var/lib/docker 查看:docker info | grep "Docker Root Dir" docker: 配置文件:/etc/sysconfig/docker文件 docker-ce: 配置文件:/usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd --graph /data/docker 2、拉取镜像443报错 具体报错:Error response from daemon: Get https://reg.xxx.com/v2/ : dial tcp 192.168.10.216:443: connect: connection refused 配置文件:/usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd --graph /data/docker --insecure-registry reg.ileci.com 并配置/root/.docker/config.json文件里docker仓库相关账号密码 3、kubeadm安装方式:master和各node的主机名不能有_(下划线),不符合dns的解析规则 4、flannel网络插件

上周热点回顾(1.27-2.2)

时间秒杀一切 提交于 2020-04-22 04:07:32
热点随笔: · 肺炎确诊人数增长趋势拟合和预测(截止1月30日) ( 图灵的猫 ) · 肺炎确诊人数增长趋势拟合和预测(截止2月1日) ( 图灵的猫 ) · 一文带你了解 HTTP 黑科技 ( cxuan ) · 如何实现延迟队列 ( rickiyang ) · 只会前端让我很丢人 ( xing.org1^ ) · 漫长的春节假期 - 确诊数据可视化 ( upupfeng ) · 你真的知道如何设置数据库连接池的大小吗 ( rickiyang ) · .net core 常见设计模式-IChangeToken ( 变形精怪 ) · 【译】强化表单的9个Vue输入库 ( LINJIAJUN ) · 疫情下的远程办公实践指南 ( Nauyus ) · 牛逼!一行代码居然能解决这么多曾经困扰我半天的算法题 ( 帅地 ) · CSS动效集锦,视觉魔法的碰撞与融合(三) ( 彭湖湾 ) 热点新闻: · 清华大学免费开放知识库:无需登录、注册 在家就能上清华 · 蝙蝠究竟有什么特别之处,能在体内藏这么多致命病毒? · Ubuntu 发布迁移手册,拉拢 Windows 7 用户 · 兵进光刻机,中国芯片血勇突围战 · 性能媲美七代酷睿i5!兆芯开先KX-U6780A x86处理器零售开卖 · 加速新冠疫苗研发,阿里云免费开放一切AI算力! · 火神山医院交付!首个远程会诊平台投入使用

Kubernetes实战总结

烂漫一生 提交于 2020-04-13 13:43:37
【今日推荐】:为什么一到面试就懵逼!>>> 什么是普罗米修斯? Prometheus 是最 初在SoundCloud上构建的开源系统监视和警报工具包 。 自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。 组件说明 MetricServer :是kubernetes集群资源使用情况的聚合器,收集数据给kubernetes集群内使用,如kubectl,hpa,scheduler等。 PrometheusOperator :是一个系统监测和警报工具箱,用来存储监控数据。 NodeExporter :用于各node的关键度量指标状态数据。 KubeStateMetrics :收集kubernetes集群内资源对象数据,制定告警规则。 Prometheus :采用pull方式收集apiserver,scheduler,controller-manager,kubelet组件数据,通过http协议传输。 Grafana :是可视化数据统计和监控平台。 系统架构 什么时候合适? Prometheus非常适合记录任何纯数字时间序列。 它既适合以机器为中心的监视,也适合于高度动态的面向服务的体系结构的监视。 在微服务世界中,它对多维数据收集和查询的支持是一种特别的优势。 Prometheus的设计旨在提高可靠性,使其成为中断期间要使用的系统

[转帖]Kubernetes CNI网络最强对比:Flannel、Calico、Canal和Weave

给你一囗甜甜゛ 提交于 2020-04-09 19:44:21
Kubernetes CNI网络最强对比:Flannel、Calico、Canal和Weave http: // dockone.io/article/8722 【编者的话】本文将在介绍技术原理和相应术语的基础上,再集中探索与详细对比目前最流行的CNI插件:Flannel、Calico、Weave和Canal,对比介绍它们的原理、使用方法、适用场景和优缺点等。 介绍 网络架构是Kubernetes中较为复杂、让很多用户头疼的方面之一。Kubernetes网络模型本身对某些特定的网络功能有一定要求,但在实现方面也具有一定的灵活性。因此,业界已有不少不同的网络方案,来满足特定的环境和要求。 CNI意为容器网络接口,它是一种标准的设计,为了让用户在容器创建或销毁时都能够更容易地配置容器网络。在本文中,我们将集中探索与对比目前最流行的CNI插件:Flannel、Calico、Weave和Canal(技术上是多个插件的组合)。这些插件既可以确保满足Kubernetes的网络要求,又能为Kubernetes集群管理员提供他们所需的某些特定的网络功能。 背景 容器网络是容器选择连接到其他容器、主机和外部网络(如Internet)的机制。容器的Runtime提供了各种网络模式,每种模式都会产生不同的体验。例如,Docker默认情况下可以为容器配置以下网络: none

亲历者说:Kubernetes API 与 Operator,不为人知的开发者战争

你离开我真会死。 提交于 2020-04-06 22:03:32
原创作者:张磊、邓洪超 如果我问你,如何把一个 etcd 集群部署在 Google Cloud 或者阿里云上,你一定会不假思索的给出答案:当然是用 etcd Operator! 实际上,几乎在一夜之间,Kubernetes Operator 这个新生事物,就成了开发和部署分布式应用的一项事实标准。时至今日,无论是 etcd、TiDB、Redis,还是 Kafka、RocketMQ、Spark、TensorFlow,几乎每一个你能叫上名字来的分布式项目,都由官方维护着各自的 Kubernetes Operator。而 Operator 官方库里,也一直维护着一个知名分布式项目的 Operator 汇总。 https://github.com/operator-framework/awesome-operators 短短一年多时间,这个列表的长度已经增长了几十倍。 而且更有意思的是,如果你仔细翻阅这个 Operator 列表,你就不难发现这样一个有趣的事实:现今 Kubernetes Operator 的意义,恐怕已经远远超过了“分布式应用部署”的这个原始的范畴,而已然成为了容器化时代应用开发与发布的一个全新途径。所以,你才会在这个列表里看到,Android SDK 的开发者们,正在使用 Operator “一键”生成和更新 Android 开发环境;而 Linux 系统工程师们