k8s1.5.3集群测试之部署PODS实例

安装部署集群环境参考

http://jerrymin.blog.51cto.com/3002256/1898243

测试docker容器参考Guestbook示例

1,下载镜像

本例中使用3个Docker镜像,下载地址为https://hub.docker.com/u/kubeguide/

[[email protected] ~]# docker pull kubeguide/guestbook-php-frontend

[[email protected] ~]# docker pull kubeguide/guestbook-redis-master

[[email protected] ~]# docker pull kubeguide/guestbook-redis-slave

查看镜像

[[email protected] ~]# docker images

REPOSITORY                                   TAG                 IMAGE ID            CREATED             SIZE

docker.io/kubeguide/guestbook-php-frontend   latest              47ee16830e89        7 months ago        510 MB

docker.io/kubeguide/redis-master             latest              405a0b586f7e        18 months ago       419.1 MB

docker.io/kubeguide/guestbook-redis-slave    latest              e0c36a1fa372        18 months ago       109.5 MB

2,创建redis-mastr RC和Service

例子可参考Kubernetes实践指南第二章

[[email protected] guestbook]# ls

frontend-rc.yaml       redis-master-rc.yaml       redis-slave-rc.yaml

frontend-service.yaml  redis-master-service.yaml  redis-slave-service.yaml

首先为redis-master创建一个RC(副本控制器)

[[email protected] guestbook]# cat redis-master-rc.yaml

apiVersion: v1

kind: ReplicationController

metadata:

name: redis-master

labels:

name: redis-master

spec:

replicas: 1

selector:

name: redis-master

template:

metadata:

labels:

name: redis-master

spec:

containers:

- name: master

image: kubeguide/redis-master

ports:

- containerPort: 6379

在master节点执行如下创建RC redis-master

[[email protected] guestbook]# kubectl create -f redis-master-rc.yaml

replicationcontroller "redis-master" created

[[email protected] guestbook]# kubectl get rc

NAME           DESIRED   CURRENT   READY     AGE

redis-master   1         1         0         8s

在master节点执行如下创建Service  redis-master

[[email protected] guestbook]# kubectl create -f redis-master-service.yaml

service "redis-master" created

[[email protected] guestbook]# kubectl get svc

NAME           CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE

kubernetes     10.254.0.1     <none>        443/TCP    1d

redis-master   10.254.6.192   <none>        6379/TCP   12s

[[email protected] guestbook]# kubectl get pods -o wide

NAME                 READY     STATUS    RESTARTS   AGE       IP         NODE

redis-master-qg457   1/1       Running   0          1h        10.1.8.2   k8s-node2

可以看到Pod运行在k8s-node2节点上,node间可以通过tcp 10.1.8.2的6379端口访问redis-master

查看描述信息

[[email protected] guestbook]# kubectl describe pods  redis-master-qg457

Name: redis-master-qg457

Namespace: default

Node: k8s-node2/172.17.3.8

Start Time: Thu, 16 Feb 2017 12:45:19 +0800

Labels: name=redis-master

Status: Running

IP: 10.1.8.2

Controllers: ReplicationController/redis-master

Containers:

master:

Container ID: docker://eb2e83544f80e54c3f864f1a4a1edd062b9bb94d979137509e41673f85d90160

Image: kubeguide/redis-master

Image ID: docker-pullable://docker.io/kubeguide/[email protected]:e11eae36476b02a195693689f88a325b30540f5c15adbf531caaecceb65f5b4d

Port: 6379/TCP

State: Running

Started: Thu, 16 Feb 2017 12:46:02 +0800

Ready: True

Restart Count: 0

Volume Mounts: <none>

Environment Variables: <none>

Conditions:

Type Status

Initialized True

Ready True

PodScheduled True

No volumes.

QoS Class: BestEffort

Tolerations: <none>

No events.

在k8s-node2上确认docer进程

[[email protected] ~]# docker ps

CONTAINER ID        IMAGE                                                        COMMAND                  CREATED             STATUS              PORTS               NAMES

eb2e83544f80        kubeguide/redis-master                                       "redis-server /etc/re"   About an hour ago   Up About an hour                        k8s_master.dd7e04d1_redis-master-qg457_default_b755b620-f402-11e6-b4a4-c81f66d97bc3_de6042eb

26f1ae8f360c        registry.access.redhat.com/rhel7/pod-infrastructure:latest   "/pod"                   About an hour ago   Up About an hour                        k8s_POD.36030bb2_redis-master-qg457_default_b755b620-f402-11e6-b4a4-c81f66d97bc3_da1642b5

3,创建redis-slave RC和Service

[[email protected] guestbook]# kubectl create -f redis-slave-rc.yaml

replicationcontroller "redis-slave" created

[[email protected] guestbook]# kubectl get rc

NAME           DESIRED   CURRENT   READY     AGE

redis-master   1         1         1         3h

redis-slave    2         2         2         1m

[[email protected] guestbook]# kubectl get pods -o wide

NAME                 READY     STATUS    RESTARTS   AGE       IP          NODE

redis-master-qg457   1/1       Running   0          3h        10.1.8.2    k8s-node2

redis-slave-40tjp    1/1       Running   0          1m        10.1.8.3    k8s-node2

redis-slave-fh4mg    1/1       Running   0          1m        10.1.89.2   k8s-node1

[[email protected] guestbook]# kubectl create -f redis-slave-service.yaml

service "redis-slave" created

[[email protected] guestbook]# kubectl get services

NAME           CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE

kubernetes     10.254.0.1       <none>        443/TCP    1d

redis-master   10.254.6.192     <none>        6379/TCP   2h

redis-slave    10.254.183.118   <none>        6379/TCP   3m

查看主从状态

[[email protected] guestbook]#  kubectl exec redis-master-qg457 redis-cli info|grep role

role:master

[[email protected] guestbook]#  kubectl exec redis-slave-40tjp  redis-cli info|grep role

role:slave

[[email protected] guestbook]#  kubectl exec redis-slave-40tjp  redis-cli info|grep master

master_host:redis-master

master_port:6379

master_link_status:down

master_last_io_seconds_ago:-1

master_sync_in_progress:0

master_link_down_since_seconds:1487234901

master_repl_offset:0

进入修改hosts,由于没有kube-dns,所有slave都需要手动添加redis-master解析

[[email protected] guestbook]#  kubectl exec -ti redis-slave-40tjp -- bash

[email protected]:/data#echo ‘10.1.8.2 redis-master‘ >> /etc/hosts

4,创建frontend RC和Service

[[email protected] guestbook]# kubectl create -f frontend-rc.yaml

replicationcontroller "frontend" created

[[email protected] guestbook]# kubectl create -f frontend-service.yaml

service "frontend" created

[[email protected] guestbook]# kubectl get rc

NAME           DESIRED   CURRENT   READY     AGE

frontend       3         3         2         14s

redis-master   1         1         1         4h

redis-slave    2         2         2         1h

[[email protected] guestbook]# kubectl get pods

NAME                 READY     STATUS    RESTARTS   AGE

frontend-jfz4c       1/1       Running   0          20s

frontend-lktm2       1/1       Running   0          20s

frontend-t8ctd       1/1       Running   0          20s

redis-master-qg457   1/1       Running   0          4h

redis-slave-40tjp    1/1       Running   0          1h

redis-slave-fh4mg    1/1       Running   0          1h

[[email protected] guestbook]# kubectl get service

NAME           CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE

frontend       10.254.214.44    <nodes>       80:30001/TCP   2m

kubernetes     10.254.0.1       <none>        443/TCP        1d

redis-master   10.254.6.192     <none>        6379/TCP       3h

redis-slave    10.254.183.118   <none>        6379/TCP       1h

5,通过浏览器访问frontend页面

访问IP是node的IP加30001端口 ,本次测试应该是

http://172.17.3.7:30001或者http://172.17.3.8:30001目前是两个测试node

时间: 2025-01-02 06:03:32

k8s1.5.3集群测试之部署PODS实例的相关文章

同一个Docker swarm集群中部署多版本的测试环境

先介绍下用到的技术 Docker swarm: Docker官方的集群管理工具,相比kubernetes更加简单,容易入门.https://docs.docker.com/engine/swarm/ Traefik: 一个现代化的反向代理工具,原生支持Docker swarm模式,可以实现swarm的动态代理.https://docs.traefik.io/user-guide/swarm-mode/ 下图展示主要的思路: 在Docker swarm中创建某个测试版本service时,通过设置s

Storm集群安装部署步骤【详细版】

作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how-to-install-and-deploy-storm-cluster.html 本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以“注意事项”的形式给出. 1. Storm集群组件 Storm集群中包含两

Mysql上的RAC:Percona XtraDB Cluster负载均衡集群安装部署手册

 Percona XtraDB Cluster安装部署手册 引言 编写目的 编写此文档,供PerconaXtraDB Cluster部署时使用. 预期读者 系统维护人员及实施人员. 编制依据及参考资料 目标 通过阅读该手册,让读者明确PerconaXtraDB Cluster的安装.配置和维护情况,为后续数据库运维工作提供指导. 应用部署方案 环境准备 服务器列表 序号 IP 用途 HOSTNAME 操作系统 1 192.168.0.7 Percona XtraDB Cluster RedHat

RabbitMQ集群化部署

压测环境上RabbitMQ主库采用三台集群化部署,部署在172.16.103.127, 172.16.103.138, 172.16.103.129三台机器上. 安装目录:/opt/rabbitmq/rabbitmq_3.6.2 集群化部署 1.设置hosts解析,所有节点配置相同 vi /etc/hosts 172.16.103.129 mq-n129172.16.103.128 mq-n128172.16.103.127 mq-n127 2.设置节点间认证的cookiescp /root/.

windows下hadoop的集群分布式部署

下面我们进行说明一下hadoop集群的搭建配置. 本文假设读者具有hadoop单机配置的基础,相同的部分不在重述. 以三台测试机为例搭建一个小集群,三台机器的ip分别为 192.168.200.1;192.168.200.2;192.168.200.3 cygwin,jdk的安装同windows下hadoop的单机伪分布式部署(1),这里略过. 1.配置 hosts 在三台机子的hosts文件中加入如下记录: 192.168.200.1 hadoop1  #master namenode 192

ElasticSearch2.2 集群安装部署

一.ElasticSearch 集群安装部署 环境准备 ubuntu虚拟机2台 ip:192.168.1.104 192.168.1.106 jdk:最低要求1.7,本机jdk版本1.7_67 安装 a.安装jdk(这里不赘述) b.从官网下载ES版本 地址https://www.elastic.co/downloads/elasticsearch c.解压ES到本地 d.进入config目录下,用编辑器打开elasticsearch.yml文件 1.cluster.name: ppscore-

kubernetes-1.0.3集群安装部署

一.节点规划 Role Ip Host master 192.168.1.151 docker1 minion 192.168.1.154 docker2 minion 192.168.2.2 docker3 minion 192.168.1.6 docker4 二.安装部署 1.各节点操作系统为centos7.0.内核版本为 Linux docker3 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 

mesos 集群安装部署规划、准备(1)

一:简介 Mesos诞生于UC Berkeley的一个研究项目,现已成为Apache Incubator中的项目.Mesos计算框架一个集群管理器,提供了有效的.跨分布式应用或框架的资源隔离和共享,可以运行Hadoop.MPI.Hypertable.Spark.使用ZooKeeper实现容错复制,使用Linux Containers来隔离任务,支持多种资源计划分配. 1: 总体架构 Apache Mesos由四个组件组成,分别是Mesos-master,mesos-slave,framework

mesos 集群安装部署zookeeper(2)

三:集群安装配置 ############################################################## 配置zookeeper集群    (172.16.7.12~13 执行) ############################################################### 1:部署环境介绍: 服务器IP地址主机名安装服务 172.16.7.12ctn-7-12.ptmind.com zookeeper   myid=1 17