dockerとcri-o


これまで、クバーネディスの役割はパイプ弦用ドックで作られたコンテナだった.
でも…?
https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/
2020年12月、kubernetesブログに記事が掲載されました.
kubernetes v1.20からドッキングはサポートされていません
...?
それはいったい私にどうすればいいのか.
コンテナ=Dockerという概念を持っていた私にはちょっと崩れていました
調べてみましたが、dockerの他にcri-o、rkt、containerなどのdockerがあるほか、コンテナを扱うことができる運転時もあります.
私が今主に使っているv 117では大きな問題はありませんが、近いうちにバージョン業への要望があるので、了解することにしました.
cri-o
初めてcrioに触れたのはkindというツールを勉強していました.
kindを使用してクラスタを作成すると、次の状態になります.
$ ./kind create cluster
Creating cluster "kind" ...
 ✓ Ensuring node image (kindest/node:v1.21.1) 🖼
 ✓ Preparing nodes 📦
 ✓ Writing configuration 📜
 ✓ Starting control-plane 🕹️
 ✓ Installing CNI 🔌
 ✓ Installing StorageClass 💾
Set kubectl context to "kind-kind"
You can now use your cluster with:

kubectl cluster-info --context kind-kind

Have a question, bug, or feature request? Let us know! https://kind.sigs.k8s.io/#community 🙂

$ kubectl get pod -A
NAMESPACE            NAME                                         READY   STATUS    RESTARTS   AGE
kube-system          coredns-558bd4d5db-ttnwr                     1/1     Running   0          3m46s
kube-system          coredns-558bd4d5db-xzxhr                     1/1     Running   0          3m46s
kube-system          etcd-kind-control-plane                      1/1     Running   0          3m36s
kube-system          kindnet-w8g4p                                1/1     Running   0          3m36s
kube-system          kube-apiserver-kind-control-plane            1/1     Running   1          4m2s
kube-system          kube-controller-manager-kind-control-plane   1/1     Running   0          3m36s
kube-system          kube-proxy-842ks                             1/1     Running   0          3m47s
kube-system          kube-scheduler-kind-control-plane            1/1     Running   0          3m36s
local-path-storage   local-path-provisioner-547f784dff-b7tlb      1/1     Running   0          3m33s
自動インストールストレージクラス、CNI、個蜜
しかしこれだけpodがあるにもかかわらずdocker psをすると1つのノードだけが浮いていることがわかります.
$ docker ps
CONTAINER ID   IMAGE                  COMMAND                  CREATED
STATUS          PORTS                       NAMES
189162605e30   kindest/node:v1.21.1   "/usr/local/bin/entr…"   45 minutes ago   Up 44 seconds   127.0.0.1:43743->6443/tcp   kind-control-plane
駆動podのコンテナを表示するには、そのノードのコンテナでcrictlを使用してクエリーする必要があります.
$ docker exec -it kind-control-plane crictl ps
CONTAINER           IMAGE               CREATED             STATE               NAME                      ATTEMPT             POD ID
9dabfbdf472c0       296a6d5035e2d       5 minutes ago       Running             coredns                   0                   8028d59d21673
729ffb40c0358       e422121c9c5f9       5 minutes ago       Running             local-path-provisioner    0                   90e0407ca8b38
31eeb718ae47c       296a6d5035e2d       5 minutes ago       Running             coredns                   0                   c65a04678b516
149218f6762db       6de166512aa22       6 minutes ago       Running             kindnet-cni               0                   1ede59e4129b1
f0bb49391d4ea       0e124fb3c695b       6 minutes ago       Running             kube-proxy                0                   550f19109c02f
091c72edc21a2       0369cf4303ffd       7 minutes ago       Running             etcd                      0                   edbb8bf484be5
37a1cb490cef7       94ffe308aeff9       8 minutes ago       Running             kube-apiserver            1                   36b670492e4d5
9f3c2bf4ef328       96a295389d472       8 minutes ago       Running             kube-controller-manager   0                   be60a6e9ff727
874d170cf360d       1248d2d503d37       9 minutes ago       Running             kube-scheduler            0                   54b0ae1fad891
crimtimeは別の画像内にクバーネディスが設定されているようです.