青蛙小白
#Kubernetes #Ceph

Kubernetes资源对象之Persistent Volumes

PV和PVC的概念 Kubernetes的Persistent Volume是对存储的抽象,这个抽象包含两个资源: 持久化卷 PersistentVolume,后边简称PV 持久卷申请PersistentVolumeClaim,后边简称PVC PV是集群中的一块网络存储,也是Kubernetes集群的一种资源。 Pod的Volume与PV的区别是:Volume的生命周期和Pod相同,Pod被删除时,Volume和保存在Volume中的数据就被删除了;对于PV,即使挂载PV的Pod被删除了,PV仍然存在,PV上的数据也还在。

#Kubernetes

从集群外部访问Kubernetes Service

Kubernetes通过Service资源在Kubernetes集群内针对容器实现了服务发现和负载均衡。 如果服务要暴露到集群外部,从集群外部访问服务,需要借助一些集群外部提供的负载均衡策略。 先来看一下Kubernetes Service的类型: Kubernetes Service类型 ClusterIp:默认类型,自动分配集群内部可以访问的虚拟IP, ClusterIp NodePort:基于ClusterIp提供的功能,为Service在Kubernetes集群的每个Node上绑定一个端口,即NodePort,集群外部可基于任何一个NodeIP:NodePort的形式来访问Service。Service在每个Node的NodePort端口上都可用。 LoadBalancer:基于NodePort提供的功能,借助云服务供应商提供的外部负载均衡器,将请求转发到各个NodeIp:NodePort。只有特定的云服务商和GCE(Google Container Engine)支持该方案。 Service提供的负载均衡功能,但在使用上有以下限制:

在Kubernetes上运行SonarQube

文本描述如何在Kubernetes上运行一个Sonarqube和MySQL。 准备 kubernetes集群构成如下,这里是单机的试验环境。 kubectl get nodes NAME STATUS AGE cent0 Ready,master 1h mysql的pod mysql-rc.yaml apiVersion: v1 kind: ReplicationController metadata: name: mysql spec: replicas: 1 selector: app: mysql template: metadata: labels: app: mysql spec: containers: - name: mysql image: mysql:5.7 ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: "123456" - name: MYSQL_DATABASE value: sonardb - name: MYSQL_USER value: sonar - name: MYSQL_PASSWORD value: sonar 创建RC