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

回到顶部