小知识:如何在kubernetes中创建Pod

如何创建Pod

      在之前的文章中,我们介绍了容器和Pod的区别和关系。我们知道Pod是k8s调度的最小单位,而一个Pod中可以有多个容器,那么我们如何来定义一个我们自己的Pod呢?

     在k8s中,我们通常使用编写配置文件的方式创建一个Pod,配置文件的格式通常采用yaml格式,(yaml格式如何表示list、key-value键值对,这些知识在前一篇文章中说过了),编写好yaml文件之后,通过下面的办法来启动一个Pod:

kubectl create -f  配置文件

Pod中容器的定义、参数、配置等信息,都在yaml文件中,一个常见的yaml文件内容如下:

apiVersion: v1 kind: Pod metadata :   name: volume-pod spec:   containers :   – name: tomcat     image: tomcat     ports:     – containerPort: 8080     volumeMounts:     – name: app-logs       mountPath: /usr/local/tomcat/logs   – name: busybox     image: busybox     command: [“sh”,”-c”,”tail -f /logs/catalina*.log”]     volumeMounts:     – name: app-logs       mountPath: /logs   volumes:   – name: app-logs     emptyDir: {}

当然,它可能有很多字段,根据你创建的Pod不同,字段可以自己设置。这样一个yaml文件,当我们提交给k8s之后,k8s就会帮助我们创建出来对应的API对象,在这个例子中,我们的对象是一个Pod,(因为yaml文件中的kind字段后面的值是Pod)。当然,还有其他。

到这里,我们已经了解了Pod的创建方法,针对上面的过程,我们再来看2个问题:

第一、kubectl是什么?它可以跟什么命令?

第二、Pod的yaml文件中的字段分别是什么意思?

先来看第一个问题。

kubectl工具

   kubectl工具是一个客户端CLI工具,可以让用户通过命令行的方式来管理k8s集群,这个命令的基本语法是:

kubectl 【command】 【type】 【name】 【flags】 command取值:get、create、delete、describe、get、apply等 type取值,资源对象的类型,可以取pod、deployment等 name取值:资源对象的名称, flags:可选参数,可以通过–help来查看 eg: kubectl create – 通过文件名或控制台输入,创建资源。 kubectl delete – 通过文件名、控制台输入、资源名或者label selector删除资源。 kubectl annotate – 更新资源的注解。 kubectl api-versions – 以“组/版本”的格式输出服务端支持的API版本。 kubectl apply – 通过文件名或控制台输入,对资源进行配置。 kubectl attach – 连接到一个正在运行的容器。 kubectl autoscale – 对replication controller进行自动伸缩。 kubectl cluster-info – 输出集群信息。 kubectl config – 修改kubeconfig配置文件。 kubectl describe – 输出指定的一个/多个资源的详细信息。 kubectl edit – 编辑服务端的资源。 kubectl exec – 在容器内部执行命令。 kubectl expose – 输入replication controller,service或者pod,并将其暴露为新的kubernetes service。 kubectl get – 输出一个/多个资源。 kubectl label – 更新资源的label。 kubectl logs – 输出pod中一个容器的日志。 kubectl namespace -(已停用)设置或查看当前使用的namespace。 kubectl patch – 通过控制台输入更新资源中的字段。 kubectl port-forward – 将本地端口转发到Pod。 kubectl proxy – 为Kubernetes API server启动代理服务器。 kubectl replace – 通过文件名或控制台输入替换资源。 kubectl rolling-update – 对指定的replication controller执行滚动升级。 kubectl run – 在集群中使用指定镜像启动容器。 kubectl scale – 为replication controller设置新的副本数。 kubectl stop – (已停用)通过资源名或控制台输入安全删除资源。 kubectl version – 输出服务端和客户端的版本信息。

    现在我们知道,它是一个命令行工具,常见的操作有上面这么多,可以使用create子命令来创建一个Pod即可。

    后续的其他功能,每次用到的时候,我们再展开说。当然,你可以使用kubectl –help来查看它的说明。

以上就是如何在kubernetes中创建Pod的详细内容,更多关于kubernetes中创建Pod的资料请关注服务器之家其它相关文章!

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:docker上部署MySQL的示例

2023-3-22 17:57:48

建站知识

小知识:kubernetes YAML文件的使用

2023-3-22 18:12:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索