JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

k8s 常用命令详解

wys521 2024-09-18 23:37:09 精选教程 22 ℃ 0 评论

前言

上次教程我们已经搭建好了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 应用场景

  1. 集群的每个节点运行存储 Daemon 。 例如:ceph
  2. 集群的每个节点运行日志收集 Daemon 。 例如: logstash
  3. 集群的每个节点运行监控 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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表