zoukankan      html  css  js  c++  java
  • K8s 命令基础

    K8s 命令基础

    Namespace

    创建:

    • kubectl create namespace xiaoqu
    • kubectl apply -f namespace.yaml

    namespace.yaml

    apiVersion: v1
    kind: Namespace
    metadata:
      name: xiaoqu
    

    注意

    • 命名空间名称满足正则表达式a-z0-9?,最大长度为63位

    删除

    • kubectl delete namespace xiaoqu

    获取所有namesapce

    • kubectl get namespaces

    注意

    • 删除一个namespace会自动删除所有属于该namespace的资源。
    • default和kube-system命名空间不可删除。

    Deployments

    管理pod的扩容和收缩。pod的生死归Deployments管。

    • 如果删除service,deployments依旧会存在,并且pod也依旧存在。
    • 如果删除pod,deployments依旧存在,并且会去创建新的pod, service 依旧存在。
    • 如果删除deployments,pod会被删除,

    services

    services 本质上是通过pod的上的label selector 对一组pod进行汇总,路由分发,负载均衡等操作。

    pod

    注意

    通过yaml创建的pod 不可通过修改yaml,修改pod的属性,只能删除pod,然后再去apply yaml 创建新的。

    扩容回滚等常用命令

    ## 扩容
    kubectl scale deployment nginx-deployment --replicas 10
    ## 自动拓展
    kubectl autoscale deployment nginx-deployment --min=10 --max=15 --cpu-percent=80
    ## 更新镜像 还可以更新其他东西比如ENV, 
    kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1
    ## 回滚 可通过 --to-revision 指定版本
    kubectl rollout undo deployment/nginx-deployment
    ## 查看版本记录
    kubectl rollout history deployment
    ## 获取pods带着label
    kubectl get pods --show-labels
    ## 获取运行着的service的yaml
    kubectl get service hello-kube -o yaml
    ## pod 更新策略
    kubectl get rs
    

    常用yaml模版

    service

    apiVersion: v1
    kind: Service
    metadata:
      name: hello-kube-d
    spec:
      type: NodePort
      ports:
      - port: 80
        targetPort: 8080
      selector:
        app: hello-kube-d
    

    deployments

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: hello-kube-d
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: hello-kube-d
      template:
        metadata:
          labels:
            app: hello-kube-d
        spec:
          containers:
          - name: hello-kube-d
            image: paulbouwer/hello-kubernetes:1.8
            ports:
            - containerPort: 8080
            env:
            - name: MESSAGE
              value: hello-kube-d
    

    pods

    apiVersion: v1
    kind: Pod
    metadata:
      name: hello-kube
    spec:
      hostNetwork: true
      containers:
      - name: hello-kube
        image: paulbouwer/hello-kubernetes:1.8
        ports:
        - containerPort: 8080
        env:
        - name: MESSAGE
          value: "hello-kube"
    

    namespaces

    apiVersion: v1
    kind: Namespace
    metadata:
      name: xiaoqu
    

    configMap

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: hello-kube-config
      labels:
        name: hello
    data:
      MESSAGE: "message"
      name: "hello"
    
  • 相关阅读:
    5_添加购物车 View+Con
    5_添加购物车 B+M
    5_添加购物车 D
    登录注册V
    bootstrap-标题
    h5整理--详解css的相对定位和绝对定位
    各大门户网站的css初始化代码
    九月二十八JS验证
    js函数和运算符
    4.1原始表达式 9/16
  • 原文地址:https://www.cnblogs.com/qulianqing/p/13404218.html
Copyright © 2011-2022 走看看