~~~
# 列出所有命名空间中的全部部署
kubectl get deployments --all-namespace=true
~~~
~~~
# 列出特定命名空间中的所有部署
# 格式:kubectl get deployments --namespace <namespace-name>
kubectl get deployments --namespace kube-system
~~~
~~~
# 列出有关特定部署的详细信息
# 格式:kubectl describe deployment <deployment-name> --namespace <namespace-name>
kubectl describe deployment my-dep --namespace kube-system
~~~
~~~
# 使用特定标签列出 Pod
# 格式:kubectl get pods -l <label-key>=<label-value> --all-namespaces=true
kubectl get pods -l app=nginx --all-namespaces=true
~~~
~~~
# 获取具有特定标签的所有 Pod 的日志
# 格式:kubecl logs -l <label-key>=<label-value>
kubectl logs -l app=nginx --namespace kube-system
~~~
~~~
kubectl scale --replicas=5 deployment/azure-vote-front
kubectl apply -f 指定网络文件
~~~
~~~
resources:
requests:
cpu: 250m
limits:
cpu: 500m
~~~
下面的示例使用\[kubectl autoscale\]命令自动缩放*azure-vote-front*部署中的 Pod 数。如果所有 Pod 的平均 CPU 利用率超过其请求使用率的 50%,则自动缩放程序会将 Pod 增加到最多*10*个实例。为部署定义的最小实例数为*3*
kubectl autoscale deployment azure-vote-front --cpu-percent=50 --min=3 --max=10
kubectl get hpa
节点数增加到三个
az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 3
Kubernetes 群集分为两个组件:
* 控制平面节点提供 Kubernetes 核心服务和应用程序工作负载的业务流程。
* 节点运行应用程序工作负荷。
![](https://img.kancloud.cn/c1/6b/c16b3b293a7de8f1588253efb7bc8172_655x250.png)
控制平面包括以下 Kubernetes 核心组件:
* kube-apiserver - API 服务器,用于公开基础 Kubernetes API。此组件为管理工具(如`kubectl`或 Kubernetes 仪表板)提供交互。
* etcd - 可维护 Kubernetes 群集和配置的状态,高可用性 etcd 是 Kubernetes 中的键值存储。
* kube-scheduler - 创建或缩放应用程序时,计划程序可确定哪些节点可以运行工作负荷并启动这些节点。
* kube-controller-manager - 控制器管理器可监视许多较小的控制器,这些控制器执行 Pod 复制和节点处理等操作。
* StatefulSet - 维护超出单个 Pod 生命周期的应用程序的状态(如存储)。
* DaemonSet - 确保在 Kubernetes 启动进程早期每个节点上都有正在运行的实例
![](https://img.kancloud.cn/fe/3f/fe3f6ccfce4e2f2832d0f75df0ec8bc6_443x330.png)
### 缩放事件的冷却时间
由于水平 Pod 自动缩放程序每 30 秒检查一次指标 API,因此在进行另一次检查之前,先前的缩放事件可能尚未成功完成。此行为可能导致水平 Pod 自动缩放程序会在上一个缩放事件能够接收应用程序工作负荷且需要对资源进行相应调整之前更改副本数。
若要最大程度地减少争用事件,请设置延迟值。此值定义水平 Pod 自动缩放程序在一个缩放事件之后必须等待多长时间才能触发另一个缩放事件。此行为允许新副本计数生效,指标 API 反映分布式工作负荷。[从 Kubernetes 1.12 开始,纵向扩展事件没有延迟](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-cooldown-delay),但是纵向缩减事件的延迟默认为 5 分钟。
目前,无法从默认值调整这些冷却时间值。
使用kubectl get sc命令查看预先创建的存储类。
## 创建永久性卷声明
该声明请求名为`azure-managed-disk`、大小为*5 GB*、具有*ReadWriteOnce*访问权限的磁盘。*managed-premium*存储类指定为存储类。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: azure-managed-disk
spec:
accessModes:
* ReadWriteOnce
storageClassName: managed-premium
resources:
requests:
storage: 5Gi
提示
若要创建使用标准存储的磁盘,请使用`storageClassName: default`而不是*managed-premium*。
## 使用永久性卷
## 备份永久性卷
首先,使用`kubectl get pvc`命令获取卷名称,
## 还原并使用快照
## 创建永久性卷声明
永久性卷声明 (PVC)
## 使用永久性卷
- 文章翻译
- Large-scale cluster management at Google with Borg
- Borg Omega and kubernetes
- scaling kubernetes to 7500 nodes
- bpf 的过去,未来与现在
- Demystifying Istio Circuit Breaking
- 知识图谱
- skill level up graph
- 一、运维常用技能
- 1.0 Vim (编辑器)
- 1.1 Nginx & Tengine(Web服务)
- 基础
- 1.2 zabbix
- 定义
- 登录和配置用户
- 1.3 RabbitMQ(消息队列)
- 原理
- RabbitMQ(安装)
- 1.4虚拟化技术
- KVM
- 1.5 Tomcat(Web中间件)
- 1.6Jenkins
- pipline
- 1.7 Docker
- network
- 1.8 Keepalived(负载均衡高可用)
- 1.9 Memcache(分布式缓存)
- 1.10 Zookeeper(分布式协调系统)
- 1.11 GitLab(版本控制)
- 1.12 Jenkins(运维自动化)
- 1.13 WAF(Web防火墙)
- 1.14 HAproxy负载均衡
- 1.15 NFS(文件传输)
- 1.16 Vim(编辑器)
- 1.17 Cobbler(自动化部署)
- 二、常用数据库
- 2.1 MySQL(关系型数据库)
- mysql主从复制
- 2.2 Mongodb(数据分析)
- 2.3 Redis(非关系数据库)
- 三、自动化运维工具
- 3.1 Cobbler(系统自动化部署)
- 3.2 Ansible(自动化部署)
- 3.3 Puppet(自动化部署)
- 3.4 SaltStack(自动化运维)
- 四、存储
- 4.1 GFS(文件型存储)
- 4.2 Ceph(后端存储)
- 五、运维监控工具
- 5.1 云镜
- 5.2 ELK
- 六、运维云平台
- 6.1 Kubernetes
- 6.2 OpenStack
- 介绍
- 安装
- 七、Devops运维
- 7.1 理念
- 7.2 Devops运维实战
- 八、编程语言
- 8.1 Shell
- 书籍《Wicked Cool Shell Scripts》
- 8.2 Python
- 8.3 C
- 8.4 Java
- leecode算法与数据结构
- 九、杂记
- 高优先级技能
- 知识点
- JD搜集
- 明显的短板
- 1.0 Python
- 1.1 Kubernetes
- 1.18.2 《kubernetes in action》
- 遗漏知识点
- 1.18.3 GCP、azure、aliyun
- Azure文档
- 1.18.5 《program with kubernetes》
- Istio
- HELM
- 《Kubernetes best practice》
- Kubernetes源码学习
- Scheduler源码
- 调度器入口
- 调度器框架
- Node筛选算法
- Node优先级算法
- pod抢占调度
- 入口
- 主要代码结构
- new
- 文章翻译
- Flannel
- 从二进制集群搭建
- 信息收集
- docker优化
- 1.2 shell
- 面试题
- grep awk sed 常见用法
- shell实践
- 1.3 Data structure(数据结构)
- Calico
- Aliyun文档以及重点模块
- git
- 大数据组件
- 前端,后端,web框架
- cgroup,namespace
- 内核
- Linux搜集
- crontab
- centos7常用优化配置
- centos Mariadb
- eBPF
- ebpf的前世今生
- Linux性能问题排查与分析
- 性能分析搜集
- 性能分析常用10条
- 网络性能优化
- 文本处理命令
- sql
- Iptables
- python面试题
- iptables
- iptables详细
- zabbix面试题,proj
- prometheus
- web中间件
- nginx
- Haproxy
- grep sed awk
- Linux常用命令
- 云平台
- 书籍Linux应用技巧
- kafka
- kafka面试题
- ETCD
- Jenkins
- 3天补充的点
- K8s源码
- K8s
- k8s实操
- etcd
- test
- BPF
- PSFTP使用
- StackOverflow问答精选
- 问题
- 我对于学习思考
- 修改ssh超时时间
- 课程目录
- 运维与运维开发
- The Person
- 个人杂谈
- mysql主从复制
- 对于工作的认识与思考