Kubernetes 我可以为每个用户/公司提供一个K8s吊舱吗?

Kubernetes 我可以为每个用户/公司提供一个K8s吊舱吗?,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,有没有办法让每个用户/每个公司都有一个K8s吊舱?我意识到,每个用户/每个公司的分组将业务级别的语义与基础架构混为一谈,但我说,出于监管等原因,我需要将事情分开。然后,当用户第一次登录时,有没有一种方法可以动态创建一个pod,并保持该pod引用,并将任何进一步的请求路由到相关pod,该pod将承载一组容器,每个容器运行一个模块的实例 这可能吗 如果可能的话,这些标识符是什么 可以在飞行中注入吊舱,我可以用它来确定这是 用户A-POD vs用户B-POD或公司A-POD vs公司B-POD? 实际

有没有办法让每个用户/每个公司都有一个K8s吊舱?我意识到,每个用户/每个公司的分组将业务级别的语义与基础架构混为一谈,但我说,出于监管等原因,我需要将事情分开。然后,当用户第一次登录时,有没有一种方法可以动态创建一个pod,并保持该pod引用,并将任何进一步的请求路由到相关pod,该pod将承载一组容器,每个容器运行一个模块的实例

  • 这可能吗
  • 如果可能的话,这些标识符是什么 可以在飞行中注入吊舱,我可以用它来确定这是 用户A-POD vs用户B-POD或公司A-POD vs公司B-POD? 实际上,我需要一个pod模板来帮助我创建一个副本的相同pod,但它们的唯一不同之处在于它们只服务于一个用户/一家公司的流量

  • 一般来说,如果你想把流量发送到一个特定的pod,比如说从一个你会使用的pod。例如,在服务中使用选择器
    app:usera app

    apiVersion: v1
    kind: Service
    metadata:
      name: usera-service
    spec:
      selector:
        app: usera-app
      ports:
        - protocol: TCP
          port: 80
          targetPort: 80
    
    然后使用标签
    app:usera-app
    ,说出是否为您的播客设置了:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: usera-deployment
    spec:
      selector:
        matchLabels:
          app: usera-app
      replicas: 2
      template:
        metadata:
          labels:
            app: usera-app
        spec:
          containers:
          - name: myservice
            image: nginx
            ports:
            - containerPort: 80
    
    更多信息

    如何分配吊舱和部署取决于您以及您可能使用的任何配置。如果您想强制在部署/吊舱中创建一些标签,可以查看

    如果您正在寻找促进所有这些的项目,您可以看看:

    • 这是Kubernetes入学申请的实施。(截至撰写本文时仍为字母)
    可以帮助您实现认证和准入机制的其他工具(必须针对标签进行调整):


    是的,您可以使用名称空间为每个用户创建多个虚拟集群

    名称空间是在用户之间划分集群的方式