--昨夜西风凋碧树,独上高楼,望尽天涯路
-
查看
通过 kubectl get node 或者 kubectl get nodes查看节点状况:
kubectl get node -o wide可以查看详细信息:
kubectl get pod查看pod,No resources found表示还没有pod运行:
上面是默认的namespace下的pod,ContainerCreating表示正在创建容器,通过kubectl get pod --all-namespaces 查看所有的namespace下的Pod(STATUS为:Pending、ContainerCreating、ImagePullBackOff都表明Pod没有就绪):
加上-o wide参数之后,会看到更多的信息:
kubectl describe pod <podname> 查看Pod的具体情况,如果查看的不是namespace为default下的Pod,必须加--namespace参数指定namespace,否则都会直接去default下寻找Pod:
-
运行应用
1)命令方式运行应用
kubectl run nginx --image=nginx --replicas=2 部署有两个副本的nginx,镜像为nginx,name为nginx,--replicas指定副本数目
kubectl get deployment命令查看nginx的状态
kubectl describe 来查看更详细的信息(此处的kubectl get pod没有加--namespace所以查到的是default默认namespace下的pod):
根据上面的标红的地方可以看到,在Deployment下又有replicas创建一个nginx-64f497f8fd,之后会在nginx-64f497f8fd这个replicas下创建两个副本nginx-64f497f8fd-c5c2v,nginx-64f497f8fd-gqzgt。
deployment,replicaset,pod的结构如下图。deployment nginx下创建replicaset nginx-64f497f8fd,replicaset nginx-64f497f8fd下创建pod nginx-64f497f8fd-c5c2v,nginx-64f497f8fd-gqzgt:
如下,也可以根据deployment,replicaset,pod范围的不同进行详细查看:
2)配置文件方式启动应用
基于命令的方式启动应用:简单,直观;适合测试或者实验。基于配置文件则是描述了应用的来龙去脉;提供了代码化的模板,以供修改;适合正式环境,规模化的部署。
配置文件采用YAML格式的风格编写
编写一个运行nginx的配置文件:
其中:
apiVersion:表示当前配置格式版本
kind:要创建资源的类型
metadata:Controller元数据,name是必须需要的选项
sepc:是对Controller的规格说明
replicas:指明副本数量
template:定义Pod模板
metadata:Pod元数据,至少定义一个labels。labels下面为键值对,key和value可以随意指定
spec:是对Pod的描述,定义Pod中每一个容器的属性,name和image是必须的
通过kubectl apply 运行应用:
apiVersion是固定的可以根据kubectl api-versions查看:
如果apiVersion不在这个列表中是无法创建的:
Pod已经创建好,执行kubectl delete deployment 或者kubectl delete -f即可删除资源: