一、环境
节点 |
IP |
服务 |
master |
192.168.126.46 |
docker、kubeadm、kubelet、kubectl、flannel、telnet |
node1 |
192.168.126.47 |
docker、kubeadm、kubelet、kubectl、flannel、telnet |
node2 |
192.168.126.48 |
docker、kubeadm、kubelet、kubectl、flannel、telnet |
ubuntu20 |
192.168.126.211 |
telnet |
win11 |
192.168.3.13 |
telnet |
二、部署服务
1.创建 redis-v1 的 Deployment 资源
该资源使用 redis 镜像,并指定了容器端口为 6379
1 | kubectl create deployment redis-v1 --image=redis --port 6379 |
(1)查看刚创建的 Deployment 和其状态
1 | kubectl get deployments |
(2)查看更详细的信息,包括 Pod 的状态
1 | kubectl describe deployment redis-v1 |
(3)查看redis 的 Service的详细信息
1 | kubectl describe svc redis |
此时只能内部使用服务,地址是分配的虚拟地址:
*10.103.94.58:6379 #服务的集群 IP 地址,这是 Kubernetes 内部用于路由到服务的 IP 地址。
*10.244.1.32:6379 #服务的端点,这里是这是与该服务相关联的 Pod 的 IP 地址和端口。
(4)node1访问
(5)node2访问
2.暴露端口,监听6379端口
1 | kubectl expose deployment redis-v1 --port=6379 --target-port=6379 --name=redis-service --type=NodePort |
(1)查看pod网络状态详细信息和 Service暴露的端口
1 | kubectl get pods,svc -o wide |
可以看到随机分配31400端口。因为在Kubernetes中,NodePort类型的Service会在每个节点的指定端口上开放访问,因此集群内所有节点的IP都可以访问这个Service;由于NodePort类型Service的特性,使得Redis服务可以通过集群内任意节点的IP和指定的NodePort端口进行访问,从而实现了在K8s集群内部的广泛可达性
(2)ubuntu访问
(3)win11访问
(4)集群node2访问
到此这篇关于k8s部署redis远程连接的项目实践的文章就介绍到这了,更多相关k8s部署redis远程连接内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!