k8s 学习
资料
https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive/
组成部分
master :
kube-apiserver, kube-scheduler, kube-contraooler-manager, etcd, pod
node
kubelet,kube-proxy,pod
运行应用
通过controller管理Pod生命周期。
Deployment,ReplicaSet,DaemonSet,StatefuleSet, Job
- Deployment:
kubectl run nginx-deployment --image=nignx --replicas=2
deployment通过ReplicaSet来管理Pod。 - DaemonSet
- 每个node上最多只运行一个副本
kubectl get daemonset
kube-proxy
- Job
工作类容器,完成后容器就退出。
Service
每个Pod都有自己的IP,当controller用新的pod替代故障Pod时,通过Service访问pod
service通过label来挑选pod,selector
Service的cluster-ip通过iptables映射到pod ip,
内网访问:
clusterip是一个虚拟ip,是由节点上的iptables规则管理的。
可以通过clusterIP访问Service,也可以通过DNS访问。
外网访问:
1 clusterIP
2 NodePort
3 LoadBalancer
数据管理
Volumn
1 emptyDir
Host上的空目录,会创建临时目录。对于容器来说是持久的,但对于pod不是。
emptyDir生命周期与Pod一致。
2 hostPath
将Docker Host文件挂载给pod
PV 与PVC
persistentVolume persistentVolumnClaim
PV是外部存储系统中的一块存储空间。,由管理员创建
PVC是对PV的申请,PVC是由普通用户创建和维护,需要位POD分配存储资源时候,用户可以创建一个PVC,指明存储资源的容量大小和访问模式。