Containerd

读懂这一篇,集群节点不下线

做~自己de王妃 提交于 2020-02-27 14:43:09
作者 | 声东 阿里云售后技术专家 导读 :排查完全陌生的问题、完全不熟悉的系统组件,是售后工程师的一大工作乐趣,当然也是挑战。今天借这篇文章,跟大家分析一例这样的问题。排查过程中,需要理解一些自己完全陌生的组件,比如 systemd 和 dbus。但是排查问题的思路和方法基本上还是可以复用了,希望对大家有所帮助。 问题一直在发生 1. I'm NotReady 阿里云有自己的 Kubernetes 容器集群产品。随着 Kubernetes 集群出货量的剧增,线上用户零星的发现,集群会非常低概率地出现节点 NotReady 情况。 据我们观察,这个问题差不多每个月就会有一到两个客户遇到。在节点 NotReady 之后,集群 Master 没有办法对这个节点做任何控制,比如下发新的 Pod,再比如抓取节点上正在运行 Pod 的实时信息。 2. 需要知道的 Kubernetes 知识 这里我稍微补充一点 Kubernetes 集群的基本知识。Kubernetes 集群的“硬件基础”,是以单机形态存在的集群节点。这些节点可以是物理机,也可以是虚拟机。集群节点分为 Master 和 Worker 节点。 Master 节点主要用来负载集群管控组件,比如调度器和控制器; 而 Worker 节点主要用来跑业务。Kubelet 是跑在各个节点上的代理,它负责与管控组件沟通,并按照管控组件的指示

k8s安装报错Error: docker-ce-cli conflicts with 2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64

最后都变了- 提交于 2020-02-27 05:02:47
初次学习k8s的时候,安装 kubernetes-node 出现错误 Error: docker-ce-cli conflicts with 2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64 Error: docker-ce conflicts with 2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64 后面百度查了查,原因是因为之前安装过docker,版本冲突原因,解决方法如下: 查询安装docker列表 yum list installed | grep docker 卸载 yum -y remove containerd.io.x86_64 docker-ce.x86_64 docker-ce-cli.x86_64 再次安装,成功 分享学习是一件开心事 来源: oschina 链接: https://my.oschina.net/u/4215748/blog/3161393

Centos8 安装 docker-19.03.6

拥有回忆 提交于 2020-02-26 15:50:16
# 添加docker用户, 并把当前用户添加到docker组内, 是为了当前用户拥有操作docker的权限 sudo useradd -m docker sudo usermod -a -G docker k8s # 关闭防火墙 sudo systemctl stop firewalld sudo systemctl disable firewalld # 修改iptables sudo iptables -P FORWARD ACCEPT sudo vim /etc/rc.local 添加 iptables -P FORWARD ACCEPT # 安装必要程序 sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 # 安装containerd yum install -y https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm # 配置docker源 sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo #

在Ubuntu18.04上安装Docker CE (社区版)

感情迁移 提交于 2020-02-26 13:49:29
卸载旧版本 如果之前安装旧版本,需要先卸载: $ sudo apt-get remove docker docker-engine docker.io containerd runc 设置仓库 更新 apt 包索引: $ sudo apt-get update 让 apt 能通过HTTPS使用仓库: $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common 添加官方的GPG 密钥: $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 验证你的密钥: $ sudo apt-key fingerprint 0EBFCD88 设置选用哪个版本。 $ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ test" 我选用了test版本。 安装 更新 apt 包索引 $ sudo apt-get update 开始安装 $ sudo apt-get install docker-ce

Docker快速入门

会有一股神秘感。 提交于 2020-02-25 15:47:40
1 几个概念 Docker可以把开发的软件代码以及软件所依赖的所有运行时环境、依赖类库都打包成一个容器镜像,因此使用docker打包软件可以让程序员开发的程序运行在各种不同的计算机硬件环境中。在这篇指南中,我们将快速的使用Docker来编译打包一个程序,在容器中运行,并且发布到Docker Hub镜像仓库中以供他人使用。 在开始学习Docker之前,先介绍几个概念。 Docker Engine:Docker的容器运行引擎,有些文档也用containerd来命名,这是因为Docker Engine的内核是一个名为containerd的开源软件。 Docker Desktop:是运行在程序员个人电脑上的一个程序。安装后,用户可以使用CLI命令行工具来编译打包容器镜像。同时该程序也包含了Docker Engine,因此你可以在个人电脑上运行Docker镜像。 Docker CLI: Docker Desktop提供的命令行工具,即docker 命令。 Docker Image(Docker镜像): 使用Docker Desktop打包生成的一种容器镜像。 2 下载Docker Desktop 登录Docker Hub之后,在页面中可以点击"Get started with Docker Desktop"下载Docker Desktop。 点击Download Docker Desktop

PouchContainer 容器技术演进助力阿里云原生升级

試著忘記壹切 提交于 2019-12-26 11:02:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我们从 2016 年开始在集团推广全面的镜像化容器化,今年是集团全面镜像化容器化后的第 4 个 双11,PouchContainer 容器技术已经成为集团所有在线应用运行的运行时底座和运维载体,每年 双11 都有超过百万的 PouchContainer 容器同时在线,提供电商和所有相关的在线应用平稳运行的载体,保障大促购物体验的顺滑。 我们通过 PouchContainer 容器运行时这一层标准构建了应用开发和基础设施团队的标准界面,每年应用都有新的需求、新的变化,同时基础设施也有上云/混部/神龙/存储计算分离/网络变革这些升级,两边平行演进,互不干扰。技术设施和 PouchContainer 自身都做了很大的架构演进,这些很多的架构和技术演进对应用开发者都是无感知的。 在容器技术加持的云原生形成趋势的今天,PouchContainer 容器技术支持的业务方也不再只有集团电商业务和在线业务了,我们通过标准化的演进,把所有定制功能做了插件化,适配了不同场景的需要。除了集团在线应用,还有运行在离线调度器上面的离线 job 类任务、跑在搜索调度器上面的搜索广告应用、跑在 SAE/CSE 上面的 Serverless 应用、专有云产品及公有云(ACK+CDN)等场景,都使用了 PouchContainer 提供的能力。

PouchContainer 容器技术演进助力阿里云原生升级

人走茶凉 提交于 2019-12-25 15:41:38
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 点击下载《不一样的 双11 技术:阿里巴巴经济体云原生实践》 作者 | 杨育兵(沈陵) 阿里巴巴高级技术专家 我们从 2016 年开始在集团推广全面的镜像化容器化,今年是集团全面镜像化容器化后的第 4 个 双11,PouchContainer 容器技术已经成为集团所有在线应用运行的运行时底座和运维载体,每年 双11 都有超过百万的 PouchContainer 容器同时在线,提供电商和所有相关的在线应用平稳运行的载体,保障大促购物体验的顺滑。 我们通过 PouchContainer 容器运行时这一层标准构建了应用开发和基础设施团队的标准界面,每年应用都有新的需求、新的变化,同时基础设施也有上云/混部/神龙/存储计算分离/网络变革这些升级,两边平行演进,互不干扰。技术设施和 PouchContainer 自身都做了很大的架构演进,这些很多的架构和技术演进对应用开发者都是无感知的。 在容器技术加持的云原生形成趋势的今天,PouchContainer 容器技术支持的业务方也不再只有集团电商业务和在线业务了,我们通过标准化的演进,把所有定制功能做了插件化,适配了不同场景的需要。除了集团在线应用,还有运行在离线调度器上面的离线 job 类任务、跑在搜索调度器上面的搜索广告应用、跑在 SAE/CSE 上面的

Does user space program(runc) regulate the size of physical address space of a docker container process?

时光毁灭记忆、已成空白 提交于 2019-12-24 20:15:18
问题 Below is the CloudFormation template to configure ECS task containers on AWS EC2 instance(Linux): TodobackendTaskDefinition: Type: "AWS::ECS::TaskDefinition" Properties: ContainerDefinitions: - Name: todobackend Image: someacct/todobackend Memory: 450 MountPoints: - ContainerPath: /var/www/todobackend SourceVolume: webroot - Name: nginx Image: someacct/todobackend-nginx Memory: 300 PortMappings: - ContainerPort: "8000" HostPort: "8000" MountPoints: - ContainerPath: /var/www/todobackend

Getting runc config.json from docker container

醉酒当歌 提交于 2019-12-11 17:55:36
问题 I am trying to create a runc container from a docker container. I followed this blog post and was successfull in extracting the config.json from the running docker container. The issue is that The path where I found the config.json was different then the references I found online The same path does not work on a different host which has, as far as I can tell, the same docker version. On that host, I have not been able to find where the config.json is generated. I have conflicting information

Failed to connect to containerd: failed to dial

夙愿已清 提交于 2019-12-11 07:39:25
问题 Just installed Docker CE following official instructions with the repository in Ubuntu 14.04 Installation went successfully, the daemon is running $ ps aux | grep docker [...] /usr/bin/dockerd --raw-logs [...] My user is in the docker group: $ groups [...] docker The cli can't seem to communicate (same with sudo) $ docker ps Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? The socket seems to have the correct permissions: $ ls -l /var/run