CentOS7部署阿里巴巴开源的pouch容器管理工具实战
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.安装CentOS7.6操作系统
该过程过于简单,且CentOS 7各个版本之间部署方式几乎雷同,可参考我之前的笔记:"https://www.cnblogs.com/yinzhengjie/p/10181840.html" 生产环境如果你要安装docker的话建议使用CentOS7.2以上版本,如果使用的版本较低可能会出现docker无法启动的情况。
二.安装pouch容器管理工具
1>.查看操作环境
[[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [[email protected] ~]# [[email protected] ~]# uname -r 3.10.0-957.el7.x86_64 [[email protected] ~]# [[email protected] ~]# uname -m x86_64 [[email protected] ~]#
2>.下载阿里的软件源
[[email protected] ~]# wget http://mirrors.aliyun.com/opsx/pouch/centos7.repo -O /etc/yum.repos.d/pouch-centos7.repo --2020-01-13 18:39:37-- http://mirrors.aliyun.com/opsx/pouch/centos7.repo Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 27.221.92.123, 110.249.197.229, 119.167.168.229, ... Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|27.221.92.123|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 403 [application/octet-stream] Saving to: ‘/etc/yum.repos.d/pouch-centos7.repo’ 100%[====================================================================================================================================================================================================================================>] 403 --.-K/s in 0s 2020-01-13 18:39:37 (126 MB/s) - ‘/etc/yum.repos.d/pouch-centos7.repo’ saved [403/403] [[email protected] ~]#
[[email protected] ~]# cat /etc/yum.repos.d/pouch-centos7.repo [pouch-stable] name=Pouch Stable - $basearch baseurl=http://mirrors.aliyun.com/opsx/pouch/linux/centos/7/$basearch/stable enabled=1 gpgcheck=1 gpgkey=http://mirrors.aliyun.com/opsx/pouch/linux/centos/gpg [pouch-test] name=Pouch Test - $basearch baseurl=http://mirrors.aliyun.com/opsx/pouch/linux/centos/7/$basearch/test enabled=0 gpgcheck=1 gpgkey=http://mirrors.aliyun.com/opsx/pouch/linux/centos/gpg [[email protected] ~]# [[email protected] ~]#
3>.通过yum的方式安装pouch
[[email protected] ~]# yum -y install pouch Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.bit.edu.cn * extras: mirror.bit.edu.cn * updates: mirrors.aliyun.com pouch-stable | 2.9 kB 00:00:00 pouch-stable/x86_64/primary_db | 8.0 kB 00:00:00 Resolving Dependencies --> Running transaction check ---> Package pouch.x86_64 0:1.3.0-1.el7 will be installed --> Processing Dependency: pam-devel for package: pouch-1.3.0-1.el7.x86_64 --> Processing Dependency: fuse-libs for package: pouch-1.3.0-1.el7.x86_64 --> Processing Dependency: fuse-devel for package: pouch-1.3.0-1.el7.x86_64 --> Processing Dependency: fuse for package: pouch-1.3.0-1.el7.x86_64 --> Running transaction check ---> Package fuse.x86_64 0:2.9.2-11.el7 will be installed ---> Package fuse-devel.x86_64 0:2.9.2-11.el7 will be installed ---> Package fuse-libs.x86_64 0:2.9.2-11.el7 will be installed ---> Package pam-devel.x86_64 0:1.1.8-22.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================================================================================================================================== Installing: pouch x86_64 1.3.0-1.el7 pouch-stable 44 M Installing for dependencies: fuse x86_64 2.9.2-11.el7 base 86 k fuse-devel x86_64 2.9.2-11.el7 base 37 k fuse-libs x86_64 2.9.2-11.el7 base 93 k pam-devel x86_64 1.1.8-22.el7 base 184 k Transaction Summary ============================================================================================================================================================================================================================================================================== Install 1 Package (+4 Dependent packages) Total download size: 45 M Installed size: 146 M Downloading packages: (1/5): fuse-2.9.2-11.el7.x86_64.rpm | 86 kB 00:00:00 (2/5): fuse-devel-2.9.2-11.el7.x86_64.rpm | 37 kB 00:00:00 (3/5): fuse-libs-2.9.2-11.el7.x86_64.rpm | 93 kB 00:00:00 (4/5): pam-devel-1.1.8-22.el7.x86_64.rpm | 184 kB 00:00:00 warning: /var/cache/yum/x86_64/7/pouch-stable/packages/pouch-1.3.0-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 439ae9ec: NOKEY=========================================================================================== ] 7.0 MB/s | 42 MB 00:00:00 ETA Public key for pouch-1.3.0-1.el7.x86_64.rpm is not installed (5/5): pouch-1.3.0-1.el7.x86_64.rpm | 44 MB 00:00:04 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Total 9.9 MB/s | 45 MB 00:00:04 Retrieving key from http://mirrors.aliyun.com/opsx/pouch/linux/centos/gpg Importing GPG key 0x439AE9EC: Userid : "Pouch Release" Fingerprint: b615 ddd7 90c7 0912 582d dc2d d7ae a5ed 439a e9ec From : http://mirrors.aliyun.com/opsx/pouch/linux/centos/gpg Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : fuse-libs-2.9.2-11.el7.x86_64 1/5 Installing : fuse-devel-2.9.2-11.el7.x86_64 2/5 Installing : fuse-2.9.2-11.el7.x86_64 3/5 Installing : pam-devel-1.1.8-22.el7.x86_64 4/5 Installing : pouch-1.3.0-1.el7.x86_64 5/5 Verifying : pam-devel-1.1.8-22.el7.x86_64 1/5 Verifying : fuse-devel-2.9.2-11.el7.x86_64 2/5 Verifying : fuse-libs-2.9.2-11.el7.x86_64 3/5 Verifying : fuse-2.9.2-11.el7.x86_64 4/5 Verifying : pouch-1.3.0-1.el7.x86_64 5/5 Installed: pouch.x86_64 0:1.3.0-1.el7 Dependency Installed: fuse.x86_64 0:2.9.2-11.el7 fuse-devel.x86_64 0:2.9.2-11.el7 fuse-libs.x86_64 0:2.9.2-11.el7 pam-devel.x86_64 0:1.1.8-22.el7 Complete! [[email protected] ~]#
三.pouch工具的基本使用
1>.启动pouch
[[email protected] ~]# systemctl status pouch ● pouch.service - pouch Loaded: loaded (/usr/lib/systemd/system/pouch.service; disabled; vendor preset: disabled) Active: inactive (dead) [[email protected] ~]# [[email protected] ~]# systemctl start pouch [[email protected] ~]# [[email protected] ~]# systemctl status pouch ● pouch.service - pouch Loaded: loaded (/usr/lib/systemd/system/pouch.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2020-01-13 18:44:21 CST; 2s ago Main PID: 18422 (pouchd) Tasks: 21 Memory: 26.8M CGroup: /system.slice/pouch.service ├─18422 /usr/local/bin/pouchd └─18429 containerd --config /var/lib/pouch/containerd/state/pouch-containerd.toml --log-level info Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.748223865+08:00" level=info msg="loading plugin "io.containerd.grpc.v1.introspection"..." type=io.containerd.grpc.v1 Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.748525272+08:00" level=info msg=serving... address="/run/containerd/debug.sock" Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.748575854+08:00" level=info msg=serving... address="/var/run/containerd.sock" Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.748583031+08:00" level=info msg="containerd successfully booted in 0.008565s" Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.753585443+08:00" level=info msg="success to start containerd" containerd-pid=18429 module=ctrd-supervisord Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.758489799+08:00" level=info msg="success to create 5 containerd clients, connect to: /var/run/containerd.sock" Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.759049076+08:00" level=info msg="Snapshotter is set to be overlayfs" Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.759278316+08:00" level=info msg="invoke pre-start hook in plugin" Jan 13 18:44:21 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:21.605939977+08:00" level=info msg="start to listen to: unix:///var/run/pouchd.sock" Jan 13 18:44:21 docker201.yinzhengjie.org.cn systemd[1]: Started pouch. [[email protected] ~]#
2>.查看pouch的信息
[[email protected] ~]# pouch info #注意观察"Default Runtime"的属性值 Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 ID: Name: docker201.yinzhengjie.org.cn Server Version: 1.3.0 Storage Driver: overlayfs Driver Status: [] Logging Driver: json-file Volume Drivers: [local tmpfs] Cgroup Driver: cgroupfs Default Runtime: runc Runtimes: runc runc:containerd: Security Options: [seccomp selinux] Kernel Version: 3.10.0-957.el7.x86_64 Operating System: "CentOS Linux 7 (Core)" OSType: linux Architecture: amd64 HTTP Proxy: HTTPS Proxy: Registry: https://index.docker.io/v1/ Experimental: false Debug: false Labels: node_ip=192.168.6.201 SN=VMware-56 CPUs: 2 Total Memory: 3.683GiB Pouch Root Dir: /var/lib/pouch LiveRestoreEnabled: true LxcfsEnabled: false CriEnabled: false Daemon Listen Addresses: [unix:///var/run/pouchd.sock] [[email protected] ~]#
3>.查看pouch工具的帮助信息
[[email protected] ~]# pouch --help pouch is a client side tool pouch to interact with daemon side process pouchd. Flags and arguments can be input to do what actually you wish. Then pouch parses the flags and arguments and sends a RESTful request to daemon side pouchd. Usage: pouch [command] Available Commands: checkpoint Manage checkpoint commands commit Commit an image from a container create Create a new container with specified image events Get real time events from the daemon exec Run a command in a running container gen-doc Generate docs help Help about any command history Display history information on image image Manage image images List all images info Display system-wide information inspect Get the detailed information of container load load a set of images from a tar archive or STDIN login Login to a registry logout Logout from a registry logs Print a container's logs network Manage pouch networks pause Pause one or more running containers ps List containers pull Pull an image from registry remount-lxcfs remount lxcfs bind in containers rename Rename a container with newName restart restart one or more containers rm Remove one or more containers rmi Remove one or more images by reference run Create a new container and start it save Save an image to a tar archive or STDOUT start Start one or more created or stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE top Display the running processes of a container unpause Unpause one or more paused container update Update the configurations of a container updatedaemon Update the configurations of pouchd upgrade Upgrade a container with new image and args version Print versions about Pouch CLI and Pouchd volume Manage pouch volumes wait Block until one or more containers stop, then print their exit codes Flags: -D, --debug Switch client log level to DEBUG mode -h, --help help for pouch -H, --host string Specify connecting address of Pouch CLI (default "unix:///var/run/pouchd.sock") --tlscacert string Specify CA file of TLS --tlscert string Specify cert file of TLS --tlskey string Specify key file of TLS --tlsverify Use TLS and verify remote Use "pouch [command] --help" for more information about a command. [[email protected] ~]# [[email protected] ~]#