kubernetes对某些主题的一些澄清

我是k8s的新手,我想对以下问题做出一些澄清,请让我知道您的想法

  1. 持久卷声明是否仅限于单个名称空间?
  2. 每个群集可以拥有多少个Pod网络?
  3. 哪个名称空间包含基础结构容器?
  4. 是否所有对象都限于单个名称空间?
  5. 容器是否提供比容器长久的持久性存储?
  6. 我们在k8s中可以使用的最小对象或单元(容器,容器,副本集或部署)是什么?
  7. 部署使用持久卷还是持久卷声明?
  8. 通过部署配置规范,哪种策略(重新创建或滚动更新)允许我们控制对pod的更新?
  9. 我们如何启动对开发和测试有用的本地代理?
  10. Pod可以有多个ip地址吗?
评论
  • pnon
    pnon 回复
    1. A PersistentVolumeClaim (kubectl get pvc) is confined to a Namespace. A PersistentVolume (kubectl get pv) is defined on cluster-level. Each namespace can access the PV which are not "Bound"
    2. You have to install one CNI (Container Network Interface) like calico or flannel. There you will specify a PodNetworkCIDR e.q. 10.20.0.0/16. Then the IPAdressManagement of e.q. Calico will split that network into some smaller networks. Each Kubernetes Node get's his own Network from the 10.20.0.0/16 Network.
    3. If you mean the Kubernetes "Infrastructure" it's mostly deployed to kube-system. To deploy you're own stuff like Monitoring, Logging, Storage you can create your own Namespaces
    4. No not all Objects are bound to a Namespace. With kubectl api-resources you will get an overview.
    5. There are a lot of storagetype (https://kubernetes.io/docs/concepts/storage/volumes/#types-of-volumes). But if you not specify any volumes (PV) which are persistant, your files which are written in a container are gone if the container restarts.
    6. A Pod is the smallest Unit which can be addressed. A Pod could contain multiple container.
    7. A Deployment describes the state of the Pod. It's recommended to use a Deployment. You can start a Pod without a Deployment, but if you delete the Pod it will not be restarted by the Kubelet. (The following command creates a Pod without a Deployment: kubectl run nginx --image=nginx --port=80 --restart=Never)
    8. Exactly, For e.q. a MySQL you would use recreate, for httpd you would use rolling.
    9. What do you mean with local proxy For local development you can have a look at minikube?
    10. No, a Pod has only 1 IP.
  • miste
    miste 回复
    持久卷声明是否仅限于单个名称空间?

    持久卷声明(PVC)绑定到名称空间。 PVC必须存在于同一  使用声明的命名空间作为Pod

    每个群集可以拥有多少个Pod网络?

    默认情况下,每个节点最多110个Pod,Kubernetes会为每个节点分配一个/ 24 CIDR块(256个地址)。

    哪个名称空间包含基础结构容器?

    通常是kube系统

    是否所有对象都限于单个名称空间?

    如果您的意思是“受限”,则意味着所有对象都应放在单个命名空间中,那么答案是否定的。您可以在不同的名称空间中创建对象。

    容器是否提供比容器长久的持久性存储?

    如果您使用PV / PVC,则您的存储必须是持久性的

    1. 我们在k8s中可以使用的最小对象或单元(容器,容器,副本集或部署)是什么?

    Kubernetes容器是一组容器,是Kubernetes管理的最小单元。

    部署使用持久卷还是持久卷声明?

    您可以通过将pvc附加到部署来使用持久卷

    通过部署配置规范,哪种策略(重新创建或滚动更新)允许我们控制对pod的更新?

    重新创建将终止所有正在运行的实例,然后使用较新的版本重新创建它们。滚动更新遵循已定义的策略,该策略将一次关闭并重新创建多少实例。

    我们如何启动对开发和测试有用的本地代理?

    You can use port-forwarding

    Pod可以有多个ip地址吗?

    单个pod具有单个ip地址。详细信息[此处](重新创建将终止所有正在运行的实例,然后使用较新的版本重新创建它们。)