K8S - 外部访问集群

前言

文档可以承接前面的内容看
这里只做外部访问的介绍

正文

kubectl get po

#打印某个pod的环境变量
kubectl exec nginx-7c5ddbdf54-6nfw2 \
  -- printenv |grep KUBERNETES

#删除 service
kubectl get svc
kubectl delete svc nginx

#使用 LoadBalancer 的方式重新创建 service
kubectl expose deployment nginx --type=LoadBalancer

kubectl get svc

在这里插入图片描述
通过服务器主机的公网IP,加端口 31778,成功访问nginx
在这里插入图片描述
测试

#如果服务器运行在AWS 或 GCE 上,使用curl找到可以做 SSH 或 PuTTY 连接的IP
curl ifconfig.io

#如果将副本数设置为0,则nginx访问失败
kubectl scale deployment nginx --replicas=0

kubectl get po

#再将副本数拓展为2,nginx又正常工作了 - 又能正常访问了
kubectl scale deployment nginx --replicas=2

kubectl get po

#删除 deployment 并不会自动删除 endpoint 和 service
kubectl delete deployments nginx
kubectl delete svc nginx
k8s部署redis集群之后,我们需要对其进行外部访问的配置。首先,我们需要使用Service对象将Redis集群暴露给集群外部。这需要我们创建一个新的Service类型对象,将其暴露为NodePort或LoadBalancer类型。NodePort是一种将端口绑定到每个节点的方式,而LoadBalancer是一种将端口绑定到云提供商的负载平衡器的方式。 对于NodePort类型的Service,我们需要使用 kubectl expose 命令创建一个新的Service,并配置其为NodePort类型,其命令如下: kubectl expose rc redis-cluster --name=redis-cluster-service --port=6379 --target-port=6379 --type=NodePort 这会在Redis集群中创建一个新的Service,将其命名为redis-cluster-service,并将其类型设置为NodePort。此外,我们需要将目标端口与6379端口绑定,以确保外部客户端可以使用正确的端口访问Redis集群。 现在,我们可以使用 kubectl get service 命令获取到该服务的详细信息,其中包括其IP地址和端口号,我们可以使用此信息来访问Redis集群。 如果需要使用LoadBalancer类型的Service,则需要配置一个外部负载均衡器,并将其绑定到Redis集群的Service上。这样,我们就可以在Redis集群和其外部客户端之间实现负载均衡,并高效地处理客户端流量。 总之,在k8s部署Redis集群之后,我们需要配置外部访问选项,以确保我们的Redis集群能够满足外部客户端的请求。通过创建Service对象并配置其类型,我们可以将Redis集群暴露给宿主机上的客户端,或者通过外部负载均衡器将其暴露给公共云上的客户端。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值