K8s-training: Difference between revisions

From Essential
Jump to navigation Jump to search
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
#URL https://appName-nameSpace.rootDomain
* URL https://appName-nameSpace.wildcardDomain
== YOURS VARS ==
== YOURS VARS ==
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
export rootDomain=
export wildcardDomain=
</syntaxhighlight>
</syntaxhighlight>


Line 9: Line 9:
echo "== INIT ENV =="
echo "== INIT ENV =="
export appName=wiki-demo
export appName=wiki-demo
#export nameSpace=home-$USER
hostName=${appName}.${wildcardDomain}
#hostName=${appName}-${nameSpace}.${rootDomain}
hostName=${appName}.${rootDomain}
appInternalPassword=$(echo -n ${hostName} |base64 -w0 )
appInternalPassword=$(echo -n ${hostName} |base64 -w0 )
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add bitnami https://charts.bitnami.com/bitnami
Line 21: Line 19:
     --set ingress.enabled=true,ingress.hostname=${hostName} \
     --set ingress.enabled=true,ingress.hostname=${hostName} \
     --set mariadb.auth.rootPassword=${appInternalPassword},mariadb.auth.password=${appInternalPassword} \
     --set mariadb.auth.rootPassword=${appInternalPassword},mariadb.auth.password=${appInternalPassword} \
     --set mediawikiHost=${hostName},mediawikiPassword=${appInternalPassword} |grep -vw namespace |tee ~/old/${hostName}
     --set mediawikiHost=${hostName},mediawikiPassword=${appInternalPassword} |grep -vw namespace |tee ~/old/${hostName}.yaml


echo "== DEPLOY =="
echo "== DEPLOY =="
#kubectl create namespace ${nameSpace}
[ ! -z "$(which oc)" ] &&oc get ns |grep default >/dev/null &&oc new-project $wildcardDomain
kubectl apply -f ~/old/${hostName}
kubectl apply -f ~/old/${hostName}.yaml
for sa in $(oc get sa -o jsonpath="{.items[*].metadata.name}")
 
do
echo "== FIX OPENSHIFT SOLUTION =="
  oc adm policy add-scc-to-user privileged -z ${sa}
if [ ! -z "$(which oc)" ] ;then
done
  for sa in $(oc get sa -o jsonpath="{.items[*].metadata.name}")
oc create route edge --service=${appName}-mediawiki --hostname=${hostName} 2>/dev/null #fix OPENSHIFT incompatibility
  do
    oc adm policy add-scc-to-user privileged -z ${sa}
  done
  oc create route edge --service=${appName}-mediawiki --hostname=${hostName} 2>/dev/null
fi


echo "== YOURS URL =="
echo "== YOURS URL =="
#kubectl get ingress -n ${nameSpace}
echo https://${hostName}
echo https://${hostName}
</syntaxhighlight>
</syntaxhighlight>
Line 39: Line 40:
== DELETE ==
== DELETE ==
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
oc delete route ${appName}-mediawiki 2>/dev/null
oc delete route ${appName}-mediawiki 2>/dev/null #FIX OPENSHIFT SOLUTION
kubectl delete -f ~/old/${hostName}
kubectl delete -f ~/old/${hostName}.yaml
# -n ${nameSpace}


echo "== DELETE REMAINING DB =="
echo "== DELETE REMAINING DB =="
#kubectl get pvc
# -n ${nameSpace}
kubectl delete pvc/data-${appName}-mariadb-0
kubectl delete pvc/data-${appName}-mariadb-0
# -n ${nameSpace}
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 21:35, 25 December 2023

YOURS VARS

export wildcardDomain=

DEPLOY

echo "== INIT ENV =="
export appName=wiki-demo
hostName=${appName}.${wildcardDomain}
appInternalPassword=$(echo -n ${hostName} |base64 -w0 )
helm repo add bitnami https://charts.bitnami.com/bitnami
mkdir -p ~/old

echo "== INFRA =="
clear
helm template ${appName} bitnami/mediawiki \
    --set ingress.enabled=true,ingress.hostname=${hostName} \
    --set mariadb.auth.rootPassword=${appInternalPassword},mariadb.auth.password=${appInternalPassword} \
    --set mediawikiHost=${hostName},mediawikiPassword=${appInternalPassword} |grep -vw namespace |tee ~/old/${hostName}.yaml

echo "== DEPLOY =="
[ ! -z "$(which oc)" ] &&oc get ns |grep default >/dev/null &&oc new-project $wildcardDomain
kubectl apply -f ~/old/${hostName}.yaml

echo "== FIX OPENSHIFT SOLUTION =="
if [ ! -z "$(which oc)" ] ;then
  for sa in $(oc get sa -o jsonpath="{.items[*].metadata.name}")
  do
    oc adm policy add-scc-to-user privileged -z ${sa}
  done
  oc create route edge --service=${appName}-mediawiki --hostname=${hostName} 2>/dev/null
fi

echo "== YOURS URL =="
echo https://${hostName}

DELETE

oc delete route ${appName}-mediawiki 2>/dev/null #FIX OPENSHIFT SOLUTION
kubectl delete -f ~/old/${hostName}.yaml

echo "== DELETE REMAINING DB =="
kubectl delete pvc/data-${appName}-mariadb-0