前面几篇博文我们一直在说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. ASP.NET 异步Web API + jQuery Ajax 文件上传代码小析

    该示例中实际上应用了 jquery ajax(web client) + async web api 双异步. jquery ajax post $.ajax({ type: "POST&q ...

  2. Windows下使用WinRAR命令自动备份文件

    最近有一个需求:为了防止数据丢失,每天对固定文件夹下的文件进行打包压缩备份. 解决办法:使用Windows的任务计划程序,每天执行一下压缩命令: Windows任务计划程序在这里就不再介绍了,网上有很 ...

  3. LeetCode 48. Rotate Image (C++)

    题目: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...

  4. AJAX请求.net controller数据交互过程

    AJAX发出请求 $.ajax({ url: "/Common/CancelTaskDeal", //CommonController下的CancelTaskDeal方法 type ...

  5. prototype.js中Function.prototype.bind方法浅解

    prototype.js中的Function.prototype.bind方法: Function.prototype.bind = function() { var __method = this; ...

  6. sysbench 环境安装,压测mysql

    源码路径:https://github.com/akopytov/sysbench 版本linux 6.8sysbench 0.5mysql 5.6.29 1.安装pip略 2.pip 安装bzr p ...

  7. C#和Java访问修饰符的比较

    访问修饰符对于C#:类 的默认修饰符是 internal(外部类只能被public / internal 修饰)枚举 的默认修饰符是 public 且此类型不允许其它访问修饰符接口 的默认修饰符是 i ...

  8. LoadRunner脚本增强技巧之参数化(一)

    参数化的方式有两种,一种通过File引入参数值,一种通过数据库引入参数值.本篇介绍File方式引入参数值. 一.File方式参数化过程 1.在脚本中找到需要做参数化的字符串,选中,右键点击,选择Rep ...

  9. 【前端学习笔记】JavaScript JSON对象相关操作

    //JSON方法 //JSON.parse(); var json = '{"name":"zj","age":23}'; JSON.par ...

  10. jquery实现可编辑的下拉框( input + select )

    HTML: <input id="inputModel" /> <select name="EngineModel" size="1 ...