k8s部署pod
运行Deployment
- 通过kubectl run --image= --replicas=
- 通过kubectl apply -f xxx.yml (正式用)
伸缩
- 增加或减少pod的个数
故障转移
- 通过健康检查发现node不可用,在其他node上创建pod,维持副本总数不变,故障恢复后,不会重新调度回去
label控制pod位置
- k8s有几个自己维护的lable,如nodeSelector
- kubectl label node xxnode k=v 给node打标签
- yml通过指定nodeSelector,将pod分配在这个节点上
通过Service访问pod
Service的用法
- pod是动态创建和销毁的,ip很有可能变化。service从逻辑上代表一组pod,客户端只需要访问service的ip,k8s负责维护service和pod的映射关系。
- service通过指定配置spec.selector来选择pod。
- service创建后会分配到一个Cluster IP,通过iptables规则管理。
- 除了通过cluster ip访问service,还可以通过kube-dns组件,cluster中的pod可以用过Service_name:namespace_name 来访问service,如果在同一个namespace,可以忽略namespace_name,比如:user-svc:8080
外网如何访问Service
- ClusterIP:默认service类型,只有集群内部可以访问。
- NodePort:通过静态端口,Cluster外部可以通过nodeIP:nodePort访问
- LoadBalancer: ???
以上是 k8s部署pod 的全部内容, 来源链接: utcz.com/z/516136.html