查看docker运行状态_docker商业版受限?请了解下crio
Talk is cheap in Open Source, ?show me the way to achieve!
--大魏
關于CRI-O前世今生:
CRIO對于企業而言,最大的好處了消除了docker守護進行的單點故障。
接下來,本文驗證下docker和CRIO在進程停止情況下容器的表現。
在RHEL7.8上運行docker 13.1.
[root@repo ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.8 (Maipo)
[root@repo ~]# docker version
Client:
?Version:? ? ? ? ?1.13.1
?API version:? ? ?1.26
?Package version: docker-1.13.1-161.git64e9980.el7_8.x86_64
?Go version:? ? ? go1.10.3
?Git commit:? ? ? 64e9980/1.13.1
?Built:? ? ? ? ? ?Tue Mar? 3 09:15:29 2020
?OS/Arch:? ? ? ? ?linux/amd64
Server:
?Version:? ? ? ? ?1.13.1
?API version:? ? ?1.26 (minimum version 1.12)
?Package version: docker-1.13.1-161.git64e9980.el7_8.x86_64
?Go version:? ? ? go1.10.3
?Git commit:? ? ? 64e9980/1.13.1
?Built:? ? ? ? ? ?Tue Mar? 3 09:15:29 2020
?OS/Arch:? ? ? ? ?linux/amd64
?Experimental:? ? false
docker處于運行狀態:
這個版本的docker已經包含了containerd:
[root@repo ~]# systemctl status docker |grep -i containerd
? ? ? ? ? ?├─3027 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc --runtime-args --systemd-cgroup=true
? ? ? ? ? ?└─3149 /usr/bin/docker-containerd-shim-current b076f2741f964d0c691f308e53b2096d98abb1aef44c134963eff6209fbb8c60 /var/run/docker/libcontainerd/b076f2741f964d0c691f308e53b2096d98abb1aef44c134963eff6209fbb8c60 /usr/libexec/docker/docker-runc-current
其架構圖是:
我通過docker運行一個gogs容器:
[root@repo ~]# docker ps
CONTAINER ID? ? ? ? IMAGE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? COMMAND? ? ? ? ? ? ? ? ? CREATED? ? ? ? ? ? ?STATUS? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NAMES
b076f2741f96? ? ? ? repo.ocp4.example.com:5000/gogs/gogs? ?"/app/gogs/docker/..."? ?8 days ago? ? ? ? ? Up 13 minutes? ? ? ?0.0.0.0:10022->22/tcp, 0.0.0.0:10080->3000/tcp? ?gogs
瀏覽器訪問gogs,正常:
停止docker進程:
[root@repo ~]# systemctl stop docker
[root@repo ~]# systemctl status docker
查看運行的docker容器,已經無法查看:
[root@repo ~]# docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
瀏覽器訪問失敗。
接下來,我使用我安裝好的一套OCP4驗證CRIO。
查看在worker-0上運行的pods,26個:
[centos@lb.weixinyucluster3 ~]$ oc get pods -A -o wide? |grep -i worker-0 |grep -i running |wc -l
26
登錄worker-0,查看crio進程狀態:
關閉crio進程:
[root@worker-0 ~]# systemctl stop crio
查看運行在worker-0上的pod數量,依然是26個:
[centos@lb.weixinyucluster3 ~]$ oc get pods -A -o wide? |grep -i worker-0 |grep -i running |wc -l
26
啟動worker-0節點上的crio,查看其版本:
[root@worker-0 ~]# systemctl start crio
接下來,看一下如何運維CIR-O。主要使用podman。
Podman曾經是CRI-O項目中的一部分,后來被分離出成為一個獨立項目,libpod.Podman(Pod Manager)的目標是提供一個跟Docker相似體驗的容器CLI,提供給使用者創立和運行容器。podman不需要守護程序,利用用戶命名空間模擬容器中的 root,所以 Podman 不需要接入具有 root 權限的 socket。除了podman外,還有buildah和skopeo兩個輔助工具。- buildah實現的是dockerfile的腳本化執行。
- podman對標的是docker命令的代替。
想更多關注OCP和云原生?請關注書籍:
參考:https://lwn.net/Articles/741897/https://xuxinkun.github.io/2017/12/12/docker-oci-runc-and-kubernetes/http://crunchtools.com/competition-heats-up-between-cri-o-and-containerd-actually-thats-not-a-thing/https://yq.aliyun.com/articles/66626https://blog.csdn.net/u013812710/article/details/79001463https://www.yangcs.net/posts/cri-o/總結
以上是生活随笔為你收集整理的查看docker运行状态_docker商业版受限?请了解下crio的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ifconfig命令找不到_Linux基
- 下一篇: 判断两个list集合里的对象某个属性值是