当前位置:   首页安装配置资源创建:如何在kubernetes中创建Pod

资源创建:如何在kubernetes中创建Pod

发布日期:2021-04-27 18:48 | 文章来源:源码中国

如何创建Pod?

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

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

kubectlcreate-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:
kubectlcreate–通过文件名或控制台输入,创建资源。
kubectldelete–通过文件名、控制台输入、资源名或者label selector删除资源。
kubectl annotate –更新资源的注解。
kubectlapi-versions–以“组/版本”的格式输出服务端支持的API版本。
kubectlapply–通过文件名或控制台输入,对资源进行配置。
kubectl attach –连接到一个正在运行的容器。
kubectlautoscale–对replicationcontroller进行自动伸缩。
kubectl cluster-info –输出集群信息。
kubectl config –修改kubeconfig配置文件。
kubectldescribe–输出指定的一个/多个资源的详细信息。
kubectl edit –编辑服务端的资源。
kubectl exec –在容器内部执行命令。
kubectlexpose–输入replicationcontroller,service或者pod,并将其暴露为新的kubernetes service。
kubectlget–输出一个/多个资源。
kubectl label –更新资源的label。
kubectllogs–输出pod中一个容器的日志。
kubectl namespace -(已停用)设置或查看当前使用的namespace。
kubectlpatch–通过控制台输入更新资源中的字段。
kubectl port-forward –将本地端口转发到Pod。
kubectlproxy–为KubernetesAPIserver启动代理主机。
kubectlreplace–通过文件名或控制台输入替换资源。
kubectlrolling-update–对指定的replicationcontroller执行滚动升级。
kubectl run –在集群中使用指定镜像启动容器。
kubectlscale–为replicationcontroller设置新的副本数。
kubectlstop–(已停用)通过资源名或控制台输入安全删除资源。
kubectlversion–输出服务端和客户端的版本信息。

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

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

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

联系我们
关于使用场景和技术架构的更多咨询,请联系我们的销售和技术支持团队。
Yingsoo Host

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部