service
pod通过 label 和 service 关联
endpoint
pod 销毁,创建,ip变更都会体现在endpoint上,以便 service 能正常响应
LoadBalancer
k8s 集群必须是 ipvs 模式,
vim /etc/kubernetes/kube-proxy.yaml # 这是二进制部署的文件,如果是kubeadm,就是另一种
kubeadm 可以去metallB官网查看修改方法
注意 strictARP 改成true
可以在浏览器直接用external-ip加 80 (默认就是80,所以不用写) 访问,也可以用 节点ip加 32415 在浏览器访问
新版本 的metallb
不用configmap,改用 它自己的资源 ipaddressPool了
ExternalName
这里的kube-dns就是 coredns,如果它这里找不到,就会去上层dns继续找
安装dig 工具 sudo yum install bind-utils
通过访问内部的my…local 这个内部地址就能访问到 www.baidu.com, 解析这两个域名,得到的地址是一样的。
实现不同命名空间之间服务的访问
clusterIP: None 不让它分配ip 地址。就是headless服务
主要就是通过 externalName 来连接两个命名空间的 svc
sessionAffinity 会话黏贴
service 天生就带负载均衡,但是如果我们想持续地访问一个后端,应该怎么做呢?就用 sessionAffinity。
只需svc中设置 sessionAffinity 为 Clientip