kubernetes-5(续) k8s集群服务-NodePort、LoadBalancer、ExternalName
1.NodePort修改类型为NodePort在ClusterIP基础上分一个端口,在宿主机上开放宿主机访问,并且满足负载均衡(为了表现负载均衡,我将之前使用的nginx镜像改为了myapp)访问ipvs 每个节点上都有这个端口node端也可以看到暴露的端口2、ExternalName假如外部的域名变动了,内部跟着变动的东西太多,我们想设置ExternalName,创建一个服务,这个服务可以找到对
·
1.NodePort
修改类型为NodePort
在ClusterIP基础上分一个端口,在宿主机上开放
宿主机访问,并且满足负载均衡(为了表现负载均衡,我将之前使用的nginx镜像改为了myapp)
访问ipvs 每个节点上都有这个端口
node端也可以看到暴露的端口
2、ExternalName
假如外部的域名变动了,内部跟着变动的东西太多,我们想设置ExternalName,创建一个服务,这个服务可以找到对应的外部的域名,我们内部只要找这个服务,这个服务就能找到外部的域名,外部的域名变化了也没事。
编辑ex-svc.yaml
[root@server2 ~]# cat ex-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: ExternalName
externalName: www.westos.org
外部IP是www.westos.org
dig解析
修改externalName
dig解析
已经更新了IP地址而名字没有变化
好处是当外部变化集群内部没有变化
service允许为其分配一个公有IP
编辑exip-svc.yaml文件
[root@server2 ~]# cat exip-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: exip-svc
spec:
selector:
app: myapp
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
externalIPs:
- 172.25.0.100
在ClusterIP的类型上分一个外部地址,外部成员可以访问
3、LoadBalancer
可以指定一个 LoadBalancer 类型的 Service,他直接给定IP来对外访问。
访问官网有详细说明
https://metallb.universe.tf/installation/
修改文件,支持ARP
kubectl edit configmap -n kube-system kube-proxy
批量删除之前的kube-proxy,控制器会自动重新建立,更新副本,创建目录。
官网下载metallb.yaml文件,移动到指定路径
在server1的私有仓库新建项目
将镜像上传到私有仓库中
、
拉起pod
发现未就绪
需要执行以下命令来添加一个密钥
[root@server2 metallb]# kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
添加成功后,可以看到有一个控制器和三个speaker
编辑configmap.yaml文件
[root@server2 metallb]# cat config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 172.25.10.10-172.25.10.20 ##定义分配的地址池
编辑lb-svc.yml 文件,建立svc,获取分配ip
apiVersion: v1
kind: Service
metadata:
name: lb-svc
spec:
ports:
- name: http
port: 80
targetPort: 80
selector:
app: myapp
type: LoadBalancer
IP已经分配好,当外部服务器访问时可以实现负载均衡。
在service提交后,Kubernetes就会调用 CloudProvider 在公有云上为你创建一个负载均衡服务,并且把被代理的 Pod 的 IP地址配置给负载均衡服务做后端。
更多推荐
已为社区贡献4条内容
所有评论(0)