<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>K8S on Learning Notes</title><link>https://nianjiang.github.io/docs/51-k8s/</link><description>Recent content in K8S on Learning Notes</description><generator>Hugo</generator><language>zh</language><atom:link href="https://nianjiang.github.io/docs/51-k8s/index.xml" rel="self" type="application/rss+xml"/><item><title>Codes</title><link>https://nianjiang.github.io/docs/51-k8s/020-Codes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/51-k8s/020-Codes/</guid><description>&lt;h2 id="codes-structure"&gt;
 Codes Structure:
 &lt;a class="anchor" href="#codes-structure"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Command Name for k8s components&lt;/th&gt;
 &lt;th&gt;Cobra Client&lt;/th&gt;
 &lt;th&gt;Real Code&lt;/th&gt;
 &lt;th&gt;Note&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;kube-apiserver&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/cmd/kube-apiserver/apiserver.go"&gt;cmd/kube-apiserver/apiserver.go&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/cmd/kube-apiserver/app/server.go"&gt;cmd/kube-apiserver/app/server.go&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;kubeAPIServer, APIExtensionsServer, AggregatorServer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kube-controller-manager&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/cmd/kube-controller-manager/controller-manager.go"&gt;cmd/kube-controller-manager/controller-manager.go&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/"&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kube-scheduler&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/cmd/kube-scheduler/scheduler.go"&gt;cmd/kube-scheduler/scheduler.go&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/pkg/scheduler/scheduler.go"&gt;pkg/scheduler/scheduler.go&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Etcd&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/"&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/"&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Cloud Controller Manager&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/cmd/cloud-controller-manager/main.go"&gt;cmd/cloud-controller-manager/main.go&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/"&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubelet&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/cmd/kubelet/kubelet.go"&gt;cmd/kubelet/kubelet.go&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/kubelet.go"&gt;pkg/kubelet/kubelet.go&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kube-proxy&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/cmd/kube-proxy/proxy.go"&gt;cmd/kube-proxy/proxy.go&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/service.go"&gt;pkg/proxy/service.go&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;kubectl&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/cmd/kubectl/kubectl.go"&gt;cmd/kubectl/kubectl.go&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/kubernetes/blob/master/"&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="commands"&gt;
 Commands
 &lt;a class="anchor" href="#commands"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;div class="book-tabs"&gt;



&lt;input type="radio" class="toggle" name="tabs-0" id="tabs-0-0" checked="checked" /&gt;
&lt;label for="tabs-0-0"&gt;kube-apiserver &lt;/label&gt;
&lt;div class="book-tabs-content markdown-inner"&gt; 
kube-apiserver &lt;br/&gt;
--advertise-address=172.20.0.2 &lt;br/&gt;
--allow-privileged=true &lt;br/&gt;
--authorization-mode=Node,RBAC &lt;br/&gt;
--client-ca-file=/etc/kubernetes/pki/ca.crt &lt;br/&gt;
--enable-admission-plugins=NodeRestriction &lt;br/&gt;
--enable-bootstrap-token-auth=true &lt;br/&gt;
--etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt &lt;br/&gt;
--etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key --etcd-servers=https://127.0.0.1:2379 &lt;br/&gt;
--kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt &lt;br/&gt;
--kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key &lt;br/&gt;
--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname &lt;br/&gt;
--proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key &lt;br/&gt;
--requestheader-allowed-names=front-proxy-client &lt;br/&gt;
--requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt &lt;br/&gt;
--requestheader-extra-headers-prefix=X-Remote-Extra- &lt;br/&gt;
--requestheader-group-headers=X-Remote-Group &lt;br/&gt;
--requestheader-username-headers=X-Remote-User &lt;br/&gt;
--runtime-config= &lt;br/&gt;
--secure-port=6443 &lt;br/&gt;
--service-account-issuer=https://kubernetes.default.svc.cluster.local &lt;br/&gt;
--service-account-key-file=/etc/kubernetes/pki/sa.pub --service-account-signing-key-file=/etc/kubernetes/pki/sa.key &lt;br/&gt;
--service-cluster-ip-range=10.96.0.0/16 &lt;br/&gt;
--tls-cert-file=/etc/kubernetes/pki/apiserver.crt --tls-private-key-file=/etc/kubernetes/pki/apiserver.key &lt;br/&gt;
&lt;/div&gt;



&lt;input type="radio" class="toggle" name="tabs-0" id="tabs-0-1" /&gt;
&lt;label for="tabs-0-1"&gt;kube-controller-manager &lt;/label&gt;
&lt;div class="book-tabs-content markdown-inner"&gt;
kube-controller-manager &lt;br/&gt;
--allocate-node-cidrs=true &lt;br/&gt;
--authentication-kubeconfig=/etc/kubernetes/controller-manager.conf &lt;br/&gt;
--authorization-kubeconfig=/etc/kubernetes/controller-manager.conf &lt;br/&gt;
--bind-address=127.0.0.1 &lt;br/&gt;
--client-ca-file=/etc/kubernetes/pki/ca.crt &lt;br/&gt;
--cluster-cidr=10.244.0.0/16 &lt;br/&gt;
--cluster-name=kind &lt;br/&gt;
--cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt --cluster-signing-key-file=/etc/kubernetes/pki/ca.key &lt;br/&gt;
--controllers=*,bootstrapsigner,tokencleaner &lt;br/&gt;
--enable-hostpath-provisioner=true &lt;br/&gt;
--kubeconfig=/etc/kubernetes/controller-manager.conf &lt;br/&gt;
--leader-elect=true &lt;br/&gt;
--requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt &lt;br/&gt;
--root-ca-file=/etc/kubernetes/pki/ca.crt &lt;br/&gt;
--service-account-private-key-file=/etc/kubernetes/pki/sa.key &lt;br/&gt;
--service-cluster-ip-range=10.96.0.0/16 &lt;br/&gt;
--use-service-account-credentials=true &lt;br/&gt;
&lt;/div&gt;



&lt;input type="radio" class="toggle" name="tabs-0" id="tabs-0-2" /&gt;
&lt;label for="tabs-0-2"&gt;kube-scheduler&lt;/label&gt;
&lt;div class="book-tabs-content markdown-inner"&gt; 
kube-scheduler &lt;br/&gt;
--authentication-kubeconfig=/etc/kubernetes/scheduler.conf --authorization-kubeconfig=/etc/kubernetes/scheduler.conf &lt;br/&gt;
--bind-address=127.0.0.1 &lt;br/&gt;
--kubeconfig=/etc/kubernetes/scheduler.conf &lt;br/&gt;
--leader-elect=true &lt;br/&gt;
&lt;/div&gt;



&lt;input type="radio" class="toggle" name="tabs-0" id="tabs-0-3" /&gt;
&lt;label for="tabs-0-3"&gt;etcd&lt;/label&gt;
&lt;div class="book-tabs-content markdown-inner"&gt; 
etcd &lt;br/&gt;
--advertise-client-urls=https://172.20.0.2:2379 &lt;br/&gt;
--cert-file=/etc/kubernetes/pki/etcd/server.crt &lt;br/&gt;
--client-cert-auth=true &lt;br/&gt;
--data-dir=/var/lib/etcd &lt;br/&gt;
--experimental-initial-corrupt-check &lt;br/&gt;
&lt;/div&gt;



&lt;input type="radio" class="toggle" name="tabs-0" id="tabs-0-4" /&gt;
&lt;label for="tabs-0-4"&gt;kubelet&lt;/label&gt;
&lt;div class="book-tabs-content markdown-inner"&gt; 
/usr/bin/kubelet &lt;br/&gt;
--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf &lt;br/&gt;
--kubeconfig=/etc/kubernetes/kubelet.conf &lt;br/&gt;
--config=/var/lib/kubelet/config.yaml &lt;br/&gt;
--container-runtime-endpoin &lt;br/&gt;
&lt;/div&gt;



&lt;input type="radio" class="toggle" name="tabs-0" id="tabs-0-5" /&gt;
&lt;label for="tabs-0-5"&gt;kube-proxy&lt;/label&gt;
&lt;div class="book-tabs-content markdown-inner"&gt; 
/usr/local/bin/kube-proxy &lt;br/&gt;
--config=/var/lib/kube-proxy/config.conf &lt;br/&gt;
--hostname-override=kind-control-plane &lt;br/&gt;
&lt;/div&gt;


&lt;/div&gt;

&lt;h2 id="customer-resource-definition-crd"&gt;
 Customer Resource Definition (CRD)
 &lt;a class="anchor" href="#customer-resource-definition-crd"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
 &lt;a href="https://github.com/cloudnativeto/sig-kubernetes/blob/kubernetes-picture-book-v1.0/docs/SUMMARY.md"&gt;Kuberenetes Design&amp;amp;Architecture Pictures &lt;/a&gt;&lt;/p&gt;</description></item><item><title>CRI</title><link>https://nianjiang.github.io/docs/51-k8s/050-CRI/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/51-k8s/050-CRI/</guid><description>&lt;h1 id="cri"&gt;
 CRI
 &lt;a class="anchor" href="#cri"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;h3 id="tools"&gt;
 Tools
 &lt;a class="anchor" href="#tools"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: left"&gt;Name&lt;/th&gt;
 &lt;th style="text-align: left"&gt;Doc&lt;/th&gt;
 &lt;th style="text-align: left"&gt;Github&lt;/th&gt;
 &lt;th style="text-align: left"&gt;Note&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://containerd.io/"&gt;containerd&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://github.com/containerd/containerd/blob/main/docs/getting-started.md"&gt;Docs&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://github.com/containerd/containerd"&gt;Github&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;行业标准的容器运行时，强调简单、健壮和可移植性，可管理容器的完整生命周期。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://github.com/opencontainers/runc"&gt;runc&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://manpages.debian.org/unstable/runc/runc.8.en.html"&gt;Docs&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://github.com/opencontainers/runc"&gt;Github&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;OCI (Open Container Initiative) 规范的命令行客户端，用于根据规范生成和运行容器。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://www.docker.com/"&gt;Docker&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://docs.docker.com/"&gt;Docs&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://github.com/docker"&gt;Github&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;最广为人知的容器平台，提供完整的容器化解决方案，包含构建、分享和运行应用的工具。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://cri-o.io/"&gt;CRI-O&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://cri-o.io"&gt;Docs&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;
 &lt;a href="https://github.com/cri-o/cri-o"&gt;Github&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;一个轻量级的、专门为 Kubernetes 设计的容器运行时，实现了 Kubernetes CRI (Container Runtime Interface) 接口。&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="reference"&gt;
 Reference
 &lt;a class="anchor" href="#reference"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
 &lt;a href="https://kubernetes.io/docs/concepts/architecture/cri/"&gt;CRI&lt;/a&gt;, 
 &lt;a href="https://kubernetes.io/docs/setup/production-environment/container-runtimes/"&gt;Container-Runtimes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;OCI - Open Container Initiative&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://www.aquasec.com/cloud-native-academy/container-security/container-runtime-interface/"&gt;Container Runtime Interface (CRI): Past, Present, and Future&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://github.com/containerd/containerd/blob/main/docs/cri/architecture.md"&gt;containerd - Architecture&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CSI</title><link>https://nianjiang.github.io/docs/51-k8s/060-CSI/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/51-k8s/060-CSI/</guid><description>&lt;h1 id="csi"&gt;
 CSI
 &lt;a class="anchor" href="#csi"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;h2 id="need-read-first"&gt;
 Need Read First
 &lt;a class="anchor" href="#need-read-first"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
 &lt;a href="https://ceph.io/en/users/getting-started/"&gt;https://ceph.io/en/users/getting-started/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="csi-drivers"&gt;
 
 &lt;a href="https://kubernetes-csi.github.io/docs/drivers.html"&gt;CSI Drivers&lt;/a&gt;
 &lt;a class="anchor" href="#csi-drivers"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Name&lt;/th&gt;
 &lt;th&gt;CSI Driver Name&lt;/th&gt;
 &lt;th&gt;Compatible with CSI Version(s)&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;th&gt;Persistence (Beyond Pod Lifetime)&lt;/th&gt;
 &lt;th&gt;Supported Access Modes&lt;/th&gt;
 &lt;th&gt;Dynamic Provisioning&lt;/th&gt;
 &lt;th&gt;Other Features&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/ceph/ceph-csi"&gt;CephFS&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;cephfs.csi.ceph.com&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;v0.3, &amp;gt;=v1.0.0&lt;/td&gt;
 &lt;td&gt;A Container Storage Interface (CSI) Driver for CephFS&lt;/td&gt;
 &lt;td&gt;Persistent&lt;/td&gt;
 &lt;td&gt;Read/Write Multiple Pods&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Expansion, Snapshot, Cloning&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/ceph/ceph-csi"&gt;Ceph RBD&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;rbd.csi.ceph.com&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;v0.3, &amp;gt;=v1.0.0&lt;/td&gt;
 &lt;td&gt;A Container Storage Interface (CSI) Driver for Ceph RBD&lt;/td&gt;
 &lt;td&gt;Persistent&lt;/td&gt;
 &lt;td&gt;Read/Write Single Pod&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Raw Block, Snapshot, Expansion, Topology, Cloning,In-tree plugin migration&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="reference"&gt;
 Reference
 &lt;a class="anchor" href="#reference"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
 &lt;a href="https://kubernetes-csi.github.io/docs/"&gt;CSI-Doc&lt;/a&gt;, 
 &lt;a href="https://github.com/kubernetes-csi/docs"&gt;Github&lt;/a&gt;&lt;/p&gt;</description></item><item><title>CNI</title><link>https://nianjiang.github.io/docs/51-k8s/070-CNI/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/51-k8s/070-CNI/</guid><description>&lt;h1 id="cni"&gt;
 CNI
 &lt;a class="anchor" href="#cni"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;h2 id="reference"&gt;
 Reference
 &lt;a class="anchor" href="#reference"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
 &lt;a href="https://www.cni.dev/"&gt;CNI&lt;/a&gt;, 
 &lt;a href="https://github.com/containernetworking/cni"&gt;CNI-Github&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://github.com/kubernetes/community/tree/master/sig-network"&gt;sig-network&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>eBPF</title><link>https://nianjiang.github.io/docs/51-k8s/071-CNI-eBPF/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/51-k8s/071-CNI-eBPF/</guid><description>&lt;h1 id="ebpf--cilium"&gt;
 eBPF &amp;amp; Cilium
 &lt;a class="anchor" href="#ebpf--cilium"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;
 &lt;a href="https://ebpf.io/"&gt;eBPF&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://cilium.io/"&gt;Cilium&lt;/a&gt;, 
 &lt;a href="https://github.com/cilium"&gt;Github&lt;/a&gt;, 
 &lt;a href="https://cilium.io/enterprise/#trainings"&gt;Trainings&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Security</title><link>https://nianjiang.github.io/docs/51-k8s/080-Security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/51-k8s/080-Security/</guid><description>&lt;h1 id="kubernetes-security"&gt;
 Kubernetes Security
 &lt;a class="anchor" href="#kubernetes-security"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;
 &lt;a href="https://www.anquanke.com/post/id/287522"&gt;https://www.anquanke.com/post/id/287522&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Install</title><link>https://nianjiang.github.io/docs/51-k8s/101-Install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/51-k8s/101-Install/</guid><description>&lt;h3 id="tools"&gt;
 Tools
 &lt;a class="anchor" href="#tools"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tools&lt;/th&gt;
 &lt;th&gt;Doc&lt;/th&gt;
 &lt;th&gt;Github&lt;/th&gt;
 &lt;th&gt;Note&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;
 &lt;a href="https://kubernetes.io/docs/tutorials/hello-minikube/"&gt;minikube&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://minikube.sigs.k8s.io/docs/"&gt;Doc&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes/minikube"&gt;Github&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Run Kubernetes locally&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;
 &lt;a href="https://k3s.io/"&gt;k3s&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://docs.k3s.io/"&gt;Doc&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/k3s-io/k3s/"&gt;Github&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Lightweight Kubernetes. Easy to install, half the memory, all in a binary of less than 100 MB.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;
 &lt;a href="https://kind.sigs.k8s.io/"&gt;kind&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://kind.sigs.k8s.io/"&gt;Doc&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/kubernetes-sigs/kind/"&gt;Github&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Kubernetes IN Docker - local clusters for testing Kubernetes&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
 &lt;a href="https://github.com/kubernetes-sigs/kwok/"&gt;kwok&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#taint"&gt;kubectl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md"&gt;crictl&lt;/a&gt;, 
 &lt;a href="https://docs.podman.io/en/latest/Introduction.html"&gt;podman&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="commands"&gt;
 Commands
 &lt;a class="anchor" href="#commands"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;details &gt;&lt;summary&gt;minikube&lt;/summary&gt;
 &lt;div class="markdown-inner"&gt;
 
 minikube start --kubernetes-version=v1.28.4

 minikube node add

 minikube config view kubernetes-version

 #Open K8s Dashboard
 minikube dashboard
 http://127.0.0.1:56740/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/workloads?namespace=default


 &lt;/div&gt;
&lt;/details&gt;

&lt;details &gt;&lt;summary&gt;kind&lt;/summary&gt;
 &lt;div class="markdown-inner"&gt;
 
 kind create cluster --image=kindest/node:v1.28.0 -n kind2

 kind build node-image /path/to/kubernetes/source --image=kindest/node:v1.28.4

 &lt;/div&gt;
&lt;/details&gt;

&lt;h3 id="reference"&gt;
 Reference
 &lt;a class="anchor" href="#reference"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;
 &lt;a href="https://zhuanlan.zhihu.com/p/594206344"&gt;k0s、MicroK8s、kind、k3s 和 Minikube&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Podman</title><link>https://nianjiang.github.io/docs/51-k8s/103-Podman/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/51-k8s/103-Podman/</guid><description>&lt;h3 id="podman"&gt;
 
 &lt;a href="https://podman.io/"&gt;podman&lt;/a&gt;
 &lt;a class="anchor" href="#podman"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;
 &lt;a href="https://podman.io/get-started"&gt;Get Started&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://podman.io/docs"&gt;Document&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://podman-desktop.io/docs/compose/running-compose"&gt;Compose&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://github.com/containers/"&gt;Github&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="chinese"&gt;
 Chinese
 &lt;a class="anchor" href="#chinese"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;
 &lt;a href="https://podman.org.cn/docs"&gt;podman.org.cn&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="commands"&gt;
 Commands
 &lt;a class="anchor" href="#commands"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;&lt;details &gt;&lt;summary&gt;podman commands&lt;/summary&gt;
 &lt;div class="markdown-inner"&gt;
 
podman run --rm hello

podman run --rm m.daocloud.io/docker.io/library/hello-world

 &lt;/div&gt;
&lt;/details&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id="reference"&gt;
 Reference
 &lt;a class="anchor" href="#reference"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;
 &lt;a href="https://quay.io/search?q=mysql"&gt;Quay.io&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Docker</title><link>https://nianjiang.github.io/docs/51-k8s/104-docker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/51-k8s/104-docker/</guid><description>&lt;h1 id="tools-dockercontainerd"&gt;
 Tools (docker/containerd/&amp;hellip;)
 &lt;a class="anchor" href="#tools-dockercontainerd"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;h2 id="install-toolsconfigurations"&gt;
 Install Tools/Configurations
 &lt;a class="anchor" href="#install-toolsconfigurations"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;h3 id="the-mirrors-for-docker-images"&gt;
 
 &lt;a href="https://www.cnblogs.com/wubolive/p/17317586.html"&gt;The mirrors for Docker images&lt;/a&gt;
 &lt;a class="anchor" href="#the-mirrors-for-docker-images"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;&lt;details &gt;&lt;summary&gt;m.daocloud.io&lt;/summary&gt;
 &lt;div class="markdown-inner"&gt;
 
DaoCloud
源站：docker pull k8s.gcr.io/metrics-server/metrics-server:v0.6.1
改为：docker pull m.daocloud.io/k8s.gcr.io/metrics-server/metrics-server:v0.6.1

 &lt;/div&gt;
&lt;/details&gt;


&lt;details &gt;&lt;summary&gt;kubeadm config images list&lt;/summary&gt;
 &lt;div class="markdown-inner"&gt;
 

docker pull m.daocloud.io/registry.k8s.io/kube-apiserver:v1.28.4
docker pull m.daocloud.io/registry.k8s.io/kube-controller-manager:v1.28.4
docker pull m.daocloud.io/registry.k8s.io/kube-scheduler:v1.28.4
docker pull m.daocloud.io/registry.k8s.io/kube-proxy:v1.28.4
docker pull m.daocloud.io/registry.k8s.io/pause:3.9
docker pull m.daocloud.io/registry.k8s.io/etcd:3.5.9-0
docker pull m.daocloud.io/registry.k8s.io/coredns/coredns:v1.10.1

docker tag m.daocloud.io/registry.k8s.io/kube-apiserver:v1.28.4 registry.k8s.io/kube-apiserver:v1.28.4
docker tag m.daocloud.io/registry.k8s.io/kube-controller-manager:v1.28.4 registry.k8s.io/kube-controller-manager:v1.28.4
docker tag m.daocloud.io/registry.k8s.io/kube-scheduler:v1.28.4 registry.k8s.io/kube-scheduler:v1.28.4 
docker tag m.daocloud.io/registry.k8s.io/kube-proxy:v1.28.4 registry.k8s.io/kube-proxy:v1.28.4
docker tag m.daocloud.io/registry.k8s.io/pause:3.9 registry.k8s.io/pause:3.9
docker tag m.daocloud.io/registry.k8s.io/etcd:3.5.9-0 registry.k8s.io/etcd:3.5.9-0
docker tag m.daocloud.io/registry.k8s.io/coredns/coredns:v1.10.1 registry.k8s.io/coredns/coredns:v1.10.1

 &lt;/div&gt;
&lt;/details&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;
 &lt;a href="https://github.com/DaoCloud/public-image-mirror"&gt;DaoCloud&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>