|NO.Z.00124|——————————|CloudNative|——|KuberNetes&基础标签.V07|——|kubernetes.v07|yaml部署容器|

一、使用yaml文件部署容器
### --- 使用yaml创建资源;默认命名空间下
~~~     创建一个资源
~~~     kubectl create:创建一个资源 -f:指定创建资源的文件是谁

[root@k8s-master01 ~]# kubectl create -f pod.yaml                               
pod/nginx created
### --- 查看创建的资源
~~~     处于正在创建过程,可能是在拉取镜像的过程

[root@k8s-master01 ~]# kubectl get po
NAME    READY   STATUS              RESTARTS   AGE
nginx   0/1     ContainerCreating   0          14s  
### --- 查看资源label
~~~     这个label就是我们在yaml文件中定义的,一个nginx,一个frontend。

[root@k8s-master01 ~]# kubectl get po --show-labels
NAME    READY   STATUS              RESTARTS   AGE   LABELS
nginx   0/1     ContainerCreating   0          93s   app=nginx,role=frontend
### --- 创建完成之后,默认是在default命名空间下的,因为在yanml文件下给注释掉了命名空间。

[root@k8s-master01 ~]# kubectl get po
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          5m56s
二、在其它命名空间下创建资源
### --- 创建在其它的命名空间下;创建namespace:kube-public

[root@k8s-master01 ~]# kubectl create ns ns_name
### --- 指定namespace创建资源
~~~     -n指定命名空间

[root@k8s-master01 ~]# kubectl create -f pod.yaml -n kube-public
 pod/nginx created
### --- 查看创建的资源

[root@k8s-master01 ~]# kubectl get po -n kube-public
NAME    READY   STATUS              RESTARTS   AGE
nginx   0/1     ContainerCreating   0          13s
### --- 若是你的Pod在这个命名空间下已经有了,它会报已经存在信息。
~~~     可以使用apply再次运行:(就是你更改yaml文件的一些配置,重新运行容器。

[root@k8s-master01 ~]# kubectl create -f pod.yaml
Error from server (AlreadyExists): error when creating "pod.yaml": pods“nginx” already exists
三、修改配置参数,重新触发容器
### --- 修改配置参数,重新触发容器

[root@k8s-master01 ~]# vim pod.yaml 
apiVersion: v1                              # 必选,API的版本号
kind: Pod                                   # 必选,类型Pod
metadata:                                   # 必选,元数据
  name: nginx                               # 必选,符合RFC 1035规范的Pod名称
#mespace: default                           # 可选,Pod所在的命名空间,不指定默认为default,可以使用-n 指定namespace 
  labels:                                   # 可选,标签选择器,一般用于过滤和区分Pod
    app: nginx
    role: frontend                          # 可以写多个
  annotations:                              # 可选,注释列表,可以写多个
    app: nginx
    version: v2                             # 添加给内容
### --- 重新触发容器
~~~     pod已经被配置

[root@k8s-master01 ~]# kubectl apply -f pod.yaml 
Warning: resource pods/nginx is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically.
pod/nginx configured                        
### --- 查看创建的资源
~~~     在生产环境下很少单独去创建它的,
~~~     我们一般会使用一些高级的资源去管理它Deployment StatefulSet DaemonSet去管理Pod。

[root@k8s-master01 ~]#  kubectl get po
NAME    READY   STATUS    RESTARTS   AGE
nginx   1/1     Running   0          16m
四、查看容器
### --- 查看这个pod的日志

[root@k8s-master01 ~]# kubectl logs -f nginx
五、删除创建的资源
### --- 删除创建的Pod
~~~     所以用Pod去管理的话,业务很难去保证是否正常,
~~~     所以在生产环境中是不会直接用pod去部署我们的应用的,
~~~     一般都会用到更高级的资源:Deployment StatefulSet DaemonSet去管理Pod。

[root@k8s-master01 ~]# kubectl delete po nginx
pod "nginx" deleted
[root@k8s-master01 ~]# kubectl delete po nginx  -n kube-public
pod "nginx" deleted 
[root@k8s-master01 ~]# kubectl get po
No resources found in default namespace.            // 删除之后就没有了

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(17)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示