emptyDir类型12345678910111213141516171819202122232425262728293031323334apiVersion: v1kind: Podmetadata: name: pod-demo namespace: default labels: app: myapp tier: frontend annotations: test.com/created-by: "cluster admin"spec: containers: - name: myapp image: ikubernetes/myapp:v1 ...
组件
master:
API Server
Scheduler
Controller-Manager
Node:
kubelet
容器引擎(docker)
kube-proxy
Pod
自主式pod
控制器管理的pod
Replication-Controller
Deployment
StatefulSet
DaemonSet
Job , Cronjob
可以开一个本地代理
1kubectl proxy --port=8080
之后用curl即可访问
资源指标: metrics-server
自定义指标: prometheus
新一代架构
核心指标流水线: 由kuberlet , metrics-server以及由API server提供的zpi组成, cpu累计使用率 , 内存实时使用率 , pod的资源占用率个容器的磁盘占用率
监控流水线: 用于从系统收集各种指标并提供终端用户 存储系统和HPA 它们包涵核心指标和许多非核心指标 非核心指标不能被k8s所解析
以后用户访问api群组 , 是通过kube-aggegator来访问 , 这个kube-aggegator同时聚合了由kubernetes自己提供的api群组和metri...
什么是apiVersion在kubernetes资源定义的时候 第一个要写的就是apiVersion , 那什么是apiVersion呢
查看当前kubernetes版本支持的apiVersion可以使用下面的命令
123456789101112131415161718192021222324252627kubectl api-versionsadmissionregistration.k8s.io/v1beta1apiextensions.k8s.io/v1beta1apiregistration.k8s.io/v1apiregistration.k8s.io/v1beta1apps/...
查看帮助123kubectl explain pods //如何定义pod的帮助kubectl explain pods.metadata //查看其中matadata字段的定义方法kubectl explain pods.spec.containers //查看spec下的containers字段的定义方法
如何查看一个已经运行的pod的资源清单
先查看pod
12345678kubectl get podsNAME READY STATUS RESTARTS AGEnginx-deploy-59c...
1颗逻辑的cpu
1= 1000millicores
QoS类型
Guaranteed 此类拥有最高优先级
同时设置了CPU和内存的requests和limits , 并且
limits.cpu=requests.cpu
limits.memory=requests.memory
Burstable 此类拥有中等优先级
至少一个容器设置cpu或者内存资源的requests属性
BestEffort
没有任何一个容器设置了requests或limits属性
vim pod-source.yaml
12345678910111213141516171819apiVersi...
如果docker要连到私有仓库地址的话 , 可以在pod.spec下imagePullSecrets这个选项 这个secret是由secret创建 , 而且是专有的secret类型 , 用来存放账号密码
目前secret类型分成3类(可以通过kubectl create secret --help来查看帮助)
docker-registery
generic
tls (放证书和私钥)
查看当前coredns解析的地址是什么
123456kubectl get pod -n kube-system -o wide //查看当前运行的pod 其中dns的地址是10.96.0.10kubectl get svc -n kube-system //查看dns解析的地址 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEkube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 1d
先创建一个pod...
在一个pod中 , pod可以通过一个token来认证 pod中各个容器
先查看pod
1kubectl get pod
我们随便挑一个pod来看
1kubectl describe pod myapp-deploy-67f6f6b4dc-zsr5j
可以看到 , 我们在创建的时候并没有指定存储卷 , 但是他自己就有了一个
12345Volumes: default-token-vwdjg: Type: Secret (a volume populated by a Secret) SecretName: default-token-vwdjg Opt...