微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

|NO.Z.00124|——————————|CloudNative|——|KuberNetes&基础标签.V07|------------------------------------------



[CloudNative:KuberNetes&基础标签.V07]                                                               [Applications.KuberNetes][|DevOps|k8s基础|yaml文件详解|yaml实验示例|使用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.            // 删除之后就没有了








===============================END===============================


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



来自为知笔记(Wiz)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐