Kubernetes管理资源的两种方式

Kubernetes管理资源的两种方式:

1、用纯命令管理

比如用命令创建一个nginx服务,并且设置2个pod负载

# kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2

比如用命令更新服务的image镜像版本 # kubectl set image deploy/nginx nginx:nginx:1.8.0

2、用yaml文件管理

有纯命令管理的话,其实是不够规范化的,有问题了也不好追溯。 所以生产上其实都是用yaml文件来管理k8s,这也是官方推荐的方式。

用yaml文件创建一个nginx应用服务:

# cat nginx.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deploy
  namespace: dev
  labels:
   app: nginx-deploy
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx-server
  template:
    metadata:
      labels:
        app: nginx-server
    spec:
      containers:
      - image: nginx
        name: nginx
        ports:
        - containerPort: 80
          protocol: TCP

执行命令用yaml创建服务 # kubectl apply -f nginx.yaml

以后如果有需要对这个nginx应用服务做什么修改,就直接编辑这个nginx.yaml文件里面的配置,修改好之后,再用 kubectl apply -f nginx.yaml执行,就会对里面修改过的配置重新生成pod了。

如果要删除整个资源,可以直接执行 # kubectl delete -f nginx.yaml