热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于Kubernetes编排部署GPMall

1实战案例——容器化部署基础服务1.1.1案例目标(1)了解Redis服务的容器化部署。(2)了解ZooKeeper服务的容器化部署。(3)了解Kafka服务的容器化部署。1.1.

1实战案例——容器化部署基础服务

1.1.1 案例目标

(1)了解Redis服务的容器化部署。

(2)了解ZooKeeper服务的容器化部署。

(3)了解Kafka服务的容器化部署。

1.1.2 案例分析

1.规划节点

节点规划,见表1-1-1。

表1-1-1节点规划

IP

主机名

节点

10.24.2.156

master

Kubernetes master节点

10.24.2.157

node

Kubernetes worker节点

2.基础准备

Kubernetes集群已部署完成,将提供的压缩包GPMall.tar.gz上传到master节点/root目录下并解压。

1.1.3 案例实施

1.Redis容器化部署

(1)编写Dockerfile

编写yum文件

[[email protected] ~]# cd gpmall/

[[email protected]ter gpmall]# cat local.repo

[gpmall]

name=gpmall

baseurl=file:///opt/gpmall

gpgcheck=0

enabled=1

编写Dockerfile文件:

[[email protected] gpmall]# cat Dockerfile-redis

FROM centos:centos7.5.1804

MAINTAINER Guo

# 配置yum

ADD gpmall.tar /opt

RUN rm -rfv /etc/yum.repos.d/*

ADD local.repo /etc/yum.repos.d/

#安装Redis

RUN yum -y install redis

# 开放端口

EXPOSE 6379

#安装清理缓存文件

RUN yum clean all

#修改绑定IP地址

RUN sed -i -e '[email protected] [email protected] [email protected]' /etc/redis.conf

#关闭保护模式

RUN sed -i -e '[email protected] [email protected] [email protected]' /etc/redis.conf

#启动

ENTRYPOINT [ "/usr/bin/redis-server","/etc/redis.conf"]

CMD []

(2)构建镜像

构建镜像gpmall-redis:v1.0:

[[email protected] gpmall]# docker build -t gpmall-redis:v1.0 -f Dockerfile-redis .

Sending build context to Docker daemon  507.6MB

Step 1/12 : FROM centos:centos7.5.1804

 ---> cf49811e3cdb

Step 2/12 : MAINTAINER Guo

 ---> Using cache

 ---> 02855371e6e9

Step 3/12 : ADD gpmall.tar /opt

 ---> Using cache

 ---> bb41486d722b

Step 4/12 : RUN rm -rfv /etc/yum.repos.d/*

 ---> Using cache

 ---> 310d88dd58d7

Step 5/12 : ADD local.repo /etc/yum.repos.d/

 ---> Using cache

 ---> ebd2db8d8bf6

Step 6/12 : RUN yum -y install redis

 ---> Using cache

 ---> bbb61e6529ad

Step 7/12 : EXPOSE 6379

 ---> Using cache

 ---> d4e578610926

Step 8/12 : RUN yum clean all

 ---> Using cache

 ---> 7d204f260c6a

Step 9/12 : RUN sed -i -e '[email protected] [email protected] [email protected]' /etc/redis.conf

 ---> Using cache

 ---> 6f495fddae91

Step 10/12 : RUN sed -i -e '[email protected] [email protected] [email protected]' /etc/redis.conf

 ---> Using cache

 ---> bdc34d6845dd

Step 11/12 : ENTRYPOINT [ "/usr/bin/redis-server","/etc/redis.conf"]

 ---> Using cache

 ---> 8cccc88ad3ba

Step 12/12 : CMD []

 ---> Using cache

 ---> 0e71dea163a7

Successfully built 0e71dea163a7

Successfully tagged gpmall-redis:v1.0

查看镜像列表:

[[email protected] gpmall]# docker images

REPOSITORY     TAG        IMAGE ID          CREATED         SIZE

gpmall-redis       v1.0        0e71dea163a7        2 minutes ago       465MB

2.Mariadb容器化部署

(1)编写Dockerfile

编写数据库初始化脚本run.sh:

[[email protected] gpmall]# cat mysql_init.sh

#!/bin/bash

mysql_install_db --user=mysql

(mysqld_safe &) | grep a

sleep 3s

mysqladmin -u root password '123456'

sleep 3s

mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'"

sleep 3s

mysql -uroot -p123456 -e "create database gpmall;use gpmall;source /opt/gpmall.sql;"

sleep 3s

编写Dockerfile文件:

[[email protected] gpmall]# cat Dockerfile-mariadb

FROM centos:centos7.5.1804

MAINTAINER Chinaskill

# 配置yum

ADD gpmall.tar /opt

RUN rm -rfv /etc/yum.repos.d/*

ADD local.repo /etc/yum.repos.d/

# 安装MariaDB

RUN yum install -y MariaDB-server expect net-tools

RUN yum clean all

COPY gpmall.sql /opt/

ADD mysql_init.sh /opt/

RUN chmod +x /opt/mysql_init.sh

RUN /opt/mysql_init.sh

ENV LC_ALL en_US.UTF-8

EXPOSE 3306

CMD ["mysqld_safe"]

(2)构建镜像

构建镜像:

[[email protected] gpmall]# docker build -t gpmall-mariadb:v1.0 -f Dockerfile-mariadb .

Sending build context to Docker daemon  507.6MB

Step 1/14 : FROM centos:centos7.5.1804

 ---> cf49811e3cdb

Step 2/14 : MAINTAINER Chinaskill

 ---> Using cache

 ---> 612224da592d

Step 3/14 : ADD gpmall.tar /opt

 ---> Using cache

 ---> 6d1ddf658c25

Step 4/14 : RUN rm -rfv /etc/yum.repos.d/*

 ---> Using cache

 ---> 6a228b86827e

Step 5/14 : ADD local.repo /etc/yum.repos.d/

 ---> Using cache

 ---> 68cd0048ecc7

Step 6/14 : RUN yum install -y MariaDB-server expect net-tools

 ---> Using cache

 ---> dbf601e719e3

Step 7/14 : RUN yum clean all

 ---> Using cache

 ---> 0508690b35f5

Step 8/14 : COPY gpmall.sql /opt/

 ---> Using cache

 ---> 617904a55aa2

Step 9/14 : ADD mysql_init.sh /opt/

 ---> Using cache

 ---> 80e1373d25f2

Step 10/14 : RUN chmod +x /opt/mysql_init.sh

 ---> Using cache

 ---> 3d970f66be13

Step 11/14 : RUN /opt/mysql_init.sh

 ---> Using cache

 ---> d47f24b255a8

Step 12/14 : ENV LC_ALL en_US.UTF-8

 ---> Using cache

 ---> 4b4b6dde5062

Step 13/14 : EXPOSE 3306

 ---> Using cache

 ---> 5f755d3f324f

Step 14/14 : CMD ["mysqld_safe"]

 ---> Using cache

 ---> 6c3bbd33bd7b

Successfully built 6c3bbd33bd7b

Successfully tagged gpmall-mariadb:v1.0

查看镜像列表:

# docker images

REPOSITORY          TAG        IMAGE ID        CREATED        SIZE

gpmall-mariadb          v1.0        6c3bbd33bd7b     28 seconds ago     1.06GB

3.ZooKeeper容器化部署

(1)编写Dockerfile

编写Dockerfile文件:

[[email protected] gpmall]# cat Dockerfile-zookeeper

FROM centos:centos7.5.1804

MAINTAINER Chinaskill

# 配置yum

ADD gpmall.tar /opt

RUN rm -rfv /etc/yum.repos.d/*

ADD local.repo /etc/yum.repos.d/

# 安装JDK

RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

ENV work_path /usr/local

WORKDIR $work_path

# 安装ZooKeeper

ADD zookeeper-3.4.14.tar.gz /usr/local

ENV ZOOKEEPER_HOME /usr/local/zookeeper-3.4.14

# PATH

ENV PATH $PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOKEEPER_HOME/bin

RUN cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg

EXPOSE 2181

# 设置开机自启

CMD $ZOOKEEPER_HOME/bin/zkServer.sh start-foreground

(2)构建镜像

构建镜像gpmall-zookeeper:v1.0:

[[email protected] gpmall]# docker build -t gpmall-zookeeper:v1.0 -f Dockerfile-zookeeper .

Sending build context to Docker daemon  507.6MB

Step 1/14 : FROM centos:centos7.5.1804

 ---> cf49811e3cdb

Step 2/14 : MAINTAINER Chinaskill

 ---> Using cache

 ---> 612224da592d

Step 3/14 : ADD gpmall.tar /opt

 ---> Using cache

 ---> 6d1ddf658c25

Step 4/14 : RUN rm -rfv /etc/yum.repos.d/*

 ---> Using cache

 ---> 6a228b86827e

Step 5/14 : ADD local.repo /etc/yum.repos.d/

 ---> Using cache

 ---> 68cd0048ecc7

Step 6/14 : RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

 ---> Using cache

 ---> 2fd39963721f

Step 7/14 : ENV work_path /usr/local

 ---> Using cache

 ---> 3fdc92bc1ed1

Step 8/14 : WORKDIR $work_path

 ---> Using cache

 ---> c072b5dab01f

Step 9/14 : ADD zookeeper-3.4.14.tar.gz /usr/local

 ---> Using cache

 ---> 41eac879569f

Step 10/14 : ENV ZOOKEEPER_HOME /usr/local/zookeeper-3.4.14

 ---> Using cache

 ---> 3d875f5082d4

Step 11/14 : ENV PATH $PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOKEEPER_HOME/bin

 ---> Using cache

 ---> 7875d2c65d28

Step 12/14 : RUN cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg

 ---> Using cache

 ---> d0c5f717cd0b

Step 13/14 : EXPOSE 2181

 ---> Using cache

 ---> c74c0223d17e

Step 14/14 : CMD $ZOOKEEPER_HOME/bin/zkServer.sh start-foreground

 ---> Using cache

 ---> df75e640384d

Successfully built df75e640384d

Successfully tagged gpmall-zookeeper:v1.0


推荐阅读
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了在Windows系统下安装Python、setuptools、pip和virtualenv的步骤,以及安装过程中需要注意的事项。详细介绍了Python2.7.4和Python3.3.2的安装路径,以及如何使用easy_install安装setuptools。同时提醒用户在安装完setuptools后,需要继续安装pip,并注意不要将Python的目录添加到系统的环境变量中。最后,还介绍了通过下载ez_setup.py来安装setuptools的方法。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
author-avatar
乘浪追风2010_210
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有