K8s-资源
K8S资源
1、资源类型
-
工作负载型,
-
pod承载容器化应用
- 应用分为:stateful 有状态
有状态控制器:
deployment
daemonset:每个节点运行一个容器
statefulset
stateless 无状态
JOB:运行完可终止的应用
cronjob
-
-
服务发现/负载均衡
- service 服务发现及负载均衡
- ingress 负载均衡
-
配置和存储,容器存储接口
- configMap 向应用注入配置文件
- secret 秘钥加密等注入
- PV/PVC 持久存储卷 / 存储卷绑定pv
- Downward API 注入
- role
-
namespace名称空间级别的资源
-
集群级别的资源
- namespace
- node
- clusterrole
-
元数据类型
- limitRange
2、资源路径
/apis/GROUP/VERSION/namespaces/NAMESPACESNAME/pods/PODSNAME
kubectl get --raw
3、自定义资源
- kubectl explain pods 查看格式
将已有的资源导出作为模板使用
kubectl get pods PODNAME -o yaml > test.yaml
4、资源应用类型
kubectl delete pods mypod
kubectl delete pods/mypod
kubectl log pods PODNAME
kubectl describe pods PODNAME
5、namespace 资源
-
查看名称空间
kubectl get namespace/defaule -o yaml
kube-public 公共名称空间(匿名可用,保留给集群使用)
kube-system 系统自身名称空间
default 默认的名称空间
kube-node-lease 多控制平面节点
-
创建一个名称空间
apiVersion: V1 kind:Namespace metadata: name:dev
-
删除一个名称空间
kubectl delete namespace/NAMESPACENAME kubectl delete -f FILENAME.yaml
-
简单的创建命令
kubectl create namespace NAMESPACENAME #查看配置文件 kubectl edit namespace NAMESPACENAME
6、资源上报
-
每个node上的kubectl代理插件每隔10s给API Server报告健康状态,同时发送node status信息,包含一个lease信息非常大,在1.3版本后添加了租约的形式,保存在节点上,每次心跳只需要更新租约信息不需要跟下nodestatus,只有真正改变或者5分钟后才会发送一次。
kubectl get leases/NODENAME -o yaml -n kube-node-lease
-
查看节点状态
kubectl get nodes/NODENAME -o yaml conditions #当前环境的处境 #例如 diskpressure status:flase #没有压力,flase
kubectp describe node/k8sworkserver-node110 Allocated resources: #已分配资源 (Total limits may be over 100 percent, i.e., overcommitted.) Resource Requests Limits -------- -------- ------ cpu 950m (23%) 100m (2%) memory 290Mi (7%) 390Mi (10%) ephemeral-storage 0 (0%) 0 (0%) hugepages-2Mi 0 (0%) 0 (0%) Events: <none>
-