ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pod概念,部署pod应用

2022-09-03 01:33:52  阅读:210  来源: 互联网

标签:node kubectl get 部署 概念 pod pods 节点


pod概念,部署pod应用

zoukankan      html  css  js  c++  java
  • pod概念,部署pod应用

    一:kubectl工具的使用

    kubectl 是操作k8s的命令行工具,能连接到apiserver上实现k8s中各种资源的增删改查。

    kubectl --help 查看kubectl的帮助命令,有哪些参数,常用的如下:
      get:列举资源信息,如pod,service,deployment等
      kubectl get pods
      kubectl get deployment
      kubectl get service
      describe:列举资源的详细信息
      logs:查看pod输出的日志信息
      edit:编辑服务器上定义的资源
      delete:删除指定的资源
      exec:可以交互式的登录到pod中的容器
      apply:对资源做配置
      explain:显示资源文档信息,可以查看某个资源的具体用法
      run:运行一个pod实例

    如:kubectl run nginx --image=nginx 可以创建一个nginx应用(也就是创建一个pod,这块没太明白。此条命令表示控制器名字叫Nginx、pod的名字是控制器名字+一串随机数字)


    实际创建pod应用都是通过编写资源清单文件进行创建

    1、默认的空间下,是没有任何东西的。需要指定资源空间名称。

    目前没太明白get pods 和 get deployment的区别。

     2、pod相当于我们tomcat容器,我们就可以把应用部署到pod中,所以pod充当的是一个逻辑主机的角色;

    一般来说,用户不应该直接创建Pod,即使创建单个的Pod也应该通过控制器创建。在集群范围内,控制器为Pod提供自愈能
    力,以及副本和部署管理。(控制器指的是deployment吗)

    3、和pod相关的API对象

    kubectl explain pods 可以看到和pod相关的api对象有哪些,也就是通过资源清单部署一个pod时需要哪些字段。

    apiVersion
    apiVersion定义了此对象表示的版本化模式。服务器应将已识别的模式转换为最新的内部
    值,并可能拒绝无法识别的值。更多信息:
    https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
    kind
    Kind是表示此对象表示的REST资源的字符串值。服务器可以从客户端提交请求的端点推断出
    这一点
    metadata
    标准对象的元数据。更多信息:
    https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
    spec
    指定容器的所需行为。更多信息:
    https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-andstatus
    status
    最近观察到了pod的状态。此数据可能不是最新的。由系统填充。只读。更多信息:
    https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-andstatus

    4、通过定义一个pod资源清单yaml创建pod

    查看定义资源清单需要的命令
    kubectl explain pods.apiVersion
    kubectl explain pods.kind
    kubectl explain pods.metadata
    kubectl explain pods.spec

    cat pod.yaml

     kubectl apply -f pod.yaml 通过yaml文件创建一个pod应用,然后查看pod运行情况。

     (5)pod生命周期

    (6)常见的pod状态

    (7)node lable

    (1)查看nodes节点的标签
    kubectl get nodes --show-labels
    (2)给node节点打标签:
    kubectl label nodes node01 node011=haha
    kubectl get nodes --show-labels 在查看一下,显示如下,可以看到node01上有
    node011这个标签了
    (3)节点选择器

      nodeSelector <map[string]string>
        NodeSelector is a selector which must be true for the pod to fit on a node.Selector which must match a node's labels for the pod to be scheduled on
        that node. More info:
    https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
    上面有一个nodeSelector,这个是节点标签选择器,可以限制pod运行在哪个节点上
    kubectl get pods -o wide

     从上面可以看到web运行在node1上,如果我们想要让它运行在master1上,就需要用到节点选择器

    nodeSelector:
    node011: haha #这个node011是我们给node01节点打的标签,在上面已经操作过
    cat pod.yaml 看到完整的文件如下:

     kubectl delete -f pod-demo.yaml

    kubectl create -f pod-demo.yaml
    kubectl get pods -o wide 显示pod-demo运行在node01上了
    如果node01和node02都有node011这个标签,那么nodeSelector则根据调度策略调度pod到相
    应的node节点上
    节点名称
    nodeName:指定pod节点运行在哪个具体node上,不存在调度说法

    补充:1、查看某个pod的具体信息

    2、进到pod下面某个容器内部

     3、

      

  • 相关阅读:
    js中break/continue
    js实现连接的两种放法
    jsdate对象toLocaleString()方法小结
    接口学习小节
    c# 装箱和拆箱
    c#数据类型学习
    return 作用域
    js中break/continue
    ArcGIS Runtime for Android开发教程V2.0(9)基础篇查询检索
    【转】ArcGIS 10.1 地图发布以及缓存管理
  • 原文地址:https://www.cnblogs.com/maowuyu-xb/p/11949891.html
Copyright © 2011-2022 走看看 http://t.zoukankan.com/maowuyu-xb-p-11949891.html

标签:node,kubectl,get,部署,概念,pod,pods,节点
来源: https://www.cnblogs.com/sunny3158/p/16651804.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有