一. 创建Redis的deployment和service

1. 创建Redis deployment

redis-master-deployment.yaml 

apiVersion: apps/v1 # for versions before 1.9. use apps/v1beta2
kind: Deployment
metadata:
name: redis-master
labels:
app: redis
spec:
selector:
matchLabels:
app: redis
role: master
tier: backend
replicas:
template:
metadata:
labels:
app: redis
role: master
tier: backend
spec:
containers:
- name: master
image: k8s.gcr.io/redis:e2e # or just image: redis
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort:

执行:

kubectl create -f redis-master-deployment.yaml

查看执行结果:

deployment "redis-master" created
当 pod 是 ready 时,将得到:

   kubectl get pods

    NAME                            READY     STATUS    RESTARTS   AGE
redis-master-765d459796-258hz / Running 50s kubectl get deployment NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
redis-master 55s kubectl get rs NAME DESIRED CURRENT READY AGE
redis-master-765d459796 1m

2. 创建redis service

redis-master-service.yaml

apiVersion: v1
kind: Service
metadata:
name: redis-master
labels:
app: redis
role: master
tier: backend
spec:
ports:
- port:
targetPort:
selector:
app: redis
role: master
tier: backend

执行:

kubectl create -f redis-master-service.yaml

查看结果:

service "redis-master" created

3. 验证 Redis 服务是否运行在 pod 中并且监听 6379 端口:

kubectl get pods redis-master-765d459796-258hz –template=‘{{(index (index .spec.containers ).ports ).containerPort}}{{”\n”}}’

输出:


二、转发一个本地端口到Pod端口

1. 从 Kubernetes v1.10 开始,kubectl port-forward 允许使用资源名称(例如服务名称)来选择匹配的 pod 来进行端口转发。

kubectl port-forward redis-master-765d459796-258hz :

相当于:

kubectl port-forward pods/redis-master-765d459796-258hz :

kubectl port-forward deployment/redis-master :

kubectl port-forward rs/redis-master :

kubectl port-forward svc/redis-master :

以上的命令都有效,输出类似于:

I0710 ::38.274550     portforward.go:] Forwarding from 127.0.0.1: ->
I0710 ::38.274797 portforward.go:] Forwarding from [::]: ->

2. 启动 Redis 命令行接口:

redis-cli

在 Redis 命令行提示符下,输入 ping 命令:

127.0.0.1:>ping

提示ping成功

与本地 6379 端口建立的连接将转发到运行 Redis 服务器的 pod 的 6379 端口。通过此连接,可以使用本地工作站来调试在 pod 中运行的数据库。

使用Port Forwarding连接k8s集群的pod(redis、mysql等)的更多相关文章

  1. Kubernetes 远程工具连接k8s集群

    Kubernetes 远程工具连接k8s集群 1.将Master的kubectl文件复制到Node内 scp k8s/kubernetes/server/bin/kubectl root@192.16 ...

  2. k8s集群Job Pod 容器可能因为多种原因失效,想要更加稳定的使用Job负载,有哪些需要注意的地方?

    k8s集群Job Pod 容器可能因为多种原因失效,想要更加稳定的使用Job负载,有哪些需要注意的地方? 面试官:"计数性Job默认完成模式是什么?Indexed模式如何发布自定义索引呢?& ...

  3. kubectl客户端工具远程连接k8s集群

    一.概述 一般情况下,在k8smaster节点上集群管理工具kubectl是连接的本地http8080端口和apiserver进行通讯的,当然也可以通过https端口进行通讯前提是要生成证书.所以说k ...

  4. kubeadm搭建K8s集群及Pod初体验

    基于Kubeadm 搭建K8s集群: 通过上一篇博客,我们已经基本了解了 k8s 的基本概念,也许你现在还是有些模糊,说真的我也是很模糊的.只有不断地操作去熟练,强化自己对他的认知,才能提升境界. 我 ...

  5. TFS2018 连接 K8S集群的方法

    这一块自己没做测试,与平台樊娟娟沟通后,直接从history命令里面找到的相关命令,感谢原作者以及提供帮助的同事网友.如果有问题后续再改. 1. 在服务里面增加endpoint 见图 创建 连接名称随 ...

  6. K8s集群认证之RBAC

    kubernetes认证,授权概括总结: RBAC简明总结摘要:API Server认证授权过程: subject(主体)----->认证----->授权[action(可做什么)]--- ...

  7. Blazor+Dapr+K8s微服务之基于WSL安装K8s集群并部署微服务

         前面文章已经演示过,将我们的示例微服务程序DaprTest1部署到k8s上并运行.当时用的k8s是Docker for desktop 自带的k8s,只要在Docker for deskto ...

  8. jenkins流水线部署springboot应用到k8s集群(k3s+jenkins+gitee+maven+docker)(2)

    前言:上篇已介绍了jenkins在k3s环境部署,本篇继续上篇讲述流水线构建部署流程 1.从gitlab上拉取代码步骤 在jenkins中,新建一个凭证:Manage Jenkins -> Ma ...

  9. Prometheus 监控K8S集群资源监控

    Prometheus 监控K8S集群中Pod 目前cAdvisor集成到了kubelet组件内,可以在kubernetes集群中每个启动了kubelet的节点使用cAdvisor提供的metrics接 ...

随机推荐

  1. 关于子类和父类中的this的用法

    public class Demo { public static void main(String[] args) { Fu f = new Zi(); f.show(); } } class Fu ...

  2. MinGW-w64离线安装

    1.下载 如果你能从在线 安装,那最好就在线安装吧. 如果你能连上官网,那可以选择从官网去下载,地址:https://osdn.net/projects/mingw/releases/ https:/ ...

  3. 性能测试基础---事务&检查点&思考时间&集合点

    性能测试脚本的增强:·参数化·关联·事务·检查点·思考时间·集合点 ·事务:事务的引入是为了度量相关的业务请求的响应时间和吞吐量指标.在LR中,事务是通过两个事务函数来实现的. lr_start_tr ...

  4. Detectron2源码阅读笔记-(一)Config&Trainer

    代码结构概览 核心部分 configs:储存各种网络的yaml配置文件 datasets:存放数据集的地方 detectron2:运行代码的核心组件 tools:提供了运行代码的入口以及一切可视化的代 ...

  5. ArcSDE SQL Server 创建地图数据库

    1.安装并破解: ArcGIS 10.2 ArcSDE 10.2 Sql Server 2008 R2 本文重点关注Sql Server和ArcSDE配置问题,安装破解过程略. 2.配置Sql Ser ...

  6. PHP memcache 环形队列

    <?php   /**  * PHP memcache 环形队列类  * 因业务需要只保留的队列中的Pop和Push,修改过期时间为0即永久  */ class MQueue {     pub ...

  7. Ofbiz项目学习——阶段性小结——删除数据

    一.根据主键进行删除 /** * 按主键进行删除 * @param dctx * @param context * @return */ public static Map<String,Obj ...

  8. CSS进阶之路

    下面主要引用http://www.cnblogs.com/wangfupeng1988/tag/css知多少/ CSS进阶笔记: 一.学习CSS的三个突破点 1.浏览器如何加载和解析CSS——CSS的 ...

  9. js生成随机密码,密码位数自定

    话不多说,上代码 function pb(size){     var seed = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N', ...

  10. 学习:STL_deque容器

    deque容器: 功能:双端数组,可以对头端进行插入删除操作 deque与vector区别: 1.vector对于头部的插入删除效率低,数据量越大,效率越低 2.deque相对而言,对头部的插入删除速 ...