前言
上次教程我们已经搭建好了kubernetes集群了,现在我们就实践演练一下常用的kubectl命令吧。今天主要讲解deployment,replicaset,daemonset。
kubectl 命令详解 deployment
创建nginx.yml
nginx.yml
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 template: metadata: labels: app: web_server spec: containers: - name: nginx image: nginx:1.7.9 nodeSelector: disktype: xfs
参数解释:
apiVersion 当前配置格式的版本
kind 要创建的资源类型
metadata 该资源的元数据
spec 该deployment的规格说明
replicas 副本数的数量,默认为1
template 定义Pod模板
metadata 定义Pod的元数据
spec 该Pod的规格说明
nodeSelector 选择节点
资源
创建deployment资源
kubectl apply -f nginx.yml
删除deployment资源
kubectl delete -f nginx.yml
查看deployment资源(简略)
这是用来查看名为 nginx-deployment 的 deployment 的状态。说白了就是看nginx的部署状态。
kubectl get deployment
参数解释
DESIRED: 期望部署副本数
CURRENT: 当前部署副本数
UP-TO-DATE:最新部署副本数
AVAILBLE: 运行中的副本数
AGE: 已经运行的时间
查看deployment资源(较详细)
获取再详细点的nginx的部署状态
kubectl get deployment -o wide
参数解释
CONTAINERS: 运行的容器
IMAGES: 容器的镜像
SELECTOR: 调度规则
查看deployment资源(非常详细)
获取非常详细的nginx的部署状态
kubectl describe deployment nginx-deployment
参数解释
Name deployment 名
Namespace 命名空间
CreationTimestamp 创建时间
Labels 标签
Annotations 注释
Selector 调度规则
Replicas 副本
StrategyType 策略类型
MinReadySeconds 最小准备时间
RollingUpdateStrategy 滚动更新策略
Pod Template pod模板
Conditions 条件
OldReplicaSets 旧的副本数
NewReplicaSets 新的副本数
Events: Deployment的执行日志
kubectl 命令详解 - replicaset
实际上Deployment是通过replicaset来管理pod的
资源
查看replicaset资源(简略)
查看副本数
kubectl get replicaset
参数解释
NAME 副本名
DESIRED 期望部署副本数
CURRENT 当前部署副本数
READY 准备好的副本数
AGE 已经运行的时间
查看replicaset资源(较详细)
kubectl get replicaset
参数解释
CONTAINERS 运行的容器
IMAGES: 容器的镜像
SELECTOR 调度规则
查看replicaset资源(非常详细)
kubectl describe replicaset nginx-deployment-57f56449d9
参数解释
Name deployment 名
Namespace 命名空间
Selector 调度规则
Labels 标签
Annotations 注释
Controller By 指明是由deployment创建
Replicas 副本
Pods Status Pod状态
Pod Template Pod模板
Events: Deployment的执行日志
kubectl 命令详解 - DaemonSet
DaemonSet 和 Deployment 的区别:
DaemonSet 每个node最多只允许一个副本
Deployment 每个node可运行多个副本
DaemonSet 应用场景
- 集群的每个节点运行存储 Daemon 。 例如:ceph
- 集群的每个节点运行日志收集 Daemon 。 例如: logstash
- 集群的每个节点运行监控 Daemon 。例如: collectd
资源
由于DaemonSet的特性,k8s的kube-proxy就是这类资源。由于kube-proxy资源是属于kube-system命名空间的,所以我们要指明 -n kube-system(或者 --namespace=kube-system)
查看daemonset 资源(简略)
kubectl -n kube-system get daemonset
查看daemonset 资源(较详细)
kubectl -n kube-system get daemonset -o wide
查看daemonset 资源(非常详细)
kubectl -n kube-system describe daemonset
查看 kube-proxy 的yaml文件
kubectl -n kube-system edit daemonset kube-proxy
本文暂时没有评论,来添加一个吧(●'◡'●)