Compare commits
5 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
06d657e987 | |
|
|
153cda919c | |
|
|
e630ba5f8f | |
|
|
ae34e938ce | |
|
|
a5d6439164 |
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Dynatrace OneAgent Installer
|
||||||
|
|
||||||
|
Installs OneAgent on target machine.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
```
|
||||||
|
./setup.sh <api_token>
|
||||||
|
```
|
||||||
96
script.sh
96
script.sh
|
|
@ -1,96 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
|
|
||||||
# Author : NTT Data AG
|
|
||||||
# Date : 11-05-2023
|
|
||||||
|
|
||||||
|
|
||||||
# update resources
|
|
||||||
function update {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# install necessary packages
|
|
||||||
function install_resources {
|
|
||||||
sudo dnf install -y container-selinux
|
|
||||||
sudo dnf install -y https://rpm.rancher.io/k3s/stable/common/centos/8/noarch/k3s-selinux-1.2-2.el8.noarch.rpm
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# install k3s
|
|
||||||
# docs: https://docs.k3s.io/installation/configuration
|
|
||||||
function get_k3s {
|
|
||||||
sudo curl -sfL https://get.k3s.io | INSTALL_K3S_SYMLINK="skip" K3S_KUBECONFIG_MODE="644" INSTALL_K3S_EXEC="--disable=traefik" sh -
|
|
||||||
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
|
|
||||||
k3s kubectl get pods -A
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# fetch helm resources
|
|
||||||
# docs: https://helm.sh/docs/intro/install/
|
|
||||||
function install_helm {
|
|
||||||
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
|
|
||||||
chmod 700 get_helm.sh
|
|
||||||
./get_helm.sh
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
git
|
|
||||||
https://www.liquidweb.com/kb/how-to-install-and-configure-git-on-fedora-22/#:~:text=1%20Introduction.%20Git%20is%20a%20widely%20adopted%2C%20distributed,for%20git.%20Using%20the%20%E2%80%93global%20option...%20More%20
|
|
||||||
|
|
||||||
sudo dnf -y update
|
|
||||||
sudo dnf -y install git
|
|
||||||
|
|
||||||
|
|
||||||
checkout sockshop
|
|
||||||
https://microservices-demo.github.io/deployment/kubernetes-start.html
|
|
||||||
|
|
||||||
git clone https://github.com/microservices-demo/microservices-demo.git
|
|
||||||
k3s kubectl create namespace sock-shop
|
|
||||||
k3s kubectl apply -f complete-demo.yaml
|
|
||||||
|
|
||||||
|
|
||||||
other
|
|
||||||
k3s kubectl get pods -n sock-shop
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function get_k3s {
|
|
||||||
|
|
||||||
write_progress "Installing K3s (${K3SVERSION}) with NGINX instead of Traefik Ingress"
|
|
||||||
|
|
||||||
curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL="${K3SVERSION}" INSTALL_K3S_SYMLINK="skip" K3S_KUBECONFIG_MODE="644" INSTALL_K3S_EXEC="--disable=traefik" sh -
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# set the kubeconfig
|
|
||||||
|
|
||||||
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
|
|
||||||
|
|
||||||
kubectl get pods -A
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# install ingress nginx
|
|
||||||
|
|
||||||
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
|
|
||||||
|
|
||||||
helm repo update
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo "####### EW "
|
|
||||||
|
|
||||||
helm install ingress-nginx ingress-nginx/ingress-nginx --version="${NGINX_INGRESS_VERSION}"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# wait for nginx to be ready
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
129
setup.sh
129
setup.sh
|
|
@ -1,126 +1,29 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# Author : NTT Data AG
|
# Author : NTT Data AG
|
||||||
# Date : 11-05-2023
|
# Date : 16-05-2023
|
||||||
|
|
||||||
helm_install=false
|
# Installs dynatrace oneagent on target machine
|
||||||
app_name=""
|
|
||||||
|
|
||||||
# fetch helm resources
|
echo "Installing dynatrace oneagent"
|
||||||
# docs: https://helm.sh/docs/intro/install/
|
|
||||||
install_helm () {
|
|
||||||
# curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
|
|
||||||
# chmod 700 get_helm.sh
|
|
||||||
# ./get_helm.sh
|
|
||||||
echo "Helm not support yet."
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# install resources
|
|
||||||
# TODO: check if this works
|
|
||||||
install_k3s () {
|
|
||||||
sudo dnf install -y container-selinux
|
|
||||||
sudo dnf install -y https://rpm.rancher.io/k3s/stable/common/centos/8/noarch/k3s-selinux-1.2-2.el8.noarch.rpm
|
|
||||||
|
|
||||||
get_k3s
|
|
||||||
}
|
|
||||||
|
|
||||||
# install k3s
|
|
||||||
# docs: https://docs.k3s.io/installation/configuration
|
|
||||||
get_k3s () {
|
|
||||||
sudo curl -sfL https://get.k3s.io | INSTALL_K3S_SYMLINK="skip" K3S_KUBECONFIG_MODE="644" INSTALL_K3S_EXEC="--disable=traefik" sh -
|
|
||||||
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
|
|
||||||
kubectl get pods -A
|
|
||||||
}
|
|
||||||
|
|
||||||
# install git
|
|
||||||
install_git () {
|
|
||||||
sudo dnf -y update
|
|
||||||
sudo dnf -y install git
|
|
||||||
}
|
|
||||||
|
|
||||||
install_sock_shop () {
|
|
||||||
git clone https://github.com/microservices-demo/microservices-demo.git
|
|
||||||
cd microservices-demo/deploy/kubernetes
|
|
||||||
kubectl create namespace sock-shop
|
|
||||||
kubectl apply -f complete-demo.yaml
|
|
||||||
echo "Getting Pods from sock-shop namespace"
|
|
||||||
kubectl get pods -n sock-shop
|
|
||||||
# TODO: create check if list with pods returns and if they are ready
|
|
||||||
}
|
|
||||||
|
|
||||||
show_help() {
|
show_help() {
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
Usage: $0 [options]
|
Usage: $0 <dynatrace_token>
|
||||||
|
|
||||||
Options:
|
|
||||||
-h, --help Show help information
|
|
||||||
-m, --helm Install Helm. Set flag when you want to install helm.
|
|
||||||
-a, --app <app_name> Specify the app name
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
show_allowed_apps () {
|
if [ -z "$1" ]; then
|
||||||
cat <<EOF
|
echo "ERROR: no token provided."
|
||||||
Supported apps:
|
show_help
|
||||||
- socks_shop
|
exit 1
|
||||||
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
while [ "$#" -gt 0 ]; do
|
|
||||||
case "$1" in
|
|
||||||
-h|--help)
|
|
||||||
show_help
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
-m|--helm)
|
|
||||||
helm_install=true
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-a|--app)
|
|
||||||
if [ "$2" ]; then
|
|
||||||
app_name="$2"
|
|
||||||
shift 2
|
|
||||||
else
|
|
||||||
echo "Error: Missing argument for $1 option"
|
|
||||||
show_help
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Error: Unrecognized option $1"
|
|
||||||
show_help
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# Check if --helm was set
|
|
||||||
if [ "$helm_install" = true ]; then
|
|
||||||
install_helm
|
|
||||||
else
|
else
|
||||||
echo "Skipping helm"
|
echo "Downloading oneagent..."
|
||||||
fi
|
wget -O Dynatrace-OneAgent-Linux-1.265.137.sh "https://elw69065.live.dynatrace.com/api/v1/deployment/installer/agent/unix/default/latest?arch=x86&flavor=default" --header="Authorization: Api-Token $1"
|
||||||
|
echo "Verfiying signature"
|
||||||
echo "Installing GIT"
|
# TODO: add grep so this script is oneagent version agnostic
|
||||||
# install_git
|
wget https://ca.dynatrace.com/dt-root.cert.pem ; ( echo 'Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha-256"; boundary="--SIGNED-INSTALLER"'; echo ; echo ; echo '----SIGNED-INSTALLER' ; cat Dynatrace-OneAgent-Linux-1.265.137.sh ) | openssl cms -verify -CAfile dt-root.cert.pem > /dev/null
|
||||||
|
echo "Running dynatrace oneagent"
|
||||||
echo "Installing K3S"
|
sudo Dynatrace-OneAgent-Linux-1.265.137.sh --set-infra-only=false --set-app-log-content-access=true
|
||||||
# install_k3s
|
echo "Please restart processes you want to monitor"
|
||||||
|
|
||||||
# Validate app names
|
|
||||||
if [ -z "$app_name" ]; then
|
|
||||||
echo "Please specify app"
|
|
||||||
else
|
|
||||||
case $app_name in
|
|
||||||
"sock_shop")
|
|
||||||
echo "Installing sock shop"
|
|
||||||
install_sock_shop
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
show_allowed_apps
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
fi
|
||||||
Loading…
Reference in New Issue