Skip to content

Instantly share code, notes, and snippets.

@tkrausjr
Last active May 20, 2021 18:56
Show Gist options
  • Save tkrausjr/96fd71ac2be767445a34b229126c8bca to your computer and use it in GitHub Desktop.
Save tkrausjr/96fd71ac2be767445a34b229126c8bca to your computer and use it in GitHub Desktop.
POC_May_20
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
@tkrausjr
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment