Kubernetes----Kubernetes中通过声明式对象配置的方式管理对象

简介: Kubernetes----Kubernetes中通过声明式对象配置的方式管理对象

【原文链接】

一、创建对象

编辑deployment.yaml文件,内容如下:

apiVersion: v1
kind: Namespace
metadata:
  name: dev
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  namespace: dev
spec:
  replicas: 3
  selector:
    matchLabels:
      run: nginx
  template:
    metadata:
      labels:
        run: nginx
    spec:
      containers:
      - image: nginx:1.17.3
        name: nginx
        ports:
        - containerPort: 80
          protocol: TCP

使用如下命令创建对象

[root@master object_manage]# kubectl apply -f deployment.yaml
namespace/dev created
deployment.apps/nginx created
[root@master object_manage]#

二、查看对象

使用如下命令即可查看创建的对象

[root@master object_manage]# kubectl get -f deployment.yaml
NAME            STATUS   AGE
namespace/dev   Active   55s

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx   3/3     3            3           55s
[root@master object_manage]#

三、更新对象

更新deployment.yaml文件,将副本数修改为1,同时将nginx的镜像的tag降为1.17.1,如下:

apiVersion: v1
kind: Namespace
metadata:
  name: dev
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  namespace: dev
spec:
  replicas: 1
  selector:
    matchLabels:
      run: nginx
  template:
    metadata:
      labels:
        run: nginx
    spec:
      containers:
      - image: nginx:1.17.1
        name: nginx
        ports:
        - containerPort: 80
          protocol: TCP

然后使用如下命令更新

[root@master object_manage]# kubectl apply -f deployment.yaml
namespace/dev unchanged
deployment.apps/nginx configured
[root@master object_manage]#

这里注意,如果yaml文件没有修改,apply命令也是可以执行的,只是不会做任何操作,如下:

[root@master object_manage]# kubectl apply -f deployment.yaml
namespace/dev unchanged
deployment.apps/nginx unchanged
[root@master object_manage]#

四、删除对象

使用如下命令即可完成对象删除

[root@master object_manage]# kubectl delete -f deployment.yaml
namespace "dev" deleted
deployment.apps "nginx" deleted
[root@master object_manage]#
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
4月前
|
JSON Kubernetes API
深入理解Kubernetes配置:编写高效的YAML文件
深入理解Kubernetes配置:编写高效的YAML文件
|
8月前
|
Kubernetes API 调度
Kubernetes详解(十五)——Pod对象创建过程
Kubernetes详解(十五)——Pod对象创建过程
76 4
|
2月前
|
Kubernetes 监控 Java
如何在Kubernetes中配置镜像和容器的定期垃圾回收
如何在Kubernetes中配置镜像和容器的定期垃圾回收
|
8月前
|
Kubernetes API 调度
Kubernetes详解(十四)——Pod对象生命周期
Kubernetes详解(十四)——Pod对象生命周期
71 3
|
8月前
|
Kubernetes 负载均衡 应用服务中间件
深入理解 Kubernetes Ingress:路由流量、负载均衡和安全性配置
深入理解 Kubernetes Ingress:路由流量、负载均衡和安全性配置
1440 1
|
5月前
|
Kubernetes Go 网络安全
Kubernetes 中使用consul-template渲染配置
Kubernetes 中使用consul-template渲染配置
78 1
Kubernetes 中使用consul-template渲染配置
|
5月前
|
Kubernetes 网络性能优化 调度
在K8S中,Kubernets资源限制是如何配置的,是否根据Qos?
在K8S中,Kubernets资源限制是如何配置的,是否根据Qos?
|
5月前
|
Kubernetes 调度 Perl
在K8S中,Pod多副本配置了硬亲和性,会调度到同⼀个节点上吗?
在K8S中,Pod多副本配置了硬亲和性,会调度到同⼀个节点上吗?
|
5月前
|
存储 Kubernetes Linux
Kubernetes 的配置资源 ConfigMap(01部分)
Kubernetes 的配置资源 ConfigMap(01部分)
|
6月前
|
Kubernetes 应用服务中间件 调度
云上应用管理问题之如何在Kubernetes集群中配置跨可用区的Pod调度
云上应用管理问题之如何在Kubernetes集群中配置跨可用区的Pod调度

热门文章

最新文章