跳至主要內容
kubernetes-pod

Pod 排错

常用命令

  • 查看 Pod 状态: kubectl get pod <POD_NAME> -o wide
  • 查看 Pod 的 yaml 配置: kubectl get pod <POD_NAME> -o yaml
  • 查看 Pod 事件: kubectl describe pod <POD_NAME>
  • 查看容器日志: kubectl logs <POD_NAME> [-c <CONTAINER_NAME>]

容器技术kubernetes介绍kubernetes介绍大约 3 分钟
kubernetes资源

日常节点运维

## 列出集群中的所有节点
kubectl get nodes
kubectl get nodes -o wide
kubectl get nodes -o wide --show-labels=true

## 将节点标记为不可调度,避免新的Pod在此节点创建和运行:
kubectl cordon <node-name>

## 驱逐节点上的Pod容器组,被驱逐的Pod将在其它节点重新创建运行:
kubectl drain <node-name> --delete-local-data --ignore-daemonsets --force
# 这里有3个参数:
#   --ignore-daemonsets, 忽略 DaemonSet 管理的 Pod(避免删除,创建这样的死循环)。
#   --delete-local-data,使用 emptyDir 数据卷的 Pod 也要删除。
#   --force,不是由 ReplicationController 、ReplicaSet 、Job 、DaemonSet 、StatefulSet 管理的Pod(没有绑定任何控制器)也要删除。

容器技术kubernetes介绍kubernetes介绍小于 1 分钟
kubernetes无状态

无状态

就是没有特殊状态的服务,各个请求对于服务器来说统一无差别处理,请求自身携带了所有服务端所需要的所有参数。没有要实时保存的数据。

Pod

Pod是一个逻辑概念,它是Kubernetes资源调度的单元,一般会把一组功能强相关的容器逻辑上称之为一个pod,Pod就是所说的实例。

缺点: 不支持高并发, 高可用, 当Pod当机后无法自动恢复。

pod

容器技术kubernetes介绍kubernetes介绍大约 2 分钟
kubernetes守护进程

DaemonSet 简介

服务守护进程,它的主要作用是在Kubernetes集群的所有节点中运行我们部署的守护进程,相当于在集群节点上分别部署Pod副本,如果有新节点加入集群,DaemonSet会自动的在该节点上运行我们需要部署的Pod副本,相反如果有节点退出集群,DaemonSet也会移除掉部署在旧节点的Pod副本。

DaemonSet示例

DaemonSet一般运行在集群的所有节点上,是一些常驻服务,通常可以用来收集日志,作为存储节点,运行监控进程等。

下面是一个日志收集的DaemonSet的定义:


容器技术kubernetes介绍kubernetes介绍小于 1 分钟
k8s安装-集群搭建
[[toc]] 环境准备 节点 CPU 核数必须是 :>= 2 核 ,否则 k8s 无法启动; DNS 网络: 最好设置为 本地网络连通的 DNS,否则网络不通,无法下载一些镜像; linux 内核: linux 内核必须是 4 版本以上,因此必须把 linux 核心进行升级; 准备 3 台虚拟机环境,或者是 3 台阿里云服务器都可。 k8s-mast...

容器技术kubernetes介绍kubernetes大约 7 分钟
k8s安装-kubeadm
[[toc]] 官网地址 Kubernetes 官网 (https://kubernetes.io/); Kubernetes 官网文档 (https://kubernetes.io/zh-cn/docs/home/); Kubernetes github (https://github.com/kubernetes/kubernetes); kube...

容器技术kubernetes介绍kubernetes大约 6 分钟
2