一. 创建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. CentOS7.0 内核(3.10.0-123.el7.x86_64)bug导致KVM物理机重启

    一.问题描述 服务器硬件:DELL R720 系统版本:CentOS7.0 内核版本:3.10.0-123.el7.x86_64 故障现象:偶尔会重启 二.问题原因 经查看dmesg日志发现是kern ...

  2. BitMap 图片格式与Base64Image格式互转方法

    BitMap 图片格式与Base64Image格式互转方法 /// <summary> /// 图片转为base64编码的字符串 /// </summary> /// < ...

  3. JVM垃圾回收器理论分析与详解【纯理论】

    继续上次[https://www.cnblogs.com/webor2006/p/10740084.html]的理论继续..有点吐血的感觉,都不知道学了这么一大堆理论有何实际意义,本身JVM就是个理论 ...

  4. Palisection(Codeforces Beta Round #17E+回文树)

    题目链接 传送门 题意 给你一个串串,问你有多少对回文串相交. 思路 由于正着做不太好算答案,那么我们考虑用总的回文对数减去不相交的回文对数. 而不相交的回文对数可以通过计算以\(i\)为右端点的回文 ...

  5. nameof 运算符

    0. 目录 C#6 新增特性目录 1. 老版本的代码 1 using System; 2 namespace csharp6 3 { 4 internal class Program 5 { 6 pr ...

  6. Bootstrap 学习笔记1

    <img src="..." class="img-responsive" alt="响应式图像"> 通过添加 img-resp ...

  7. .ckpt文件与.pb文件

    .ckpt文件是旧版本的输出saver.save(sess),相当于现在的.ckpt-data checkpoint文件仅用于告知某些TF函数,这是最新的检查点文件. .ckpt-meta 包含元图, ...

  8. DoubleArrayTrie

    /** * DoubleArrayTrie: Java implementation of Darts (Double-ARray Trie System) * * <p> * Copyr ...

  9. 使用solr将CSV/XML/DB/JSON数据发布为Rest Service

    Download http://lucene.apache.org/solr/downloads.html Apache Solr入门基础——Windows下安装与配置 https://blog.cs ...

  10. Numpy | 05 创建数组

    ndarray 数组除了可以使用底层 ndarray 构造器来创建外,也可以通过以下几种方式来创建. 一.numpy.empty numpy.empty 方法用来创建一个指定形状(shape).数据类 ...