systemd

如何测试Docker API

别说谁变了你拦得住时间么 提交于 2020-05-07 13:22:20
Docker引擎通过访问Docker Remote API进行容器的相关操作。如果需要通过http方式对API进行远程访问,需要在系统中进行相关配置。具体配置如下: # vim /lib/systemd/system/docker.service [Service] ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:3333 -H unix://var/run/docker.sock // -H tcp://0.0.0.0:3333 -H unix://var/run/docker.sock是新增加的部分,3333是http访问端口号,可任意配置 # systemctl daemon-reload # systemctl restart docker 注:具体API版本可参考Docker公司官方文档: https://docs.docker.com/engine/api/v1.40/ 来源: oschina 链接: https://my.oschina.net/yvanwang/blog/4269187

docker图形化管理界面portainer安装

杀马特。学长 韩版系。学妹 提交于 2020-05-06 15:27:54
基本介绍 官网[https://www.portainer.io](https://www.portainer.io) portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、 容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、 容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。 功能十分全面,基本能满足中小型单位对容器管理的全部需求。 安装步骤 docker search portainer docker pull portainer/portainer #启动 docker run -d -p 9000:9000 \ --restart=always \ -v /opt/portainer:/data/portainer \ -v /var/run/docker.sock:/var/run/docker.sock \ --name prtainer-test \ portainer/portainer 1. 启动完成后通过9000端口访问http://IP:9000 2. 设置用户名密码 admin admin1234 3. 单机版选择Local即可连接到本地Docker 添加远程节点 1. 分别在node与master上安装docker。另,多台node以此类推

如何在 Ubuntu 上设置时间同步

﹥>﹥吖頭↗ 提交于 2020-05-06 07:25:21
你可能设置过 cron 任务 来在特定时间备份重要文件或执行系统相关任务。也许你配置了一个日志服务器在特定时间间隔 轮转日志 。但如果你的时钟不同步,这些任务将无法按时执行。这就是要在 Linux 系统上设置正确的时区并保持时钟与互联网同步的原因。本指南介绍如何在 Ubuntu Linux 上设置时间同步。下面的步骤已经在 Ubuntu 18.04 上进行了测试,但是对于使用 systemd 的 timesyncd 服务的其他基于 Ubuntu 的系统它们是相同的。 在 Ubuntu 上设置时间同步 通常,我们在安装时设置时区。但是,你可以根据需要更改或设置不同的时区。 首先,让我们使用 date 命令查看 Ubuntu 系统中的当前时区: $ date 示例输出: Tue Jul 30 11 : 47 : 39 UTC 2019 如上所见, date 命令显示实际日期和当前时间。这里,我当前的时区是 UTC,代表协调世界时。 或者,你可以在 /etc/timezone 文件中查找当前时区。 $ cat / etc / timezone UTC 现在,让我们看看时钟是否与互联网同步。只需运行: $ timedatectl 示例输出: Local time : Tue 2019 - 07 - 30 11 : 53 : 58 UTC Universal time : Tue 2019

Linux性能优化实战学习笔记:第四十四讲

梦想的初衷 提交于 2020-05-06 03:19:28
一、上节回顾 上一节,我们学了网络性能优化的几个思路,我先带你简单复习一下。 在优化网络的性能时,你可以结合 Linux 系统的网络协议栈和网络收发流程,然后从应用程序、套接字、传输层、网络层再到链路层等每个层次,进行逐层优化。上一期我们主要 学习了应用程序和套接字的优化思路,比如: 在应用程序中,主要优化 I/O 模型、工作模型以及应用层的网络协议; 在套接字层中,主要优化套接字的缓冲区大小。 今天,我们顺着 TCP/IP 网络模型,继续向下,看看如何从传输层、网络层以及链路层中,优化 Linux 网络性能。 二、网络性能优化-传输层 传输层最重要的是 TCP 和 UDP 协议,所以这儿的优化,其实主要就是对这两种协议的优化。 我们首先来看 TCP 协议的优化。 TCP 提供了面向连接的可靠传输服务。要优化 TCP,我们首先要掌握 TCP 协议的基本原理,比如流量控制、慢启动、拥塞避免、延迟确认以及状态流图(如下图所示)等 关于这些原理的细节,我就不再展开讲解了。如果你还没有完全掌握,建议你先学完这些基本原理后再来优化,而不是囫囵吞枣地乱抄乱试。 掌握这些原理后,你就可以在不破坏 TCP 正常工作的基础上,对它进行优化。下面,我分几类情况详细说明。 第一类 ,在请求数比较大的场景下,你可能会看到大量处于 TIME_WAIT 状态的连接,它们会占用大量内存和端口资源。这时

使用kubeadm 安装 kubernetes 1.15.1

*爱你&永不变心* 提交于 2020-05-05 21:41:34
简介: Kubernetes作为Google开源的容器运行平台,受到了大家的热捧。搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿。kubernetes1.5版本以及之前,安装还是相对比较方便的,官方就有通过yum源在centos7安装kubernetes。但是在kubernetes1.6之后,安装就比较繁琐了,需要证书各种认证,对于刚接触kubernetes的人来说很不友好。 docker : kubernetes依赖的容器运行时 kubelet: kubernetes最核心的agent组件,每个节点都会启动一个,负责像pods及节点的生命周期等管理 kubectl: kubernetes的命令行控制工具,只可以在master上使用. kubeadm: 用来bootstrap kubernetes. 初始化一个k8s集群. 架构说明: 配置host [root@master /]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 18.16.202.163 master 18.16

centos7 使用kubeadm 快速部署 kubernetes 国内源

和自甴很熟 提交于 2020-05-05 20:43:25
前言 搭建kubernetes时看文档以及资料走了很多弯路,so 整理了最后成功安装的过程已做记录。网上的搭建文章总是少一些步骤,想本人这样的小白总是部署不成功(^_^)。 准备两台或两台以上的虚拟机,系统centos7, 本文只准备了两个虚拟机(电脑风扇已转的飞起)。 多注意 红色加粗的 代码以及文字 ------qingfeng 我开始整理这个文章的时候使用的是 kubernetes 1.13, 但是当我发布的时候阿里云的源已经更新到了 kubernetes 1.14 所以我想这个文章笔记对用kubeadm 安装 kubernetes 都会有帮助 过程中碰到的问题可以先查一下文章最后看看有没有碰到同样的问题 基础环境准备 两台机器信息 10.211.55.6 k8s-master 10.211.55.7 k8s-node # 设置hostname 的方法 hostnamectl set-hostname k8s-master # 在 10.211.55.6 上执行 hostnamectl set-hostname k8s-node # 在 10.211.55.7 上执行 hostnamectl --static # 查看设置结果 所有操作无特殊说明都需要在所有节点( k8s-master 和 k8s-node )上执行 关闭防火墙 :: 如果不想启用防火墙

至联云讲解《如何在IPFS中尽快地搜索到内容》

孤街浪徒 提交于 2020-05-05 13:44:17
今天要和大家分享的是一篇技术性比较强的文章,一种在IPFS系统中快速搜索内容的方法。 这里有一个假设:假设希望尝试这个方法的读者已经有了自己搭建的一个IPFS系统并且有多个节点,这些节点都运行在Ubuntu 16操作系统上。 这篇文章适合的读者有下列这些: - 读者希望自己在已搭建的IPFS系统中能快速地搜索内容 - 读者自己搭建的IPFS系统中不仅运行着普通节点还运行了IPFS网关 - 读者自己搭建的IPFS系统中总有节点时不时和其它节点断开或失联 IPFS是一个强大的去中心化文件分发和存储协议,尽管有着强大的功能,但IPFS也有些缺憾,比如它无法保证所有的节点之间总是互联。 这个缺憾就导致即便我们在整个系统刚搭建好时把所有的节点都启动了,这些节点最终有可能互相断开失联,从而使内容搜索的速度变慢。 在这种情况下,当系统使用了网关,并且把用户引导给网关让网关来给用户搜索所需要的内容时就会产生问题-----如果网关不是直接和所有的节点相联,则用户搜索的内容要等很久才能被发现。 如何解决这个问题呢? 第一步:获取节点的“multiAddresses” 在每一个IPFS节点中打开命令行工具,运行下列命令: ipfs id 你会看到类似下面的结果: {"ID": "YourNodeID","PublicKey": "YourPublicKey","Addresses": ["/ip4

在linux下修改环境变量,切换不同版本的python的path

霸气de小男生 提交于 2020-05-05 12:10:30
这个Linux系统下本来装了python2,而且是好几个。还装了anaconda,自带python3。我的目的是想让python环境变量默认使用python3。 查看当前python版本: [liusiyi@localhost ~]$ python --version Python 2.7.5 用which 看一下当前使用的python的路径: [liusiyi@localhost ~]$ which python /usr/bin/python 用whereis 确认所有python路径(但这个不全,因为没有anaconda): [liusiyi@localhost ~]$ whereis python python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz 改用echo $PATH再次确认(这里也没包含anaconda): [liusiyi@localhost ~]$ echo $PATH /appcom/kylin/bin:/appcom/hadoop/bin:/appcom

postgresql 数据库路径迁移

﹥>﹥吖頭↗ 提交于 2020-05-05 09:49:56
迁移方法有两种: (1)重新初始化postgresql数据库,初始化时指定新的数据路径---PGDATA,然后在新的环境下将原有的数据库备份恢复一下。不过这个方法有点麻烦 (2)直接将现有的数据库文件全部拷贝到新的数据库路径下,然后重起数据库服务 第二种方法比较简单,因此,就详细描述一下第二种方法: 1、postgresql安装后,默认的数据库路径是/var/lib/pgsql/9.x/data 2、新建一个路径作为新的数据库数据路径,假如是/home/data sudo mkdir /home/data sudo chown -R postgres:postgres data sudo chmod 700 data 最后这个赋权命令是必须的,不然数据库启动回有问题的 3、文件拷贝, 首先要停止postgresql服务 sudo systemctl stop postgresql sudo su - postgres cp -rf /var/lib/pgsql/9.x/data/* /home/data 4、修改service文件 找到vim /usr/lib/systemd/system/postgresql*.service 修改这个文件中的 Environment=PGDATA=/var/lib/pgsql/9.4/data/ 将其修改为自己的新的数据路径:

Linux性能优化实战学习笔记:第十五讲

北城余情 提交于 2020-05-05 01:14:32
一、内存映射 内存管理也是操作系统最核心的功能之一,内存主要用来存储系统和应用程序的指令、数据、缓存等 1、我们通说的内存指的是物理内存还是虚拟内存? 我们通常说的内存容量,其实这指的是物理内存,物理内存也称为主存,大多数计算机用的主存都是动态随机访问内存(DRAM)。只有内核才可以直接访问物理内存。 那么,进程要访问内存时,该怎么办呢? 2、进程是如何访问内存的? Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。这样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存 3、虚拟内存的内核空间和用户空间分布图 4、进程是如何访问内核空间内存的? 进程在用户态时,只能访问用户内存;只有进入内核态后,才可以访问内核空间内存,虽然每个进程的地址空间都包含了内核空间,但这些内核空间,其实关联的都是想同的物理内存 这样、 进程切换到内核态后,就可以很方便地访问内核空间内存 5、并不是所有的虚拟机内存都会分配物理内存 既然每个进程都有一个这么大的地址空间,那么所有进程的虚拟内存加起来, 自然要比实际的物理内存大得多 所以并不是所有的虚拟机内存都会分配物理内存,只有那些实际使用的虚拟机内存才分配物理内存,并且分配后的物理内存,是通过内存映射来管理的 6、什么是内存映射? 内存映射,其实就是将虚拟内存地址映射到物理内存地址,为了完成内存映射