Skip to content

Commit

Permalink
Merge pull request kubesphere#7 from pixiake/advanced-2.0.2
Browse files Browse the repository at this point in the history
add persistence options
  • Loading branch information
pixiake authored Aug 15, 2019
2 parents 2024a96 + d12a003 commit 47df03b
Show file tree
Hide file tree
Showing 13 changed files with 138 additions and 21 deletions.
4 changes: 3 additions & 1 deletion deploy/kubesphere-installer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ data:
etcd_endpoint_ips: 192.168.0.2
disableMultiLogin: True
elk_prefix: logstash
# local_registry: 192.168.1.2:5000
persistence:
enabled: false
storageClass: ""
kind: ConfigMap
metadata:
name: kubesphere-config
Expand Down
38 changes: 28 additions & 10 deletions roles/ks-devops/jenkins/tasks/wait_sonar.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,19 @@
- sonar_server_url is not defined
- sonar_server_token is not defined

- name: ks-devops | Getting ks-sonarqube ClusterIP
shell: "{{ bin_dir }}/kubectl get svc ks-sonarqube-sonarqube -n kubesphere-devops-system -o=jsonpath='{.spec.clusterIP}'"
register: ks_sonarqube_clusterIP
when:
- sonarqube_enable is defined
- sonarqube_enable == true
- sonar_server_url is not defined
- sonar_server_token is not defined

- name: ks-devops | Waitting for ks-sonarqube port to become open
wait_for:
host: "{{ ks_sonarqube_nodeIP.stdout }}"
port: "{{ ks_sonarqube_nodePort.stdout }}"
host: "{{ ks_sonarqube_clusterIP.stdout }}"
port: 9000
delay: 3
timeout: 600
when:
Expand All @@ -42,6 +51,15 @@
- sonar_server_url is not defined
- sonar_server_token is not defined

- name: ks-devops | Setting ks-sonarqube url
set_fact:
sonar_server_url_internal: "http://{{ ks_sonarqube_clusterIP.stdout }}:9000"
when:
- sonarqube_enable is defined
- sonarqube_enable == true
- sonar_server_url is not defined
- sonar_server_token is not defined

- name: ks-devops | Setting ks-sonarqube url
set_fact:
sonar_server_url: "http://{{ ks_sonarqube_nodeIP.stdout }}:{{ ks_sonarqube_nodePort.stdout }}"
Expand All @@ -53,7 +71,7 @@

- name: ks-devops | Waiting for ks-sonarqube
shell: >
curl -I -s -u {{ sonarqube_user_name }}:{{ sonarqube_user_passwd }} -X POST {{ sonar_server_url }}/api/user_tokens/generate|awk '{if(NR==1){print $2}}'
curl -I -s -u {{ sonarqube_user_name }}:{{ sonarqube_user_passwd }} -X POST {{ sonar_server_url_internal }}/api/user_tokens/generate|awk '{if(NR==1){print $2}}'
register: result
until:
- result is succeeded
Expand All @@ -69,7 +87,7 @@

- name: ks-devops | Checking ks-sonarqube token
uri:
url: "{{ sonar_server_url }}/api/user_tokens/search"
url: "{{ sonar_server_url_internal }}/api/user_tokens/search"
method: POST
user: "{{ sonarqube_user_name }}"
password: "{{ sonarqube_user_passwd }}"
Expand All @@ -87,7 +105,7 @@

- name: ks-devops | Deleting ks-sonarqube old token
uri:
url: "{{ sonar_server_url }}/api/user_tokens/revoke?name=jenkins"
url: "{{ sonar_server_url_internal }}/api/user_tokens/revoke?name=jenkins"
method: POST
user: "{{ sonarqube_user_name }}"
password: "{{ sonarqube_user_passwd }}"
Expand All @@ -102,7 +120,7 @@

- name: ks-devops | Generating ks-sonarqube token
uri:
url: "{{ sonar_server_url }}/api/user_tokens/generate?name=jenkins"
url: "{{ sonar_server_url_internal }}/api/user_tokens/generate?name=jenkins"
method: POST
user: "{{ sonarqube_user_name }}"
password: "{{ sonarqube_user_passwd }}"
Expand All @@ -116,7 +134,7 @@

- name: ks-devops | Setting user permission(admin)
uri:
url: "{{ sonar_server_url }}/api/permissions/add_user"
url: "{{ sonar_server_url_internal }}/api/permissions/add_user"
method: POST
user: admin
password: admin
Expand All @@ -133,7 +151,7 @@

- name: ks-devops | Setting user permission(gateadmin)
uri:
url: "{{ sonar_server_url }}/api/permissions/add_user"
url: "{{ sonar_server_url_internal }}/api/permissions/add_user"
method: POST
user: admin
password: admin
Expand All @@ -150,7 +168,7 @@

- name: ks-devops | Setting user permission(profileadmin)
uri:
url: "{{ sonar_server_url }}/api/permissions/add_user"
url: "{{ sonar_server_url_internal }}/api/permissions/add_user"
method: POST
user: admin
password: admin
Expand All @@ -167,7 +185,7 @@

- name: ks-devops | Creating ks-jenkins webhook(internal)
uri:
url: "{{ sonar_server_url }}/api/webhooks/create"
url: "{{ sonar_server_url_internal }}/api/webhooks/create"
method: POST
user: "{{ sonarqube_user_name }}"
password: "{{ sonarqube_user_passwd }}"
Expand Down
10 changes: 8 additions & 2 deletions roles/ks-devops/jenkins/templates/custom-values-jenkins.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -420,8 +420,14 @@ rbac:
install: true

Persistence:
# StorageClass: nfs-client

Enabled: {% if persistence.enable is defined and persistence.enable == true %}true{% else %}false{% endif %}

{% if persistence.storageClass is defined and persistence.storageClass != None %}
StorageClass: "{{ persistence.storageClass }}"
{% endif %}
AccessMode: ReadWriteOnce
Size: 8Gi

volumes:
- name: casc-config
configMap:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,15 @@ postgresql:
# Specify the TCP port that PostgreSQL should use
service:
port: 5432

persistence:
enabled: {% if persistence.enable is defined and persistence.enable == true %}true{% else %}false{% endif %}

{% if persistence.storageClass is defined and persistence.storageClass != None %}
storageClass: "{{ persistence.storageClass }}"
{% endif %}
accessMode: ReadWriteOnce
size: 8Gi

mysql:
# Enable to deploy the mySQL chart
enabled: false
Expand Down
14 changes: 10 additions & 4 deletions roles/ks-logging/templates/custom-values-elasticsearch.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,14 @@ master:
heapSize: "512m"
# additionalJavaOpts: "-XX:MaxRAM=512m"
persistence:
enabled: true
enabled: {% if persistence.enable is defined and persistence.enable == true %}true{% else %}false{% endif %}

accessMode: ReadWriteOnce
name: data
size: "4Gi"
# storageClass: "ssd"
{% if persistence.storageClass is defined and persistence.storageClass != None %}
storageClass: "{{ persistence.storageClass }}"
{% endif %}
readinessProbe:
httpGet:
path: /_cluster/health?local=true
Expand Down Expand Up @@ -127,11 +130,14 @@ data:
heapSize: "1536m"
# additionalJavaOpts: "-XX:MaxRAM=1536m"
persistence:
enabled: true
enabled: {% if persistence.enable is defined and persistence.enable == true %}true{% else %}false{% endif %}

accessMode: ReadWriteOnce
name: data
size: "{{ elasticsearch_volume_size }}"
# storageClass: "ssd"
{% if persistence.storageClass is defined and persistence.storageClass != None %}
storageClass: "{{ persistence.storageClass }}"
{% endif %}
readinessProbe:
httpGet:
path: /_cluster/health?local=true
Expand Down
4 changes: 3 additions & 1 deletion roles/ks-monitor/defaults/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@ etcd_cert_dir: "{{ etcd_config_dir }}/ssl"
etcd_tls_enable: true
etcd_client_ca_crt: "{{ etcd_cert_dir }}/ca.pem"
etcd_client_crt: "{{ etcd_cert_dir }}/node-{{ inventory_hostname }}.pem"
etcd_client_key: "{{ etcd_cert_dir }}/node-{{ inventory_hostname }}-key.pem"
etcd_client_key: "{{ etcd_cert_dir }}/node-{{ inventory_hostname }}-key.pem"

etcd_port: 2379
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ subsets:
{% endfor %}
ports:
- name: metrics
port: 2379
port: {{ etcd_port }}
protocol: TCP
7 changes: 7 additions & 0 deletions roles/ks-monitor/templates/prometheus-prometheus.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,18 @@ spec:
- kubelet
- prometheus-system
storage:
{% if persistence.enable is defined and persistence.enable == true %}
volumeClaimTemplate:
spec:
{% if persistence.storageClass is defined and persistence.storageClass != None %}
storageClassName: {{ persistence.storageClass }}
{% endif %}
resources:
requests:
storage: {{ prometheus_volume_size }}
{% else %}
emptyDir: {}
{% endif %}
tolerations:
- effect: NoSchedule
key: dedicated
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,18 @@ spec:
- kube-scheduler
- kube-controller-manager
storage:
{% if persistence.enable is defined and persistence.enable == true %}
volumeClaimTemplate:
spec:
{% if persistence.storageClass is defined and persistence.storageClass != None %}
storageClassName: {{ persistence.storageClass }}
{% endif %}
resources:
requests:
storage: {{ prometheus_volume_size }}
{% else %}
emptyDir: {}
{% endif %}
tolerations:
- effect: NoSchedule
key: dedicated
Expand Down
12 changes: 12 additions & 0 deletions roles/openpitrix/templates/etcd.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ spec:
protocol: TCP
port: 2379
targetPort: 2379

{% if persistence.enable is defined and persistence.enable == true %}
---
apiVersion: v1
kind: PersistentVolumeClaim
Expand All @@ -28,9 +30,13 @@ metadata:
spec:
accessModes:
- ReadWriteOnce
{% if persistence.storageClass is defined and persistence.storageClass != None %}
storageClassName: {{ persistence.storageClass }}
{% endif %}
resources:
requests:
storage: 20Gi
{% endif %}
---
apiVersion: apps/v1beta2
kind: Deployment
Expand Down Expand Up @@ -70,5 +76,11 @@ spec:
mountPath: /data
volumes:
- name: etcd-persistent-storage
{% if persistence.enable is defined and persistence.enable == true %}
persistentVolumeClaim:
claimName: openpitrix-etcd-pvc
{% else %}
hostPath:
path: /var/lib/kubesphere/etcd-data
type: DirectoryOrCreate
{% endif %}
13 changes: 13 additions & 0 deletions roles/openpitrix/templates/minio.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ spec:
protocol: TCP
port: 9000
targetPort: 9000

{% if persistence.enable is defined and persistence.enable == true %}
---
apiVersion: v1
kind: PersistentVolumeClaim
Expand All @@ -28,9 +30,14 @@ metadata:
spec:
accessModes:
- ReadWriteOnce
{% if persistence.storageClass is defined and persistence.storageClass != None %}
storageClassName: {{ persistence.storageClass }}
{% endif %}
resources:
requests:
storage: 20Gi
{% endif %}

---
apiVersion: apps/v1beta2
kind: Deployment
Expand Down Expand Up @@ -79,5 +86,11 @@ spec:
mountPath: /data
volumes:
- name: minio-persistent-storage
{% if persistence.enable is defined and persistence.enable == true %}
persistentVolumeClaim:
claimName: openpitrix-minio-pvc
{% else %}
hostPath:
path: /var/lib/kubesphere/minio-data
type: DirectoryOrCreate
{% endif %}
13 changes: 13 additions & 0 deletions roles/openpitrix/templates/mysql.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ spec:
protocol: TCP
port: 3306
targetPort: 3306

{% if persistence.enable is defined and persistence.enable == true %}
---
apiVersion: v1
kind: PersistentVolumeClaim
Expand All @@ -28,9 +30,14 @@ metadata:
spec:
accessModes:
- ReadWriteOnce
{% if persistence.storageClass is defined and persistence.storageClass != None %}
storageClassName: {{ persistence.storageClass }}
{% endif %}
resources:
requests:
storage: 20Gi
{% endif %}

---
apiVersion: apps/v1beta2
kind: Deployment
Expand Down Expand Up @@ -107,5 +114,11 @@ spec:
- ""
volumes:
- name: db-persistent-storage
{% if persistence.enable is defined and persistence.enable == true %}
persistentVolumeClaim:
claimName: openpitrix-db-pvc
{% else %}
hostPath:
path: /var/lib/kubesphere/db-data
type: DirectoryOrCreate
{% endif %}
Loading

0 comments on commit 47df03b

Please sign in to comment.