Kubernetes 1.5部署sonarqube

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

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

[[email protected] sonarqube]# ll -h
total 16K-rw-r--r--. 1 root root 682 Mar 15 23:25 mysql-sonar-dm.yml-rw-r--r--. 1 root root 209 Mar 15 23:35 mysql-sonar-svc.yml-rw-r--r--. 1 root root 669 Mar 16 09:46 sonar-dm.yml-rw-r--r--. 1 root root 151 Mar 15 23:30 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: 1#  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: 3306
        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: 3306
      targetPort: 3306
      nodePort: 30002
  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: 1
 #selector:
 #  app: sonar
 template:
   metadata:
     labels:
       app: sonar
   spec:
     containers:       - name: sonar
         image: myhub.fdccloud.com/library/sonarqube:6.2
         ports:         - containerPort: 9000
         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: 9000
      nodePort: 30001
  selector:
    app: sonar

启动sonar应用:

kubectl create -f /data/kubernetes/sonarqube/

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

时间: 2024-09-19 21:10:51

Kubernetes 1.5部署sonarqube的相关文章

kubernetes集群部署

鉴于Docker如此火爆,Google推出kubernetes管理docker集群,不少人估计会进行尝试.kubernetes得到了很多大公司的支持,kubernetes集群部署工具也集成了gce,coreos,aws等iaas平台,部署起来也相当的方便.鉴于网上众多资料基于的是不少老版本,本篇文章针对最新的kubernetes及其依赖组件的部署简要阐述.通过本文可以比较粗暴的运行你的kubernetes集群,要优雅还需要更多的工作.部署主要分为三步: 1.准备机器并打通网络 如果要部署kube

Kubernetes集群部署DNS服务

Kubernetes集群部署DNS服务在kubernetes中每一个service都会被分配一个虚拟IP,每一个Service在正常情况下都会长时间不会改变,这个相对于pod的不定IP,对于集群中APP的使用相对是稳定的. 但是Service的信息注入到pod目前使用的是环境变量的方式,并且十分依赖于pod(rc)和service的创建顺序,这使得这个集群看起来又不那么完美,于是kubernetes以插件的方式引入了DNS系统,利用DNS对Service进行一个映射,这样我们在APP中直接使用域

kubernetes 1.11 部署

kubernetes 1.11 部署 参考文档文档编译 [https://github.com/kubernetes/kubernetes/tree/release-1.11/cluster/images/hyperkube]() 参考文档文档编译 环境安装 1. docker install 所有节点都按照docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-rep

Kubernetes 通过statefulset部署redis cluster集群

Kubernetes 通过statefulset部署redis cluster集群 作者: 张首富 时间: 2019-02-19 个人博客地址: https://www.zhangshoufu.com QQ群: 895291458 需要有redis基础 Redis集群架构图 每个Mater 都可以拥有多个slave.当Master掉线后,redis cluster集群会从多个Slave中选举出来一个新的Matser作为代替,而旧的Master重新上线后变成 Master 的Slave. 部署re

Kubernetes之kubeadm部署集群

目录 Kubernetes之kubeadm部署集群 1.部署前准备 2.集群初始化 Kubernetes之kubeadm部署集群 kubeadm是Kubernetes项目自带的集群构建工具,它负责执行构建一个最小化的可用集群以及将其启动等的必要基本步骤,简单来讲,kubeadm是Kubernetes集群全生命周期的管理工具,可用于实现集群的部署.升级/降级及拆除. kubeadm集成了kubeadminit和kubeadmjoin等工具程序,其中kubeadminit用于集群的快速初始化,初始化

Kubernetes之快速部署应用

目录 Kubernetes之快速部署应用 kubectl命令介绍 kubectl run命令行部署应用 kubectl expose 通过service暴漏Pod kubectl scale 动态伸缩应用副本 kubectl set image 应用版本升级 kubectl rollout 回滚 集群外部访问Service Kubernetes之快速部署应用 kubectl命令介绍 [[email protected] ~]# kubectl --help kubectl controls th

kubernetes 集群部署

kubernetes 集群部署 环境JiaoJiao_Centos7-1(152.112) 192.168.152.112JiaoJiao_Centos7-2(152.113) 192.168.152.113JiaoJiao_Centos7-3(152.114) 192.168.152.114已开通 4C+8G+80G 集群规划 部署方式 环境准备:基于主机名称通信,时间同步,关闭firewall和iptables.service 方式一:yum ,rpm 安装.复杂. 1. etcd clus

Kubernetes/2.Kubernetes基础和部署说明

Kubernetes基础和部署说明 本章节首先就基础组件.集群基础对象和控制器进行了详细的介绍和说明,然后辨析了集群网络中的三种网络和专有名词,最后关于新手部署测试和生产环境的部署要点进行了归纳说明. 基础组件 基础对象(Objects) 控制器 集群网络 部署要点 备注 基础组件 如图所示,kubernetes集群中主要分为三个组件: Master Components kube-apiserver:作为k8s控制平面的前端,也是所有请求接收的入口 etcd:k8s集群后端所有集群数据的高可用

kubernetes 的helm 部署

kubernetes 的helm 部署 标签(空格分隔):kubernetes系列 一:什么是 Helm 二:Helm部署 一:什么是 Helm 在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment.svc 等,步骤较繁琐.况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式,支持发布的版本管理和控制,很大程度上简化了 Kubernetes 应用的部署和管理 Helm 本质就是让 K8s 的应用管理(Depl