前面几篇博文我们一直在说kubernetes的基础环境的安装及部署。在基础环境部署完成以后,我们开始尝试使用kubernetes来管理我们的应用。本篇博文通过一个简单的示例来向大家展示如何通过deployment和service来部署一个应用。我们以部署一个sonarqube为例。

sonarqube是一个代码审查工具,包含两部分,分别是web站点和数据库。我们在存放所有yml文件的目录/data/kubernetes下再创建一个sonarqube目录,并生成如下四个文件:

[root@server- sonarqube]# ll -h
total 16K
-rw-r--r--. root root Mar : mysql-sonar-dm.yml
-rw-r--r--. root root Mar : mysql-sonar-svc.yml
-rw-r--r--. root root Mar : sonar-dm.yml
-rw-r--r--. root root Mar : sonar-svc.yml

其中mysql-sonar-dm.yml和mysql-sonar-svc.yml用于创建sonarqube使用的数据库,内容如下:

vim mysql-sonar-dm.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: mysql-sonar
spec:
replicas:
# selector:
# app: mysql-sonar
template:
metadata:
labels:
app: mysql-sonar
spec:
containers:
- name: mysql-sonar
image: myhub.fdccloud.com/library/mysql:5.6
ports:
- containerPort:
env:
- name: MYSQL_ROOT_PASSWORD
value: "mysoft"
- name: MYSQL_DATABASE
value: sonardb
vim mysql-sonar-svc.yml

apiVersion: v1
kind: Service
metadata:
name: mysql-sonar
spec:
type: NodePort
ports:
- port:
targetPort:
nodePort:
selector:
app: mysql-sonar

sonar-dm.yml和sonar-svc.yml分别用于创建sonar的pod和service,内容如下:

vim sonar-dm.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: sonar
spec:
replicas:
#selector:
# app: sonar
template:
metadata:
labels:
app: sonar
spec:
containers:
- name: sonar
image: myhub.fdccloud.com/library/sonarqube:6.2
ports:
- containerPort:
env:
- name: SONARQUBE_JDBC_USERNAME
value: sonar
- name: SONARQUBE_JDBC_PASSWORD
value: sonar
- name: SONARQUBE_JDBC_URL
value: "jdbc:mysql://mysql-sonar:3306/sonardb?useSSL=false&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance"
vim sonar-svc.yml

apiVersion: v1
kind: Service
metadata:
name: sonar
spec:
type: NodePort
ports:
- port:
nodePort:
selector:
app: sonar

启动sonar应用:

kubectl create -f /data/kubernetes/sonarqube/

通过http://<node-IP>:30001访问sonarqube:

Kubernetes 1.5部署sonarqube的更多相关文章

  1. kubernetes 部署SonarQube 7.1 关联LDAP

    之前有写过一篇如何在kubernetes上部署SonarQube的文档, 然后由于客户的需求,需要SonarQube关联LDAP的用户, 于是今天花了半天时间研究了以下如何在原有的基础上安装LDAP插 ...

  2. 在k8s集群部署SonarQube

    目录 1.2.存储环境 1.3.sonarqube版本 2.部署sonarqube 2.1.部署PostgreSQL 2.2.部署SonarQube 2.3.访问检查 SonarQube 是一款用于代 ...

  3. kubernetes集群部署

    鉴于Docker如此火爆,Google推出kubernetes管理docker集群,不少人估计会进行尝试.kubernetes得到了很多大公司的支持,kubernetes集群部署工具也集成了gce,c ...

  4. Kubernetes集群部署关键知识总结

    Kubernetes集群部署需要安装的组件东西很多,过程复杂,对服务器环境要求很苛刻,最好是能连外网的环境下安装,有些组件还需要连google服务器下载,这一点一般很难满足,因此最好是能提前下载好准备 ...

  5. 基于Kubernetes集群部署skyDNS服务

    目录贴:Kubernetes学习系列 在之前几篇文章的基础,(Centos7部署Kubernetes集群.基于kubernetes集群部署DashBoard.为Kubernetes集群部署本地镜像仓库 ...

  6. Kubernetes集群部署之四Master节点部署

    Kubernetes Master节点部署三个服务:kube-apiserver.kube-controller-manager.kube-scheduler和一个命令工具kubectl. Maste ...

  7. 为Kubernetes集群部署本地镜像仓库

    目录贴:Kubernetes学习系列 经过之前两篇文章:Centos7部署Kubernetes集群.基于kubernetes集群部署DashBoard,我们基本上已经能够在k8s的集群上部署一个应用了 ...

  8. kubernetes 1.9部署实践

    目录 简要说明 环境说明 安装前的约定 配置etcd 生成相关证书 证书类型说明 cfssl配置 证书相关配置 生成ca证书 生成kubernetes证书 生成kubectl证书 生成kube-pro ...

  9. Kubernetes 集群部署(2) -- Etcd 集群

    Kubenetes 集群部署规划: 192.168.137.81  Master 192.168.137.82  Node 192.168.137.83  Node 以下在 Master 节点操作. ...

随机推荐

  1. 算法笔记(c++)--使用一个辅助栈排列另一个栈

    算法笔记(c++)--使用一个辅助栈排列另一个栈 仅仅使用一个辅助栈,不使用其他数据结构来排列一个栈,要求,上大下小. 分析下.肯定是先吧主栈中的数据都放到辅助栈中,在辅助栈中上小下大. 1.首先循环 ...

  2. TCP的三次握手(建立连接)和四次挥手(关闭连接)(转)

    转自:(http://www.cnblogs.com/Jessy/p/3535612.html) 参照: http://course.ccniit.com/CSTD/Linux/reference/f ...

  3. CSS中水平居中设置的几种方式

    1.行内元素: 如果被设置元素为文本.图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的. <body> <div class="t ...

  4. 前端获取URL和SESSON中的值

    .CS中代码 public ActionResult Index(string viewname, bool partial = false) { //获取URL中的 foreach (var key ...

  5. U盘安装OSX

    1.插入U盘,磁盘工具,格式化U盘为Mac OS X拓展 (日志式): 2.去网站搜索recovery disk assistant,此文件大约1.1M,直接打开使用它制作启动盘,进度条完毕就完成了. ...

  6. 机器学习实战第二章----KNN

    tile的使用方法 tile(A,n)的功能是把A数组重复n次(可以在列方向,也可以在行方向) argsort()函数 argsort()函数返回的是数组中值从大到小的索引值 dict.get()函数 ...

  7. OC创建对象并访问成员变量

    1.创建一个对象 Car *car =[Car new] 只要用new操作符定义的实体,就会在堆内存中开辟一个新空间 [Car new]在内存中 干了三件事 1)在堆中开辟一段存储空间 2)初始化成员 ...

  8. Struts2(二)

    以下内容是基于导入struts2-2.3.32.jar包来讲的 1.关于StrutsPrepareAndExecuteFilter 启动StrutsPrepareAndExecuteFilter时加载 ...

  9. JS在当前页面插入<script>标签,并执行

    将<script>标签绑定到<html>上, html可换成body,header等其他存在的标签. var htmm =document.getElementsByTagNa ...

  10. 数据库引擎InnoDB和MyISAM区别

    MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良.虽然性能极佳,但却有一个缺点 ...