k3s 搭建与部署

Server 配置

/etc/rancher/k3s

自动部署清单

/var/lib/rancher/k3s/server/manifests

包括 coredns、traefik、local-storage 和 metrics-server。嵌入式 servicelb LoadBalancer controller 没有清单文件,但由于历史原因,它可以像 AddOn 一样被禁用。

kubectl create 和 kubectl apply 的区别?

kubectl create 和 kubectl apply 是两个在使用 Kubernetes 命令行工具 kubectl 时常用到的命令,它们用于在 Kubernetes 集群中创建资源对象,但在使用方式和行为上有一些区别。

主要的区别如下:

创建新资源 vs 更新已有资源: kubectl create 用于在 Kubernetes 集群中创建新的资源对象,而 kubectl apply 则用于创建新资源对象或者更新已有资源对象。kubectl create 只能用于创建新资源对象,如果要更新一个已经存在的资源对象,需要先删除该对象,然后再使用 kubectl create 创建新的对象。而 kubectl apply 则可以根据当前集群中的状态来决定是创建新资源还是更新已有资源。

资源对象定义的来源: kubectl create 的资源对象定义通常是通过命令行参数或者文件中直接指定的,例如 kubectl create -f file.yaml。而 kubectl apply 的资源对象定义通常是通过文件中指定的,例如 kubectl apply -f file.yaml。这意味着 kubectl create 的资源对象定义通常需要在命令行中直接指定,而 kubectl apply 的资源对象定义通常可以通过文件来管理,更加灵活。

对已存在资源的行为: 当使用 kubectl create 创建一个已存在的资源对象时,会出现错误并提示资源已经存在。而当使用 kubectl apply 更新一个已存在的资源对象时,会根据资源的定义进行更新,而不会报错。

默认行为: kubectl apply 默认会启用资源的部分更新(patch)功能,即只更新需要更新的字段,而不会修改其它字段的值。而 kubectl create 则没有部分更新的功能,只能用于创建全新的资源对象。

资源版本控制: kubectl apply 可以使用 --prune 和 --prune-whitelist 参数来执行资源对象的版本控制,可以控制保留哪些版本的资源对象。而 kubectl create 则没有版本控制的功能。

综上所述,kubectl create 适合用于创建全新的资源对象,而 kubectl apply 则适合用于创建新资源对象或更新已有资源对象,并且更加灵活和具有版本控制的功能。在实际使用中,可以根据实际需求和场景选择合适的命令来创建和管理 Kubernetes 资源对象。

查看目录

kubectl get deployment kubernetes-dashboard -n kubernetes-dashboard -o yaml
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章