Last active
May 20, 2021 18:56
-
-
Save tkrausjr/96fd71ac2be767445a34b229126c8bca to your computer and use it in GitHub Desktop.
POC_May_20
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. helm repo add bitnami https://charts.bitnami.com/bitnami | |
2. kubectl create namespace kubeapps | |
3. NOTE: | |
4. Setup values.yaml file | |
1. cd /root/github/k8s-manifests/pacific/applications/kubeapps | |
2. vi values.yaml | |
1. TO Change Image Locations -(use the caching Harbor proxy server ) | |
1. sed -i 's/docker.io/harbor.tpmlab.vmware.com\/proxy/g' values.yaml | |
2. To Change to SVC type LoadBalancer | |
1. service: | |
2. ## @param frontend.service.type Frontend service type | |
3. ## | |
4. type: LoadBalancer | |
5. helm install kubeapps --namespace kubeapps bitnami/kubeapps --set useHelm3=true -f ./values.yaml | |
6. kubectl create serviceaccount kubeapps-operator | |
7. kubectl create clusterrolebinding kubeapps-operator --clusterrole=cluster-admin --serviceaccount=default:kubeapps-operator | |
8. kubectl get secret $(kubectl get serviceaccount kubeapps-operator -o jsonpath='{range .secrets[*]}{.name}{"\n"}{end}' | grep kubeapps-operator-token) -o jsonpath='{.data.token}' -o go-template='{{.data.token | base64decode}}' && echo | |
9. k edit svc kubeapps -n kubeapps | |
1. Change type: ClusterIP | |
1. to | |
2. type: LoadBalancer | |
10. k get svc -A | |
1. NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE | |
2. kubeapps LoadBalancer 10.105.82.122 10.193.166.68 80:32724/TCP 101s | |
11. Login to Web Interface | |
1. Chrome —> http://192.168.40.201 | |
1. Copy Paste Bearer Token from Step 6 above. ( kubectl get secret ) | |
12. ADD TAC to your KubeApps Dashboard as a repository | |
1. Login to Local kubeapps | |
1. Chrome —> http://192.168.40.201 | |
2. Configuration —> App Repositories —>Add App Repository | |
1. Name: Bitnami Repo | |
2. URL: https://charts.bitnami.com/bitnami | |
1. —> Install Repo | |
Deploy Helm Chart bitnami/kube-prometheus below using parameters from kube-prometheus-operator-values.yaml | |
Deply Grafana Chart bitnami/grafana using parameters from bitnami-grafana-helm-values.yaml | |
- [ ] Change Service to type LoadBalancer | |
- [ ] k get svc | |
- [ ] k edit svc bit-grafana-4 | |
- [ ] Get Password | |
- [ ] echo "Password: $(kubectl get secret bit-grafana-4-admin --namespace default -o jsonpath="{.data.GF_SECURITY_ADMIN_PASSWORD}" | base64 --decode)" | |
- [ ] Password: w5pbL3fRZR | |
- [ ] Loginto external IP Address: | |
- [ ] Add Data Source | |
- [ ] Prometheus | |
- [ ] http://10.96.94.126:9090 | |
- [ ] NOTE: This is the ClusterIP for the Prometheus Service listening on port 9090 | |
- [ ] bitnami-kubeprometheus-kub-prometheus ClusterIP 10.96.94.126 <none> 9090/TCP 28m | |
- [ ] Import a Dashboard | |
- [ ] --> On Right --> Click PLUS Sign + | |
- [ ] Select Import | |
- [ ] Import via Grafana.com | |
- [ ] Get Dashboard ID for me it was 13382 | |
- [ ] Dashboards can be seen here https://grafana.com/grafana/dashboards | |
- [ ] Select Prometheus Data Source |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
bitnami-prometheus-values.yaml
alertmanager:
additionalPeers: []
affinity: {}
config:
global:
resolve_timeout: 5m
receivers:
- name: "null"
route:
group_by:
- job
group_interval: 5m
group_wait: 30s
receiver: "null"
repeat_interval: 12h
routes:
- match:
alertname: Watchdog
receiver: "null"
configMaps: []
configNamespaceSelector: {}
configSelector: {}
containers: []
enabled: true
externalConfig: false
image:
registry: harbor.tpmlab.vmware.com/proxy
repository: bitnami/alertmanager
tag: 0.21.0-debian-10-r294
ingress:
annotations: {}
apiVersion: null
certManager: false
enabled: false
hostname: alertmanager.local
path: /
pathType: ImplementationSpecific
secrets: []
tls: false
listenLocal: false
logFormat: logfmt
logLevel: info
nodeAffinityPreset:
key: ""
type: ""
values: []
nodeSelector: {}
paused: false
persistence:
accessModes:
- ReadWriteOnce
enabled: false
size: 8Gi
podAffinityPreset: ""
podAntiAffinityPreset: soft
podDisruptionBudget:
enabled: false
minAvailable: 1
podMetadata:
annotations: {}
labels: {}
portName: web
priorityClassName: ""
replicaCount: 1
resources: {}
retention: 120h
routePrefix: /
secrets: []
securityContext:
enabled: true
fsGroup: 1001
runAsUser: 1001
service:
annotations: {}
externalTrafficPolicy: Cluster
port: 9093
type: ClusterIP
serviceAccount:
create: true
serviceMonitor:
enabled: true
interval: ""
metricRelabelings: []
relabelings: []
storageSpec: {}
tolerations: []
volumeMounts: []
volumes: []
coreDns:
enabled: true
namespace: kube-system
service:
enabled: true
port: 9153
targetPort: 9153
serviceMonitor:
interval: ""
metricRelabelings: []
relabelings: []
exporters:
kube-state-metrics:
enabled: true
node-exporter:
enabled: true
global:
labels: {}
kube-state-metrics:
serviceMonitor:
enabled: true
kubeApiServer:
enabled: true
serviceMonitor:
interval: ""
metricRelabelings: []
relabelings: []
kubeControllerManager:
enabled: true
endpoints: []
namespace: kube-system
service:
enabled: true
port: 10252
targetPort: 10252
serviceMonitor:
https: false
insecureSkipVerify: null
interval: ""
metricRelabelings: []
relabelings: []
serverName: null
kubeProxy:
enabled: true
endpoints: []
namespace: kube-system
service:
enabled: true
port: 10249
targetPort: 10249
serviceMonitor:
https: false
interval: ""
metricRelabelings: []
relabelings: []
kubeScheduler:
enabled: true
endpoints: []
namespace: kube-system
service:
enabled: true
port: 10251
targetPort: 10251
serviceMonitor:
https: false
insecureSkipVerify: null
interval: ""
metricRelabelings: []
relabelings: []
serverName: null
kubelet:
enabled: true
namespace: kube-system
serviceMonitor:
cAdvisorMetricRelabelings: []
cAdvisorRelabelings: []
https: true
interval: ""
metricRelabelings: []
relabelings: []
node-exporter:
extraArgs:
collector.filesystem.ignored-fs-types: ^(autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$
collector.filesystem.ignored-mount-points: ^/(dev|proc|sys|var/lib/docker/.+)($|/)
service:
labels:
jobLabel: node-exporter
serviceMonitor:
enabled: true
jobLabel: jobLabel
operator:
affinity: {}
configReloaderResources: {}
enabled: true
hostAliases: []
image:
pullPolicy: IfNotPresent
registry: harbor.tpmlab.vmware.com/proxy
repository: bitnami/prometheus-operator
tag: 0.47.1-debian-10-r0
kubeletService:
enabled: true
namespace: kube-system
livenessProbe:
failureThreshold: 6
initialDelaySeconds: 120
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
logFormat: logfmt
logLevel: info
nodeAffinityPreset:
key: ""
type: ""
values: []
nodeSelector: {}
podAffinityPreset: ""
podAntiAffinityPreset: soft
priorityClassName: ""
prometheusConfigReloader:
image: {}
readinessProbe:
failureThreshold: 6
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
resources: {}
securityContext:
enabled: true
fsGroup: 1001
runAsUser: 1001
service:
annotations: {}
externalTrafficPolicy: Cluster
port: 8080
type: ClusterIP
serviceAccount:
create: true
serviceMonitor:
enabled: true
interval: ""
metricRelabelings: []
relabelings: []
tolerations: []
prometheus:
additionalAlertRelabelConfigsExternal:
enabled: false
additionalPrometheusRules: []
additionalScrapeConfigs:
enabled: false
external:
key: ""
name: ""
internal:
jobList: []
type: external
additionalScrapeConfigsExternal:
enabled: false
affinity: {}
alertingEndpoints: []
configMaps: []
containers: []
disableCompaction: false
enableAdminAPI: false
enabled: true
evaluationInterval: ""
externalLabels: {}
image:
registry: harbor.tpmlab.vmware.com/proxy
repository: bitnami/prometheus
tag: 2.26.0-debian-10-r23
ingress:
annotations: {}
apiVersion: ""
certManager: false
enabled: false
hostname: prometheus.local
path: /
pathType: ImplementationSpecific
secrets: []
tls: false
listenLocal: false
logFormat: logfmt
logLevel: info
nodeAffinityPreset:
key: ""
type: ""
values: []
nodeSelector: {}
paused: false
persistence:
accessModes:
- ReadWriteOnce
enabled: false
size: 8Gi
podAffinityPreset: ""
podAntiAffinityPreset: soft
podDisruptionBudget:
enabled: false
minAvailable: 1
podMetadata:
annotations: {}
labels: {}
podMonitorNamespaceSelector: {}
podMonitorSelector: {}
portName: web
priorityClassName: ""
probeNamespaceSelector: {}
probeSelector: {}
prometheusExternalLabelName: ""
prometheusExternalLabelNameClear: false
querySpec: {}
remoteRead: []
remoteWrite: []
replicaCount: 1
replicaExternalLabelName: ""
replicaExternalLabelNameClear: false
resources: {}
retention: 10d
retentionSize: ""
routePrefix: /
ruleNamespaceSelector: {}
ruleSelector: {}
scrapeInterval: ""
secrets: []
securityContext:
enabled: true
fsGroup: 1001
runAsUser: 1001
service:
annotations: {}
externalTrafficPolicy: Cluster
port: 9090
type: ClusterIP
serviceAccount:
create: true
serviceMonitor:
enabled: true
interval: ""
metricRelabelings: []
relabelings: []
serviceMonitorNamespaceSelector: {}
serviceMonitorSelector: {}
storageSpec: {}
thanos:
create: false
extraArgs: []
image:
pullPolicy: IfNotPresent
registry: docker.io
repository: bitnami/thanos
tag: 0.19.0-scratch-r0
ingress:
annotations: {}
certManager: false
enabled: false
hosts:
- name: thanos.prometheus.local
path: /
tls: {}
objectStorageConfig: {}
prometheusUrl: ""
resources:
limits: {}
requests: {}
service:
annotations: {}
clusterIP: None
extraPorts: []
port: 10901
type: ClusterIP
tolerations: []
volumeMounts: []
volumes: []
walCompression: false
rbac:
apiVersion: v1beta1
create: true
pspEnabled: true