精华内容
下载资源
问答
  • k8s创建命名空间命令
    千次阅读
    2022-01-17 00:25:10

    K8s系列之:命名空间Namespace

    Namespace在很多情况下用于实现多租户的资源隔离。Namespace通过将集群内部的资源对象分配到不同的Namespace中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。

    K8s集群在启动后,会创建一个名为"default"的Namespace,通过kubectl可以查看到:

    kubectl get namespaces
    NAME          LABELS     STATUS
    default       <none>     Active
    

    如果不指明Namespace,则用户创建的Pod、RC、Service都将被系统创建到这个默认的名为default的Namespace中。

    定义名为development的Namespace

    apiVersion: v1
    kind: Namespace
    metadata:
      name: development
    

    创建了Namespace,创建资源对象时就可以指定这个资源对象属于哪个Namespace。定义了一个名为busybox的Pod,放入development这个Namespace里。

    apiVersion: v1
    kind: Pod
    metadata:
      name: busybox
      namespace: development
    spec:
      containers:
      - ima
    更多相关内容
  • k8s实践(5)k8s命名空间Namespace

    千次阅读 2020-05-12 17:46:08
    在一个Kubernetes集群中可以拥有多个命名空间,它们在逻辑上彼此隔离。 他们可以为您和您的团队提供组织,安全甚至性能方面的帮助! “default” Namespace 大多数的Kubernetes中的集群默认会有一个叫default的...

    一、什么是Namespace?



    你可以认为namespaces是你kubernetes集群中的虚拟化集群。在一个Kubernetes集群中可以拥有多个命名空间,它们在逻辑上彼此隔离。 他们可以为您和您的团队提供组织,安全甚至性能方面的帮助!

    “default” Namespace
    大多数的Kubernetes中的集群默认会有一个叫default的namespace。实际上,应该是3个:

    default:你的service和app默认被创建于此。
    kube-system:kubernetes系统组件使用。
    kube-public:公共资源使用。但实际上现在并不常用。
    这个默认(default)的namespace并没什么特别,但你不能删除它。这很适合刚刚开始使用kubernetes和一些小的产品系统。但不建议应用于大型生产系统。因为,这种复杂系统中,团队会非常容易意外地或者无意识地重写或者中断其他服务service。相反,请创建多个命名空间来把你的服务service分割成更容易管理的块。

    命名空间主要有两个方面的作用:  k8s命名空间主要用于隔离集群资源、隔离容器等,为集群提供了一种虚拟隔离的策略;

    1. 资源隔离:可为不同的团队/用户(或项目)提供虚拟的集群空间,共享同一个Kubernetes集群的资源。比如可以为团队A创建一个Namespace ns-a,团队A的项目都部署运行在 ns-a 中,团队B创建另一个Namespace ns-b,其项目都部署运行在 ns-b 中,或者为开发、测试、生产环境创建不同的Namespace,以做到彼此之间相互隔离,互不影响。我们可以使用 ResourceQuota 与 Resource LimitRange 来指定与限制 各个namesapce的资源分配与使用
    2. 权限控制:可以指定某个namespace哪些用户可以访问,哪些用户不能访问

    二、Namespace查看和创建


     1、查看namesapce

    kubectl get namespaces
    kubectl get namesapce
    kubectl get ns               # 三个操作等效
    kubectl get ns --show-labels # 显示namespace的label

    可以使用 kubectl describe 命令来查看某个namespace的概要信息

    2、创建namespace

    不要害怕创建namespace。它不会降低服务的性能,反而大多情况下会提升你的工作效率。
    创建namespace只需一个很简单的命令,例如,创建一个名字为:test的namespace,执行:
    kubectl create namespace test
    或者使用yaml文件,然后执行kubectl apply -f test.yaml

     #test.yaml:

     kind: Namespace
       apiVersion: v1
       metadata:
          name: test
       labels:
          name: test

    查看namespace:kubectl get namespace

    会看到test和其他系统默认的命名空间。

    三、在namespace中创建资源


    如下是一个简单的 Pod YAML文件:

    apiVersion: v1
    kind: Pod
    metadata:
      name: mypod
      labels:
        name: mypod
    spec:
      containers:
      - name: mypod
        image: nginx

    你会发现没有提到namespace。如果你通过命令kubectl apply 来创建pod,它会在当前的命名空间中创建pod。这个命名空间就是defaut,除非你更改过。
    有2种方法来指定资源的namespace:

    1、kubectl apply -f pod.yaml --namespace=test
    2、在yaml中指定:
    apiVersion: v1
    kind: Pod
    metadata:
      name: mypod
      namespace: test
      labels:
        name: mypod
    spec:
      containers:
      - name: mypod
        image: nginx

    如果你用命令$ kubectl get pods来查看你的pod,你会得到:资源未找到的错误。
    这是因为命令是在当前(default)命名空间中,如果要查看其他namespace资源,你需要指定namespace:

    $ kubectl get pods --namespace=test
    NAME      READY     STATUS    RESTARTS   AGE
    mypod     1/1       Running   0          10s

    但是,这很让人烦,每次都要指定namespace。下面让我们看看如何修正这个“烦恼”。

    四、管理当前激活的namespace


    一开始默认的激活的命名空间是default。因此,当你在其他namespace创建了资源,那么每次使用kubectl命令都要带上namespace将会很痛苦。幸好,神器 kubens 能够解决这个问题。
    当你运行kubens命令,它会高亮当前的namespace:
    要更换到test空间,运行:kubens test
    现在你会看到:

    这是,你所有的命令会在这个namespace下执行:

    $ kubectl get pods
    NAME      READY     STATUS    RESTARTS   AGE
    mypod     1/1       Running   0          10m



    五、跨namespace通信


    1、命名空间彼此是透明的

          命名空间彼此是透明的。但它们并不是绝对相互隔绝但。一个namespace中service可以和另一个namespace中的service通信。这非常有用,比如你团队的一个service要和另外一个团队的service通信,而你们的service都在各自的namespace中。

           我们通常会把mysql,redis,rabbitmq,mongodb这些公用组件放在一个namespace里,或者每个公用组件都有自己的namespace,而你的业务组件会统一放在自己的namespace里,这时就涉及到了跨namespace的数据通讯问题。    
           当你的应用app要访问Kubernetes的service,你可以使用内置的DNS服务发现并把你的app指到Service的名称。然而,你可以在多个namespace中创建同名的service。解决这个问题,就用到 DNS地址的扩展形式。
         在Kubernetes中,Service通过一个DNS模式来暴露endpoint。这个模式类似:
         <Service Name>.<Namespace Name>.svc.cluster.local
          一般情况下,你只需要service的名称,DNS会自动解析到它的全地址。然而,如果你要访问其他namespace中的service,那么你就需要同时使用service名称和namespace名称。例如,你想访问namespace为test中的“database”服务,你可以使用下面的地址:

       database.test
    注意⚠️:如果你创建的namespace的名字正好映射到顶级域名,如 “com” 或者 “org”,然后,你创建的service的名称和一个网站名称一样,如 “google” 或者 “baidu”。那么 Kubernetes会拦截到 “google.com” 或者 “baidu.com”的请求并转发到你的service中。
    当然,这个技术在测试或者代理功能中非常好用。但请慎重!

    如果你不想使namespace相互隔离,你可以使用network policy来解决。当然这是另一个话题。

    2、多namespace的service场景

     

    六、资源限制Resource Quota


    Kubernetes的资源限制一般是以Namespace为单位进行限制为Namespace限额的方式有两种:ResourceQuota和LimitRange

    ResourceQuota 即资源配额,用来限制 namespace 中所有的 Pod 占用的总的资源 request 和 limit 。即限定单个namespace中可使用集群资源的总量,包括两个维度:

    1. 限定某个对象类型(如Pod)可创建对象的总数;
    2. 限定某个对象类型可消耗的计算资源(CPU、内存)与存储资源(存储卷声明)总数

    LimitRange 用来限制 namespace 中 单个Pod 默认资源 request 和 limit。

    如果在 namespace 中为计算资源 CPU 和内存设定了 ResourceQuota,用户在创建对象(Pod、Service等)时,必须指定 requests 和 limits;如果在创建或更新对象时申请的资源与 namespace 的 ResourceQuota 冲突,则 apiserver 会返回 HTTP 状态码 403,以及对应的错误提示信息。当集群中总的容量小于各个 namespace 资源配额的总和时,可能会发生资源争夺,此时 Kubernetes 将按照先到先得的方式分配资源。

    1、对象数量限制

    声明格式为: count/<resource>.<group>, 如下列出各类对象的声明格式

    count/persistentvolumeclaims 
    count/services
    count/secrets
    count/configmaps
    count/replicationcontrollers
    count/deployments.apps
    count/replicasets.apps
    count/statefulsets.apps
    count/jobs.batch
    count/cronjobs.batch
    count/deployments.extensions
    

    2、计算资源限制

    定义CPU、内存请求(requests)、限制(limits)使用的总量,包括

    • limits.cpu:namespace中,所有非终止状态的 Pod 的 CPU 限制 resources.limits.cpu 总和不能超过该值
    • limits.memory:namespace中,所有非终止状态的 Pod 的内存限制 resources.limits.memory 总和不能超过该值
    • requests.cpu:namespace中,所有非终止状态的 Pod 的 CPU 请求 resources.requrest.cpu 总和不能超过该值
    • requests.memory:namespace中,所有非终止状态的 Pod 的 CPU 请求 resources.requests.memory 总和不能超过该值

    3、存储资源限制

    定义存储卷声明请求的存储总量或创建存储卷声明数量的限制,包括

    • requests.storage:namespace中,所有存储卷声明(PersistentVolumeClaim)请求的存储总量不能超过该值
    • persistentvolumeclaims:namespace中,可以创建的存储卷声明的总数不能超过该值
    • <storage-class-name>.storageclass.storage.k8s.io/requests.storage:namespace中,所有与指定存储类(StorageClass)关联的存储卷声明请求的存储总量不能超过该值
    • <storage-class-name>.storageclass.storage.k8s.io/persistentvolumeclaims:namespace中,所有与指定存储类关联的存储卷声明的总数不能超过该值

    除此之外,还可以对本地临时存储资源进行限制定义

    • requests.ephemeral-storage:namespace中,所有 Pod 的本地临时存储(local ephemeral storage)请求的总和不能超过该值
    • limits.ephemeral-storage:namespace中,所有 Pod 的本地临时存储限定的总和不能超过此值

    4、Resource Limit Range

    Resource Quota 是对namespace中总体的资源使用进行限制,Resource Limit Range 则是对具体某个Pod或容器的资源使用进行限制。默认情况下,namespace中Pod或容器的资源消耗是不受限制的,这就可能导致某个容器应用内存泄露耗尽资源影响其它应用的情况。Limit Range可以用来限定namespace内Pod(或容器)可以消耗资源的数量。

    使用LimitRange对象,我们可以:

    1. 限制namespace中每个Pod或容器的最小与最大计算资源
    2. 限制namespace中每个Pod或容器计算资源request、limit之间的比例
    3. 限制namespace中每个存储卷声明(PersistentVolumeClaim)可使用的最小与最大存储空间
    4. 设置namespace中容器默认计算资源的request、limit,并在运行时自动注入到容器中

    如果创建或更新对象(Pod、容器、PersistentVolumeClaim)对资源的请求与LimitRange相冲突,apiserver会返回HTTP状态码403,以及相应的错误提示信息;如果namespace中定义了LimitRange 来限定CPU与内存等计算资源的使用,则用户创建Pod、容器时,必须指定CPU或内存的request与limit,否则将被系统拒绝;当namespace总的limit小于其中Pod、容器的limit之和时,将发生资源争夺,Pod或者容器将不能创建,但不影响已经创建的Pod或容器。

    5、案例

    创建一个测试namespace test-limitrange,创建LimitRange定义文件 lr-test.yaml:

    apiVersion: v1
    kind: LimitRange
    metadata:
      name: lr-test
    spec:
      limits:
      - type: Container       #资源类型
        max:
          cpu: "1"            #限定最大CPU
          memory: "1Gi"       #限定最大内存
        min:
          cpu: "100m"         #限定最小CPU
          memory: "100Mi"     #限定最小内存
        default:
          cpu: "900m"         #默认CPU限定
          memory: "800Mi"     #默认内存限定
        defaultRequest:
          cpu: "200m"         #默认CPU请求
          memory: "200Mi"     #默认内存请求
        maxLimitRequestRatio:
          cpu: 2              #限定CPU limit/request比值最大为2  
          memory: 1.5         #限定内存limit/request比值最大为1.5
      - type: Pod
        max:
          cpu: "2"            #限定Pod最大CPU
          memory: "2Gi"       #限定Pod最大内存
      - type: PersistentVolumeClaim
        max:
          storage: 2Gi        #限定PVC最大的requests.storage
        min:
          storage: 1Gi        #限定PVC最小的requests.storage

     该文件定义了在namespace test-limitrange 中,容器、Pod、PVC的资源限制,在该namesapce中,只有满足如下条件,对象才能创建成功

    • 容器的resources.limits部分CPU必须在100m-1之间,内存必须在100Mi-1Gi之间,否则创建失败
    • 容器的resources.limits部分CPU与resources.requests部分CPU的比值最大为2,memory比值最大为1.5,否则创建失败
    • Pod内所有容器的resources.limits部分CPU总和最大为2,内存总和最大为2Gi,否则创建失败
    • PVC的resources.requests.storage最大为2Gi,最小为1Gi,否则创建失败

    如果容器定义了resources.requests没有定义resources.limits,则LimitRange中的default部分将作为limit注入到容器中;如果容器定义了resources.limits却没有定义resources.requests,则将requests值也设置为limits的值;如果容器两者都没有定义,则使用LimitRange中default作为limits,defaultRequest作为requests值

    七、Namespace的粒度


    通常大家会问:我应该创建多少个namespace?有什么用?什么是真正的可控的块?创建多了吧,碍事;创建少了吧,你还用不上namespace真正的好处。
    我认为,这个答案取决于你的项目或者公司处于什么阶段----从小团队到大公司,各自都有自己的组织结构。根据不同的情况,你可以采用相对的命名空间的策略。

    小团队

    这种场景下,你一般运作5 - 10 个微服务,很容易做到管理这些服务。这种情况下,你将所有的服务创建在default空间中是合理的。当然你可以创建 “production” 和 “development” 两个空间,但一般情况下,你会在你本地机器上的development环境进行测试,例如使用minikube。

    快速增长的团队

    这种场景下,你带领一个快速增长的团队运作 10+个微服务。你将团队分成很多子团队负责各自的微服务。但可能每个人都知道整个系统是如何运行的,因此每次变更越来越难以和其他每个人进行确认,而且每个人每天会在自己本地机器运行这个复杂的全栈系统。这时,有必要针对生产环境和开发环境使用多个集群或者命名空间了。每个团队拥有各自的命名空间,这样更容易进行管理。

    大公司

    在大的公司中,并不是每个人都认识其他人。团队间可能并不清楚各自的机能。微服务间通过service contract(例如gRPC)来通信,并通过service mesh(如istio)来协调通信。
    试图在本地运行整个堆栈是不可能的。 强烈建议使用Kubernetes-aware Continuous Delivery系统(例如,Spinnaker)。
    此时,每个团队肯定需要自己的命名空间。 每个团队甚至可以选择多个名称空间来运行其开发和生产环境。 设置RBAC和ResourceQuotas也是一个好主意。 多个集群开始显得很有意义,但可能不一定是必要的。

    企业

    在这种规模下,有些群体甚至不知道其他群体的存在。 某个组也可能是外部公司,服务之间通过标准文档定义的API来通信。 每个小组都有多个拥有一定数量微服务的团队。 这时使用我上面提到的所有工具是必要的。 人们不应该手工部署服务,同时应该被锁定在他们不拥有的命名空间之外。此时,拥有多个集群以减少配置不当的应用程序导致的爆炸半径,以及简化计费和资源管理可能是有意义的。

    结论


    命名空间可以帮助您组织Kubernetes资源,同时可以提高团队的开发效率。 请继续关注未来的Kubernetes最佳实践剧集,我将向您展示如何锁定命名空间中的资源并为您的群集引入更多安全性和隔离性!

    展开全文
  • k8s常用创建命名空间、pod、service

    千次阅读 2019-01-17 17:48:30
    k8s常用创建命名空间、pod、service 使用 Namespaces Namespace的创建、删除和查看。 创建 (1) 命令行直接创建 $ kubectl create namespace new-namespace (2) 通过文件创建 $ cat my-namespace.yaml api...

    k8s常用创建的命名空间、pod、service

    使用 Namespaces

    Namespace的创建、删除和查看。

    创建

    (1) 命令行直接创建
    $ kubectl create namespace new-namespace
    
    (2) 通过文件创建
    $ cat my-namespace.yaml
    apiVersion: v1
    kind: Namespace
    metadata:
      name: new-namespace
    
    $ kubectl create -f ./my-namespace.yaml
    

    注意:命名空间名称满足正则表达式[a-z0-9]([-a-z0-9]*[a-z0-9])?,最大长度为63位

    删除

    $ kubectl delete namespaces new-namespace

    PV

    hostPath

    hostPath允许挂载Node上的文件系统到Pod里面去。如果Pod需要使用Node上的文件,可以使用hostPath。

    示例

    apiVersion: v1
    kind: Pod
    metadata:
      name: test-pd
    spec:
      containers:
      - image: gcr.io/google_containers/test-webserver
        name: test-container
        volumeMounts:
        - mountPath: /test-pd
          name: test-volume
      volumes:
      - name: test-volume
        hostPath:
          # directory location on host
          path: /data

    实例:

    ---
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: zookeeper-devdata-1
      namespace: injured-dev
    spec:
      capacity:
        storage: 100Gi
      accessModes:
        - ReadWriteOnce
      nfs:
        server: 172.16.207.1
        path: /data/zookeeperdev/zookeeper-datadir-1

     

    展开全文
  • k8s namespace(名称空间)操作查询namespace创建namespace删除namespace 查询namespace 命令kubectl get ns或者kubectl get namespaces 案例: [root@123 ~]# kubectl get namespaces NAME STATUS AGE default ...

    k8s namespace(名称空间)操作

    查询namespace

    命令kubectl get ns或者kubectl get namespaces
    案例:

    [root@123 ~]# kubectl get namespaces
    NAME              STATUS   AGE
    default           Active   3h40m
    kube-node-lease   Active   3h40m
    kube-public       Active   3h40m
    kube-system       Active   3h40m
    

    创建namespace

    命令: kubectl create -f $namespace.yamlkubectl create namespace $namespace
    yaml文件:

    [root@123 ~]# cat test-namespace.yaml 
    apiVersion: v1
    kind: Namespace
    metadata:
      name: test-ns
    

    创建案例:

    #使用yaml创建名称空间
    [root@123 ~]# kubectl create -f test-namespace.yaml
    test-ns created
    [root@123 ~]# kubectl get ns
    NAME              STATUS   AGE
    default           Active   3h45m
    kube-node-lease   Active   3h45m
    kube-public       Active   3h45m
    kube-system       Active   3h45m
    test-ns           Active   18s
    
    # 使用命令创建名称空间
    [root@123 ~]# kubectl create namespace custom-namespace
    custom-namespace created
    [root@123 ~]# kubectl get ns
    NAME               STATUS   AGE
    custom-namespace   Active   11s
    default            Active   3h49m
    kube-node-lease    Active   3h49m
    kube-public        Active   3h49m
    kube-system        Active   3h49m
    test-ns            Active   4m1s
    [root@123 ~]# kubectl describe ns custom-namespace
    Name:         custom-namespace
    Labels:       kubernetes.io/metadata.name=custom-namespace
    Annotations:  <none>
    Status:       Active
    No resource quota.
    No LimitRange resource.
    

    注意:命名空间名称不允许包含点(.)

    删除namespace

    命令:kubectl delete ns $namespace
    案例:

    [root@123 ~]# kubectl get ns
    NAME               STATUS   AGE
    custom-namespace   Active   11s
    default            Active   3h49m
    kube-node-lease    Active   3h49m
    kube-public        Active   3h49m
    kube-system        Active   3h49m
    test-ns            Active   4m1s
    
    [root@123 ~]# kubectl delete ns custom-namespacenamespace
     "custom-namespace" deleted
     
    [root@123 ~]# kubectl get ns
    NAME              STATUS   AGE
    default           Active   3h55m
    kube-node-lease   Active   3h55m
    kube-public       Active   3h55m
    kube-system       Active   3h55m
    test-ns           Active   10m
    

    注意:因为pod等资源是在namespace下创建的,如果namespace删除,那么其中的pod、service等资源也将被同时清除,删除时要慎重

    展开全文
  • k8s 创建删除命名空间--namespace

    万次阅读 2020-04-29 19:18:23
    一、什么是命名空间 Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。...对于只有几到几十个用户的集群,根本不需要创建或考虑命名空间。当需要名称空间提供的功能时,请开始使用它们...
  • K8S中的命名空间

    2022-08-04 16:40:19
    在一个Kubernetes集群中可以拥有多个命名空间,它们在逻辑上彼此隔离。 他们可以为您和您的团队提供组织,安全甚至性能方面的帮助! “default” Namespace 大多数的Kubernetes中的集群默认会有一个叫default的...
  • 通过java 接口 在k8s创建命名空间

    千次阅读 2019-11-01 16:01:34
    1:k8s版本:1.16.1,centos7 服务器 2:导入k8s依赖 <dependency> <groupId>io.kubernetes</groupId> <artifactId>client-java</artifactId> <version...
  • K8S删除zadig命名空间下所有的pod kubectl delete --all pods -n zadig kubectl delete --all deploy -n zadig kubectl delete --all sts -n zadig
  • k8s使用”rbac.authorization.k8s.io” API Group实现授权决策,允许管理员通过Kubernetes API动态配置策略。 也就是说 每个k8s用户调用k8s的api时,都会经过一层角色的权限校验,比如 我当前的用户或者 服务账户...
  • k8s常用命令

    2022-03-04 11:19:33
    创建命名空间命令直接创建:kubectl create namespace test 根据资源清单文件创建:kubectl apply -f 01-create-ns.yaml apiVersion:v1 kind:Namespace metadata: name:test2 删除命名空间 命令...
  • k8s核心概念之命名空间(Namespace)
  • K8S 命名空间

    2020-11-28 18:15:01
    K8S 命名空间 命名空间提供的隔离 命名空间只是将对象(资源)分到不同的组,只允许你对特定命名空间的对象进行操作; 但实际上,命名空间不提供对正在运行的的对象的任何隔离; 一个 namespace 内只允许一个 Pod, 不同...
  • 作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 ... 目录 第1章 什么是名字/命名空间 1.1 kubernetes 命名空间(namespace)是什么?...1.6 K8S资源的创建方式 第2章 名字空间.
  • K8s中如何创建yaml文件

    千次阅读 2021-10-14 20:44:00
    方式一 可以使用dry-run的方式不创建deployment,只生成yaml文件,然后我们根据自己的实际情况去修改yaml... k8s1014.yaml 查看生成的yaml文件: 方式二 从已经创建好的deployment中导出yaml文件,然后再视情况..
  • 顾名思义,Namespace是命名空间的意思,在 Kubernetes 中,“命名空间(Namespace)” 提供一种机制,将同一集群中的资源划分为相互隔离的组。...Kubernetes 会创建四个初始命名空间: 3、使用请求参
  • k8s命令总结

    2021-12-24 10:11:14
    kubectl命令 kubectl [command] [type] [name] [flags] **comand**:指定要对资源执行的操作,例如create、get、delete **type**:指定资源类型,比如deployment、pod、service **name**:指定资源的名称,名称大...
  • K8s常用命令

    2022-05-06 00:24:01
    namespace #创建namespace kubectl apply -f ns-test.yaml apiVersion: v1 ...#k8s中几乎所有的资源都可以通这YAML编排来创建 可以使用kubectl edit 资源类型 资源名编辑资源的YAML语法 kubectl edit na
  • k8s-cka考试题库

    千次阅读 热门讨论 2022-02-22 18:27:08
    做题前先配置k8s自动补齐功能,否则无法TAB补全命令: 登陆管理节点 kubectl --help | grep bash,此步是为了找关键词completion sudo vim /etc/profile 添加source <(kubectl completion bash) 5.保存退出,...
  • vSphere 7 With K8s系列06:创建命名空间 原创李严省虚实之路9月24日 收录于话题 #vSphere with K8s 9个 上一篇文章已经介绍了如何开启vSphere7 with K8s功能,那接下来就是如何使用vSphere7 with K8s。在把K8s...
  • 给用户,只有 命名空间权限用户名为: ...在 test 命名空间创建 role 创建角色: 保存为 执行命令 查看是否创建成功 输出 在 test 命名空间创建 人员角色关系 rolebinding 保存为 执行命令 查看是否创建成功 输出......
  • K8S命名空间

    千次阅读 2020-05-25 22:16:53
    1、简介Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。这些虚拟集群被称为命名空间。2、如何使用命名空间命名空间适用于存在很多跨多个团队或项目的用户的场景。对于只有...
  • k8s创建容器

    千次阅读 2021-08-06 18:00:57
    用于控制k8s集群的命令行工具 kubectl [command] 子命令 [TYPE]资源类型 [NAME] 资源名称 [flags]指定可选标志 不区分单复数 kubectl get node/nodes -o wide #显示详细信息 命名空间 系统命名空间 ...
  • k8s的一些基本命令

    千次阅读 2021-01-17 14:43:19
    kubernetes用到的一些命令kubectl管理工具以及命令基础命令:...create命令:根据文件或者输入来创建资源# 创建Deployment和Service资源kubectl create -f javak8s-deployment.yamlkubectl create -f javak8s-serv...
  • k8s创建service

    千次阅读 2021-12-19 20:59:36
    k8s创建service 在之前已经创建了一个有两个nginx副本数的deployment,如下所示: [root@k8s-node1 mytestyaml]# kubectl get deployment NAME READY UP-TO-DATE AVAILABLE AGE nginx-deployment 2/2 2 2 45m [root@...
  • k8s创建pod以及deploy

    2022-05-23 14:44:28
    k8s创建pod以及deploy
  • k8s命名空间是没有强制隔离性的,访问service时加上.namespace的名称即可。:此选择器将选择特定的名字空间,应将所有 Pod 用作其入站流量来源或出站流量目的地。k8s的Pod是没有隔离行的,任意命名空间下的Pod可以...
  • k8s之常用操作命令

    千次阅读 2022-07-15 10:11:48
    k8s之常用操作命令
  • K8S 创建 Ingress

    千次阅读 2020-11-27 00:12:48
    k8s 自带的组件,实际上 ingress-controller 只是一个统称,用户可以选择不同的 ingress-controller 实现,目前,由 k8s 维护的 ingress-controller 只有google云的 GCE 与 ingress-nginx 两个,其他还有很多第三方...
  • 两种认证方式: 1、CA签名的双向数字证书认证 ... CA签名的双向数字证书认证生成过程如下: 第一步:生成数字证书使用CA证书签名 第二步:配合相关证书的启动 ...第三部:客户端生成自己的...创建名称空间 kubectl ...
  • 最近工作任务就是调用k8s的接口服务,然后也是解决了很多坑目前调用K8s api的方面资料少用的人少,那么就把这些积累的点记下来分享一下,也希望对大家的工作和学习有帮助。 1.api接口访问方式 1.1 授权方式 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,598
精华内容 3,839
关键字:

k8s创建命名空间命令