├── README.md ├── bitginx.yaml ├── countdown ├── demo-pipeline-run.yaml ├── demo-pipeline.yaml ├── demotask-run.yaml ├── demotask.yaml ├── gitops_pipeline.txt ├── history-6nov24.txt ├── history-april-2024.txt ├── index.html ├── morevolumes.yaml ├── myapp-route.json ├── mysql-storage.yml ├── nfs-pv-pod.yaml ├── nfs-pv.yaml ├── nfs-pvc.yaml ├── pv-pod.yaml ├── pv.yaml ├── pvc.yaml ├── s2i.yaml └── secondtask.yaml /README.md: -------------------------------------------------------------------------------- 1 | # openshift 2 | -------------------------------------------------------------------------------- /bitginx.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | creationTimestamp: null 5 | labels: 6 | app: biggyx 7 | name: biggyx 8 | spec: 9 | replicas: 3 10 | selector: 11 | matchLabels: 12 | app: biggyx 13 | strategy: {} 14 | template: 15 | restartPolicy: onFailure 16 | metadata: 17 | creationTimestamp: null 18 | labels: 19 | app: biggyx 20 | spec: 21 | containers: 22 | - image: bitnami/nginx 23 | name: nginx 24 | resources: {} 25 | status: {} 26 | -------------------------------------------------------------------------------- /countdown: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | COUNTER=$1 4 | COUNTER=$(( COUNTER * 60 )) 5 | 6 | while true 7 | do 8 | echo $COUNTER seconds remaining in break 9 | COUNTER=$(( COUNTER - 1 )) 10 | sleep 1 11 | done 12 | -------------------------------------------------------------------------------- /demo-pipeline-run.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: tekton.dev/v1beta1 2 | kind: PipelineRun 3 | metadata: 4 | name: demopipe-run 5 | spec: 6 | pipelineRef: 7 | name: demopipe 8 | params: 9 | - name: username 10 | value: "lisa" 11 | -------------------------------------------------------------------------------- /demo-pipeline.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: tekton.dev/v1beta1 2 | kind: Pipeline 3 | metadata: 4 | name: demopipe 5 | spec: 6 | params: 7 | - name: username 8 | type: string 9 | tasks: 10 | - name: demotask 11 | taskRef: 12 | name: demotask 13 | - name: secondtask 14 | runAfter: 15 | - demotask 16 | taskRef: 17 | name: secondtask 18 | params: 19 | - name: username 20 | value: $(params.username) 21 | -------------------------------------------------------------------------------- /demotask-run.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: tekton.dev/v1beta1 2 | kind: TaskRun 3 | metadata: 4 | name: demotask-run 5 | spec: 6 | taskRef: 7 | name: demotask 8 | -------------------------------------------------------------------------------- /demotask.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: tekton.dev/v1beta1 2 | kind: Task 3 | metadata: 4 | name: demotask 5 | spec: 6 | steps: 7 | - name: stepone 8 | image: alpine 9 | script: | 10 | #!/bin/sh 11 | echo "hello step one" 12 | - name: steptwo 13 | image: alpine 14 | script: | 15 | #!/bin/sh 16 | echo "hello step two" 17 | -------------------------------------------------------------------------------- /gitops_pipeline.txt: -------------------------------------------------------------------------------- 1 | GITOPS OPERATOR WORK 2 | 3 | CI PART 4 | a. create a preprod dataset in a persistent volume ( 5 | - unnamespaced: type hostPath 6 | - index.html containing text preproduction 7 | - StorageClass label "preproduction" 8 | b. create a prod dataset in a persistent volume 9 | - index.html containing text production 10 | - StorageClass label "production" 11 | 12 | kubectl apply -f gitops-preprod-pv.yaml 13 | kubectl apply -f gitops-preprod-pvc.yaml 14 | kubectl apply -f gitops-pv-pod-preprod.yaml 15 | kubectl exec -it gitops-pod-preprod -- bash 16 | echo preproduction > /usr/share/nginx/html/index.html 17 | kubectl delete -f gitops-pod-preprod 18 | kubectl apply -f gitops-prod-pv.yaml 19 | kubectl apply -f gitops-prod-pvc.yaml 20 | kubectl apply -f gitops-pv-pod-prod.yaml 21 | kubectl exec -it gitops-pod-prod -- bash 22 | echo production > /usr/share/nginx/html/index.html 23 | kubectl delete -f gitops-pod-prod 24 | 25 | 1. create a preprod environment as a namespace 26 | 27 | kubectl create ns preprod 28 | kubectl create ns prod 29 | # create gitops-preprod git repository and initialize it 30 | mkdir /gitops-preprod 31 | 32 | ## verify all of this 33 | ##assuming that gitops-preprod has been initialized as a git repo 34 | ### 35 | kubectl create deploy preprod-deploy --image=nginx --replicas=3 --dry-run=client -n preprod -o yaml > preprod-deploy.yaml 36 | ##edit to mount the storage (or use patch) 37 | ##edit to change label to environment=preproduction 38 | kubectl apply -f preprod-deploy.yaml 39 | kubectl expose deploy -n preprod preprod-deploy --label=environment=preproduction --type=NodePort --port=80 --dry-run=client -o yaml > preprod-svc.yaml 40 | kubectl apply -f preprod-svc.yaml 41 | # at this point we have deploy and svc files in git repo 42 | kubectl delete -f preprod-svc.yaml 43 | kubectl delete -f preprod-deploy.svc 44 | # copy the *pvc.yaml files to current directory 45 | git add * 46 | git commit -m "adding initial resources" 47 | git push 48 | # now we can run gitops-preprod-operator which will do a new kubectl apply every two minutes 49 | kubectl apply -f gitops-preprod-operator 50 | # now its time to run the script, test and promote to production 51 | # the script should run from a pod in the preprod namespace for smooth access to svc DNS name 52 | #!/bin/bash 53 | curl preprod | grep preproduction || exit 3 54 | cp preprod-deploy.yaml prod-deploy.yaml 55 | cp preprod-svc.yaml prod-svc.yaml 56 | sed -i -e 's/environment: preproduction/environment: production/g' prod*.yaml 57 | ## at this point the production files are ready ###VERIFY 58 | 59 | - poll the git repository for deployments periodically 60 | - deployment needs to run an nginx based deployment 61 | - comes with a PVC that uses StorageClass as a selector label in the same YAML file 62 | - uses label environment=preproduction 63 | - expose the application as a nodePort service, using environment=preproduction label 64 | - test the application: shell script that greps for preproduction after using curl to connect to the application 65 | - shell: if test succeeds 66 | - use sed to change environment=preproduction to environment=production in deployment yaml 67 | - use sed to change StorageClass name preproduction to production 68 | - shell: move this to appropriate Git branch or subdirectory (name=production) 69 | 70 | 71 | 72 | TODO: involve Git Branches 73 | 74 | CD PART 75 | 2. create a prod environment as a namespace 76 | - poll the git repository for deployments periodically and kubectl apply if there is a diff 77 | - expose the application as a nodePort service 78 | - test the application 79 | - if succeeds, continue running the operator loop 80 | 81 | -------------------------------------------------------------------------------- /history-6nov24.txt: -------------------------------------------------------------------------------- 1 | 1 sudo -i 2 | 2 su - 3 | 3 sudo -i 4 | 4 su - 5 | 5 eval $(crc oc-env) 6 | 6 oc login -u developer 7 | 7 oc new-project demoone 8 | 8 oc new-app rails-postgresql-example 9 | 9 oc get all 10 | 10 oc api-resources | less 11 | 11 oc explain pod 12 | 12 oc explain pod.spec 13 | 13 oc explain pod.spec.containers | less 14 | 14 oc api-resources | grep - deploy 15 | 15 oc api-resources | grep -i deploy 16 | 16 oc explain deploymentconfigs.spec | less 17 | 17 oc explain deployment.spec 18 | 18 oc new-project deploy 19 | 19 source <(oc completion bash) 20 | 20 oc create deployment nginxone --image=docker.io/bitnami/nginx 21 | 21 oc get all 22 | 22 oc describe deployment nginxone 23 | 23 oc describe pod nginxone-9bdf5fb7-4rqxr 24 | 24 oc logs nginxone-9bdf5fb7-4rqxr 25 | 25 oc whoami 26 | 26 oc get projects 27 | 27 oc get ns 28 | 28 crc console --credentials 29 | 29 oc login -u kubeadmin -p mjGRH-XmUQm-oC55w-zRSTX 30 | 30 oc get projects 31 | 31 oc get ns 32 | 32 oc get pods 33 | 33 oc project 34 | 34 oc get pods -A 35 | 35 oc login -u developer 36 | 36 oc get all -n demoone 37 | 37 oc whoami 38 | 38 oc new-project newapp 39 | 39 oc new-app --help | less 40 | 40 oc new-app quay.io/bitnami/nginx 41 | 41 oc new-app bitnami/nginx 42 | 42 oc get all 43 | 43 oc login -u kubeadmin -p mjGRH-XmUQm-oC55w-zRSTX 44 | 44 oc get statefullset -A 45 | 45 oc get statefulset -A 46 | 46 oc whoami 47 | 47 oc get ds -A 48 | 48 oc new-project scale 49 | 49 oc create deploy scaler --image=docker.io/bitnami/nginx 50 | 50 oc get all 51 | 51 oc scale deploy scaler --replicas=3 52 | 52 oc get all 53 | 53 oc autoscale deploy scaler --min=1 --max=10 --cpu-percent=10 54 | 54 oc get hpa 55 | 55 oc run redis --image=redus 56 | 56 oc run redis --image=redis 57 | 57 oc delete pod redis 58 | 58 oc run redis --image=redis 59 | 59 oc get pods 60 | 60 oc delete pod redis 61 | 61 oc login -u developer 62 | 62 oc new-project lab6 63 | 63 oc create deploy redis --image=redis --replicas=2 64 | 64 oc get all 65 | 65 oc autoscale deploy redis --min=1 --max=5 --cpu-percent=2 66 | 66 oc get hpa 67 | 67 oc get all 68 | 68 git clone https://github.com/sandervanvugt/openshift 69 | 69 sudo dnf install -y git 70 | 70 git clone https://github.com/sandervanvugt/openshift 71 | 71 cd openshift/ 72 | 72 ks 73 | 73 ls 74 | 74 cd .. 75 | 75 rm -rf openshift/ 76 | 76 git clone https://github.com/sandervanvugt/openshift 77 | 77 cd openshift/ 78 | 78 ls 79 | 79 vim morevolumes.yaml 80 | 80 oc apply -f morevolumes.yaml 81 | 81 oc get pods 82 | 82 oc describe pod morevol2 83 | 83 oc exec -it morevol2 -c centos1 -- touch /centos1/hello 84 | 84 oc exec -it morevol2 -c centos2 -- ls /centos2/ 85 | 85 ls 86 | 86 cat pv.yaml 87 | 87 oc get all 88 | 88 oc set volume --help | less 89 | 89 oc set volume deploy.redis --add -t --claim-size=1G --mount-path=/data 90 | 90 oc set volume deploy/redis --add -t pvc --claim-size=1G --mount-path=/data 91 | 91 oc describe deploy redis 92 | 92 oc get pvc,pv 93 | 93 oc login -u kubeadmin -p mjGRH-XmUQm-oC55w-zRSTX 94 | 94 oc get pv 95 | 95 oc describe pv pvc-8104d1c2-df65-44b5-b005-ecf053376a32 96 | 96 vim pv.yaml 97 | 97 vim pvc.yaml 98 | 98 vim pv-pod.yaml 99 | 99 oc whoami 100 | 100 oc login -u developer 101 | 101 oc new-project storage 102 | 102 oc create deploy dataweb --image=docker.io/bitnami/nginx --replicas=3 103 | 103 oc set volume deploy dataweb --add -t pvc --claim-size=1G --mount-path=/opt/bitnami/nginx/conf/ 104 | 104 oc login -u kubeadmin -p mjGRH-XmUQm-oC55w-zRSTX 105 | 105 oc get pvc,pv,storageclass 106 | 106 oc describe deployment dataweb 107 | 107 oc login -u developer 108 | 108 oc new-project lab7 109 | 109 oc create deploy lab7 --image=bitnami/nginx 110 | 110 oc set volume deploy lab7 --add -t pvc --claim-size=2G --mount-path=/data 111 | 111 oc describe deployment lab7 112 | 112 oc get pvc 113 | 113 exit 114 | 114 tkn 115 | 115 exit 116 | 116 free -m 117 | 117 sudo poweroff 118 | 118 sudo -i 119 | 119 ls 120 | 120 cd Downloads/ 121 | 121 ls 122 | 122 ssh sander@192.168.52.136 123 | 123 scp sander@192.168.52.136:/home/sander/Download/pul-secret . 124 | 124 scp sander@192.168.52.136:/home/sander/Download/pull-secret . 125 | 125 scp sander@192.168.52.136:/home/sander/Downloads/pull-secret . 126 | 126 ls 127 | 127 tar xvf crc-linux-amd64.tar.xz 128 | 128 cd crc-linux-2.41.0-amd64/ 129 | 129 df -h 130 | 130 free -m 131 | 131 crc setup 132 | 132 ls 133 | 133 sudo cp crc /usr/local/bin 134 | 134 crc setup 135 | 135 crc start -p ../pull-secret -m 32768 -d 128 -p 8 136 | 136 cd .. 137 | 137 ls 138 | 138 crc start -p pull-secret -m 32768 -d 128 -p 8 139 | 139 cat pull-secret 140 | 140 crc start -p pull-secret -m 32768 -d 128 141 | 141 ip a 142 | 142 source $(crc oc-env_ 143 | 143 source $(crc oc-env) 144 | 144 source <$(crc oc-env) 145 | 145 crc status 146 | 146 history 147 | 147 history | grep source 148 | 148 crc --help 149 | 149 crc oc-env 150 | 150 eval $(crc oc-env) 151 | 151 oc login -u developer 152 | 152 oc new-project cmvars 153 | 153 oc create deploy mydb --image=rhel9/mariadb-1011 154 | 154 oc get all 155 | 155 source <(oc completion bash) 156 | 156 oc logs mydb-7bffc46794-27blc 157 | 157 oc create cm mydbconfig --from-literal=MYSQL_ROOT_PASSWORD=password 158 | 158 oc describe cm mydbconfig 159 | 159 oc set env --from=configmap/mydbconfig deploy/mydb 160 | 160 oc get all 161 | 161 oc get pods mydb-786ff6bc8f-9fhcg -o yaml | less 162 | 162 oc create deploy myweb --image=bitnami/nginx 163 | 163 echo hello world > index.html 164 | 164 oc create cm webindex --from-file=index.html 165 | 165 oc set volume --add -t configmap --configmap-name webindex -m /opt/bitnami/nginx/conf/index.html --sub=path='index.html' deploy/myweb 166 | 166 oc set volume --add -t configmap --configmap-name webindex -m /opt/bitnami/nginx/conf/index.html --sub-path='index.html' deploy/myweb 167 | 167 oc exec -it myweb-7d5fb7c956-j7c8l -- cat /opt/bitnami/nginx/config/index.html 168 | 168 oc exec -it myweb-7d5fb7c956-j7c8l -- cat /opt/bitnami/nginx/conf/index.html 169 | 169 oc create secret -h | less 170 | 170 oc create secret docker-registry -h | less 171 | 171 oc create secret docker-registry my-secret --docker-server=docker.io --docker-username=myuser --docker-password=password --docker-email=dummy@example.com 172 | 172 oc describe secrets my-secret 173 | 173 oc get secret my-secret -o yaml 174 | 174 echo eyJhdXRocyI6eyJkb2NrZXIuaW8iOnsidXNlcm5hbWUiOiJteXVzZXIiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiZW1haWwiOiJkdW1teUBleGFtcGxlLmNvbSIsImF1dGgiOiJiWGwxYzJWeU9uQmhjM04zYjNKayJ9fX0= | base64 -d 175 | 175 oc explain pod.spec | less 176 | 176 oc new-project lab8 177 | 177 oc create deploy lab8web --image=bitnami/nginx 178 | 178 echo this is lab 8 > index.html 179 | 179 oc create cm lab8cm --from-file=index.html 180 | 180 oc set volume --add -t configmap --configmap-name lab8cm -m /opt/bitnami/nginx/conf/index.html --sub-path='index.html' deploy/lab8web 181 | 181 oc get deploy lab8web -o yaml | less 182 | 182 oc login -u kubeadmin -p mjGRH-XmUQm-oC55w-zRSTX 183 | 183 oc get pv 184 | 184 oc get deploy lab8web -o yaml | less 185 | 185 exit 186 | 186 top 187 | 187 crc status 188 | 188 crc start 189 | 189 eval $(crc oc-env) 190 | 190 source <(oc completion bash) 191 | 191 oc whoami 192 | 192 oc login -u developer 193 | 193 oc get deploy lab8web -o yaml | less 194 | 194 oc whoami 195 | 195 oc new-project svcdemo 196 | 196 oc create deploy webapp --image=bitnami/nginx 197 | 197 oc get pods -o wide 198 | 198 oc scale deploy webapp --replicas=3 199 | 199 oc get pods -o wide 200 | 200 oc expose deploy webapp --port=8080 201 | 201 oc get svc 202 | 202 oc describe svc webapp 203 | 203 oc get endpoints 204 | 204 curl 10.217.5.131 205 | 205 oc edit svc webapp 206 | 206 oc get svc 207 | 207 crc ip 208 | 208 oc get svc 209 | 209 curl 192.168.130.11:30802 210 | 210 oc get svc 211 | 211 oc projects 212 | 212 oc get svc 213 | 213 oc expose svc webapp 214 | 214 oc get routes 215 | 215 curl webapp-svcdemo.apps-crc.testing 216 | 216 oc edit svc webapp 217 | 217 oc get svc 218 | 218 curl webapp-svcdemo.apps-crc.testing 219 | 219 oc describe routes.route.openshift.io webapp 220 | 220 oc new-project lab9 221 | 221 oc create deploy routed --image=bitnami/nginx --replicas=3 222 | 222 oc expose deploy routed --port=8080 223 | 223 oc expose svc routed 224 | 224 oc get routes 225 | 225 curl routed-lab9.apps-crc.testing 226 | 226 oc new-project tekton 227 | 227 cd openshift/.git/ 228 | 228 cd .. 229 | 229 ls 230 | 230 cd .. 231 | 231 git clone https://github.com/sandervanvugt/gitops 232 | 232 cd gitops/ 233 | 233 ls 234 | 234 oc apply -f demotask.yaml 235 | 235 sudo -i 236 | 236 exit 237 | 237 sudo -i 238 | 238 exit 239 | 239 sudo poweroff 240 | 240 poweroff 241 | 241 lspci -k 242 | 242 crc start 243 | 243 eval $(crc oc-env) 244 | 244 ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d) 245 | 245 oc login -u kubeadmin -p mjGRH-XmUQm-oC55w-zRSTX 246 | 246 ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d) 247 | 247 oc get routes -n openshift-gitops 248 | 248 argocd login --username admin --password ${ADMIN_PASSWD} openshift-gitops-server-openshift-gitops.apps-crc.testing 249 | 249 argocd app list 250 | 250 argocd login --username admin --password ${ADMIN_PASSWD} openshift-gitops-server-openshift-gitops.apps-crc.testing 251 | 251 argocd version 252 | 252 argocd version --client 253 | 253 argocd login --username admin --password ${ADMIN_PASSWD} openshift-gitops-server-openshift-gitops.apps-crc.testing 254 | 254 oc cluster-info 255 | 255 history 256 | 256 oc get routes -n openshift-gitops 257 | 257 sudo poweroff 258 | 258 crc console --credentials 259 | 259 crc console 260 | 260 ARGOCD_VERSION=$(curl --silent "https://api.github.com/repos/argoproj/argo-cd/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/') 261 | 261 curl -sSL -o /tmp/argocd-${ARGOCD_VERSION} https://github.com/argoproj/argo-cd/releases/download/${ARGOCD_VERSION}/argocd-linux-amd64 262 | 262 chmod +x /tmp/argocd-${VERSION} 263 | 263 sudo mv /tmp/argocd-${VERSION} /usr/local/bin/argocd 264 | 264 ls -l /tmp/argo* 265 | 265 sudo chmod +x /tmp/argocd-v2.12.3 266 | 266 sudo mv /tmp/argocd-v2.12.3 /usr/local/bin/argocd 267 | 267 argocd version 268 | 268 argocd version --client 269 | 269 crc start 270 | 270 eval $(crc oc-env) 271 | 271 oc login -u developer 272 | 272 oc new-project templates 273 | 273 oc get templates -n openshift 274 | 274 oc describe template mysql-persistent -n openshift 275 | 275 oc describe template mysql-persistent -n openshift | less 276 | 276 oc process --parameters -n openshift mysql-persistent 277 | 277 oc new-app -l type=production --template mysql-persistent -p MYSQL_USER=bob -p MYSQL_PASSWORD=password 278 | 278 oc get all 279 | 279 oc get deploy 280 | 280 ls /tmp/helm-v3.16.1-linux-arm.tar 281 | 281 tar xvf /tmp/helm-v3.16.1-linux-arm.tar 282 | 282 ls 283 | 283 sudo cp linux-arm/helm /usr/local/bin/ 284 | 284 helm --help 285 | 285 rm /tmp/helm-v3.16.1-linux-arm.tar 286 | 286 eval $(crc oc-env) 287 | 287 oc login -u developer 288 | 288 tar xvf /tmp/helm-v3.16.1-linux-amd64.tar 289 | 289 ls 290 | 290 sudo cp linux-amd64/helm /usr/local/bin/ 291 | 291 helm version 292 | 292 helm repo add bitnami https://charts.bitnami.com/bitnami 293 | 293 helm repo list 294 | 294 helm repo update 295 | 295 helm search repo nginx 296 | 296 helm install nginxapp bitnami/nginx 297 | 297 oc get pods,services,routes 298 | 298 source <(oc completion bash) 299 | 299 oc describe pod nginxapp-67986b776d-wfxc5 300 | 300 crc status 301 | 301 crc stop 302 | 302 crc delete 303 | 303 crc setup 304 | 304 crc start --help 305 | 305 ls 306 | 306 ls Downloads/ 307 | 307 crc start -p Downloads/pull-secret -d 64 -m 32768 308 | 308 eval $(crc oc-env) 309 | 309 oc login -u kubeadmin -p ipszj-shwAm-9srMv-KzZRz 310 | 310 oc login -u developer 311 | 311 crc status 312 | 312 crc console 313 | 313 crc console --credentials 314 | 314 sudo poweroff 315 | 315 eval $(crc oc-env) 316 | 316 oc login -u developer 317 | 317 oc get templates -n openshift 318 | 318 oc process --parameters -n openshift mysql-ephemeral 319 | 319 oc new-project lab10 320 | 320 oc new-app --template mysql-ephemeral -p MYSQL_ROOT_PASSWORD=password -p MYSQL_USER=lisa -p MYSQL_PASSWORD=password 321 | 321 oc create --help | less 322 | 322 oc get all 323 | 323 oc new-app --template mysql-ephemeral -p MYSQL_ROOT_PASSWORD=password --as-deployment 324 | 324 oc whoami 325 | 325 #oc new-app php~https://github.com/sandervanvugt/simpleapp --name=simple-app 326 | 326 oc new-project sources 327 | 327 oc new-app php~https://github.com/sandervanvugt/simpleapp --name=simple-app 328 | 328 oc get all 329 | 329 oc expose service simple-app 330 | 330 oc get all 331 | 331 curl simple-app-sources.apps-crc.testing 332 | 332 oc start-build simple1 333 | 333 oc get builds 334 | 334 oc start-build simple-app-1 335 | 335 oc get all 336 | 336 oc start-build simple-app 337 | 337 oc get all 338 | 338 curl simple-app-sources.apps-crc.testing 339 | 339 oc new-app https://github.com/sandervanvugt/webapp --name=webapp 340 | 340 oc new-project 341 | 341 oc new-project lab11 342 | 342 oc new-app php~https://github.com/sandervanvugt/webapp --name=webapp 343 | 343 oc get all 344 | 344 oc expose service webapp 345 | 345 oc get all 346 | 346 curl webapp-lab11.apps-crc.testing 347 | 347 oc get all 348 | 348 oc start-build webapp 349 | 349 oc get all 350 | 350 curl webapp-lab11.apps-crc.testing 351 | 351 crc start 352 | 352 eval $(crc oc-env) 353 | 353 oc login -u kubeadmin -p ipszj-shwAm-9srMv-KzZRz 354 | 354 oc get ns | grep gitops 355 | 355 oc get all -n openshift-gitops 356 | 356 source <(oc completion bash) 357 | 357 oc get ns | grep gitops 358 | 358 oc edit -n openshift-gitops argocd openshift-gitops 359 | 359 oc create configmap -n openshift-gitops cluster-root-ca-bundle 360 | 360 oc label configmap -n openshift-gitops cluster-root-ca-bundle config.openshift.io/inject-trusted-cabundle=true 361 | 361 oc edit argocd -n openshift-gitops openshift-gitops 362 | 362 ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d) 363 | 363 echo $ADMIN_PASSWD 364 | 364 SERVER_URL=$(oc get routes openshift-gitops-server -n openshift-gitops -o jsonpath='{.status.ingress[0].host}') 365 | 365 echo $SERVER_URL 366 | 366 argocd login --username admin --password ${ADMIN_PASSWD} ${SERVER_URL} 367 | 367 echo $ADMIN_PASSWD > /tmp/adminpw 368 | 368 ip a 369 | 369 crc console 370 | 370 cat /tmp/adminpw 371 | 371 sudo poweroff 372 | 372 eval $(crc oc-env) 373 | 373 oc login -u kubeadmin -p ipszj-shwAm-9srMv-KzZRz 374 | 374 oc get kubevirt -n kubevirt -o yaml 375 | 375 oc get all -A | grep kubevirt 376 | 376 oc get all -A | grepvirt 377 | 377 oc get all -A | grep virt 378 | 378 oc get all -n openshift-cnv 379 | 379 oc get all -n openshift-cvn 380 | 380 oc get cm -A 381 | 381 oc get cm -A | grep virt 382 | 382 oc get cm -A | grep kube 383 | 383 oc edit hyperconverget kubevirt-hyperconverget -n openshift-cnv 384 | 384 oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv 385 | 385 oc api-resources | grep hyper 386 | 386 oc api-resources 387 | 387 oc get all -n openshift-cnv 388 | 388 exit 389 | 389 cat /etc/hosts 390 | 390 exit 391 | 391 crc start 392 | 392 eval $(crc oc-env) 393 | 393 oc login -u kubeadmin -p ipszj-shwAm-9srMv-KzZRz 394 | 394 oc login -u developer 395 | 395 exit 396 | 396 eval $(crc oc-env) 397 | 397 oc login -u developer 398 | 398 oc new-project 399 | 399 oc new-project restrictions 400 | 400 oc create deploy limited --image=bitnami/nginx 401 | 401 source <(oc source bash) 402 | 402 source <(oc completion bash) 403 | 403 oc set resources 404 | 404 oc set resources -h | less 405 | 405 oc get deploy 406 | 406 oc set resources deployment limnited --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi 407 | 407 oc set resources deployment limited --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi 408 | 408 oc describe deployment limited 409 | 409 oc login -u kubeadmin -p ipszj-shwAm-9srMv-KzZRz 410 | 410 oc describe nodes crc 411 | 411 oc login -u developer 412 | 412 oc edit deployment limited 413 | 413 oc get all 414 | 414 oc describe pod limited-866d945588-8dg64 415 | 415 oc edit deployment limited 416 | 416 oc get all 417 | 417 oc describe pod limited-5688f747c4-kdjns 418 | 418 oc get all 419 | 419 oc delete pod limited-5688f747c4-kdjns 420 | 420 oc get all 421 | 421 oc describe pod limited-5688f747c4-64gd9 422 | 422 oc get pods 423 | 423 oc edit deploy limited 424 | 424 oc get pods 425 | 425 oc get all 426 | 426 oc new-project insecure 427 | 427 oc whoami 428 | 428 oc create deploy secapp --image=nginx 429 | 429 oc get all 430 | 430 oc logs secapp-5f4f95785c-vpmxh 431 | 431 oc login -u kubeadmin -p ipszj-shwAm-9srMv-KzZRz 432 | 432 oc get deploy secapp -o yaml | oc adm policy scc-subject-review -f - 433 | 433 oc create sa anyuid 434 | 434 oc adm policy add-scc-to-user anyuid -z anyuid 435 | 435 oc login -u developer 436 | 436 oc get all 437 | 437 oc set sa deploy secapp anyuid 438 | 438 oc get all 439 | 439 oc whoami 440 | 440 oc new-project lab12 441 | 441 oc create deploy lab12 --image=nginx 442 | 442 oc logs lab12-6bf89ff4d5-prs8m 443 | 443 oc login -u kubeadmin -p ipszj-shwAm-9srMv-KzZRz 444 | 444 oc get deployment secapp -o yaml | oc adm policy scc-subject-review -f - 445 | 445 oc get deployment lab12 -o yaml | oc adm policy scc-subject-review -f - 446 | 446 oc create sa lab12 447 | 447 oc adm policy add-scc-to-user anyuid -z lab12 448 | 448 oc login -u developer 449 | 449 oc set sa deploy secapp lab12 450 | 450 oc login -u developer 451 | 451 oc set sa deploy lab12 lab12 452 | 452 oc get all 453 | 453 crc stop 454 | 454 crc start 455 | 455 sudo poweroff 456 | 456 eval $(crc oc-env) 457 | 457 oc login -u kubeadmin -p ipszj-shwAm-9srMv-KzZRz 458 | 458 crc console 459 | 459 crc stop 460 | 460 crc delete 461 | 461 ls 462 | 462 cd Downloads/ 463 | 463 ls 464 | 464 crc setup 465 | 465 crc start -p pull-secret -m 65536 -d 128 -p 8 466 | 466 crc start -p pull-secret -m 32769 -d 128 -p 8 467 | 467 crc start -p Downloads/pull-secret -m 32769 -d 128 -p 8 468 | 468 ls 469 | 469 cat pull-secret 470 | 470 crc start -p pull-secret -m 32769 -d 128 -p 8 471 | 471 eval $(crc oc-env) 472 | 472 oc login -u kubeadmin -p KbyFp-Ff4iD-sCXDB-EATWf 473 | 473 crc console 474 | 474 free -m 475 | 475 sudo poweroff 476 | 476 crc start 477 | 477 crc console 478 | 478 history | grep crc 479 | 479 crc status 480 | 480 crc stop 481 | 481 crc setup 482 | 482 history | grep crc 483 | 483 cd Downloads/ 484 | 484 ls p* 485 | 485 crc start -p pull-secret -m 32769 -d 128 -p 8 486 | 486 crc console 487 | 487 crc start 488 | 488 crc status 489 | 489 crc stop 490 | 490 crc delete 491 | 491 crc setup 492 | 492 cd Downloads/ 493 | 493 crc start -p pull-secret -m 32769 -d 128 -p 8 494 | 494 cat pull-secret 495 | 495 crc start -p ./pull-secret -m 32769 -d 128 -p 8 496 | 496 history | grep crc start 497 | 497 history | grep 'crc start' 498 | 498 crc start -p Downloads/pull-secret -m 32769 -d 128 -p 8 499 | 499 cat Downloads/pull-secret 500 | 500 crc start -h | less 501 | 501 crc start -p Downloads/pull-secret -m 32769 -d 128 -c 8 502 | 502 oc get all 503 | 503 history | tail 504 | 504 eval $(crc oc-env) 505 | 505 oc login -u developer https://api.crc.testing:6443 506 | 506 oc login -u kubeadmin -p qSZ4s-2cDy6-SHbCZ-xZIg9 507 | 507 oc whoami 508 | 508 #crc console 509 | 509 ls 510 | 510 cd gitops/ 511 | 511 ls 512 | 512 ./countdown 12 513 | 513 history 514 | 514 oc -h 515 | 515 oc create -h | less 516 | 516 oc create deploy -h | less 517 | 517 oc completion -h | less 518 | 518 source <(oc completion bash) 519 | 519 #oc run appname --image=docker.io/library/nginx 520 | 520 cd 521 | 521 oc whoami 522 | 522 oc login -u developer 523 | 523 oc new-project first 524 | 524 oc run appname --image=docker.io/library/nginx 525 | 525 oc get all 526 | 526 podman search httpd 527 | 527 oc run simple --image=registry.access.redhat.com/ubi9/httpd-24 528 | 528 oc get pods 529 | 529 oc describe pod appname 530 | 530 oc logs appname 531 | 531 oc delete pod appname 532 | 532 oc run bitme --image=docker.io/bitnami/nginx 533 | 533 oc status --suggest 534 | 534 oc api-resources | less 535 | 535 oc api-resources | wc -l 536 | 536 oc get is -n openshift 537 | 537 history 538 | 538 oc run bitmo --image=docker.io/bitnami/nginx --dry-run=client -o yaml 539 | 539 oc run bitmo --image=docker.io/bitnami/nginx --dry-run=client -o yaml > bitmo.yaml 540 | 540 oc get pods 541 | 541 oc apply -f bitmo.yaml 542 | 542 oc get pods 543 | 543 oc whoami 544 | 544 oc login -u kubeadmin -p qSZ4s-2cDy6-SHbCZ-xZIg9 545 | 545 oc new-project demo 546 | 546 oc run webthree --image=docker.io/library/nginx 547 | 547 oc get pods 548 | 548 oc login -u developer 549 | 549 gitops/countdown 12 550 | 550 oc api-resources 551 | 551 oc api-resources | less 552 | 552 oc get pods 553 | 553 oc get pods simple -o yaml | less 554 | 554 oc explain pod 555 | 555 oc explain pod.spec | less 556 | 556 #oc create deploy nginxone --image=docker.io/bitnami/nginx --replicas=2 557 | 557 oc new-project 2138 558 | 558 oc create deploy nginxone --image=docker.io/bitnami/nginx --replicas=2 559 | 559 oc get all 560 | 560 oc describe deployment nginxone | less 561 | 561 oc get deploy nginxone -o yaml | less 562 | 562 oc new-project 2141 563 | 563 oc new-app rails-postgresql-example 564 | 564 oc get all 565 | 565 oc get deploy 566 | 566 oc get dc 567 | 567 curl rails-postgresql-example-2141.apps-crc.testing 568 | 568 history 569 | 569 oc whoami 570 | 570 oc project 571 | 571 oc projects 572 | 572 oc get ns 573 | 573 oc login -u kubeadmin -p qSZ4s-2cDy6-SHbCZ-xZIg9 574 | 574 oc get ns 575 | 575 oc get ns | grep -e 576 | 576 oc get ns | grep -e '^openshift' 577 | 577 oc get ns | grep -v '^openshift' 578 | 578 oc get pods 579 | 579 oc get pods -A 580 | 580 oc get pods -A | wc -l 581 | 581 oc get ns | grep -v '^openshift' 582 | 582 oc get all -n 2138 583 | 583 oc login -u developer 584 | 584 oc new-project 2151 585 | 585 oc create deploy scaler --image=docker.io/bitnami/nginx 586 | 586 oc get all 587 | 587 oc autoscale deploy scaler --min=3 --max=10 --cpu-percent=75 588 | 588 oc get hpa 589 | 589 oc get all 590 | 590 history 591 | 591 gitops/countdown 1 592 | 592 gitops/countdown 12 593 | 593 oc whoami 594 | 594 oc set -h | less 595 | 595 oc new-project 2219 596 | 596 oc create deploy ---image=docker.io/bitnami/nginx --replicas=3 597 | 597 oc create deploy today ---image=docker.io/bitnami/nginx --replicas=3 598 | 598 oc create deploy -h | less 599 | 599 oc create deploy today ---image=bitnami/nginx --replicas=3 600 | 600 oc create deploy today --image=docker.io/bitnami/nginx --replicas=3 601 | 601 oc get all 602 | 602 oc set volume deploy/today --add --claim-name todayclaim --mount-path /var/www/html 603 | 603 oc get deploy today -o yaml | less 604 | 604 oc get pvc 605 | 605 oc delete deploy today 606 | 606 oc create deploy tomorrow --image=docker.io/bitnami/nginx --replicas=3 607 | 607 oc set volume deploy/tomorrow --add -t pvc --claim-name todayclaim --claim-size=1G --mount-path /var/www/html 608 | 608 oc get pvc 609 | 609 oc get pv,storageclass 610 | 610 oc login -u kubeadmin -p qSZ4s-2cDy6-SHbCZ-xZIg9 611 | 611 oc get pv 612 | 612 oc get pods 613 | 613 oc get pods -o wide 614 | 614 oc expose deploy tomorrow --port=8080 615 | 615 oc get svc 616 | 616 curl 10.217.5.60 617 | 617 oc describe svc tomorrow 618 | 618 oc get endpoints 619 | 619 oc expose service tomorrow 620 | 620 oc get all 621 | 621 curl tomorrow-2219.apps-crc.testing 622 | 622 oc create route -h | less 623 | 623 oc create route edge -h | less 624 | 624 #oc new-app php~https://github.com/sandervanvugt/simpleapp --name=simple-app 625 | 625 oc new-project 2247 626 | 626 oc new-app php~https://github.com/sandervanvugt/simpleapp --name=simple-app 627 | 627 oc get all 628 | 628 oc expose service simple-app 629 | 629 oc get routesw 630 | 630 oc get routes 631 | 631 curl simple-app-2247.apps-crc.testing 632 | 632 oc start-build simple-app 633 | 633 oc get all 634 | 634 curl simple-app-2247.apps-crc.testing 635 | 635 history > /tmp/history-6nov24.txt 636 | -------------------------------------------------------------------------------- /history-april-2024.txt: -------------------------------------------------------------------------------- 1 | 844 wget https://developers.redhat.com/content-gateway/file/pub/openshift-v4/clients/crc/2.34.1/crc-linux-amd64.tar.xz 2 | 845 tar xvf crc-linux-amd64.tar.xz 3 | 846 which crc 4 | 847 sudo cp crc-linux-2.34.1-amd64/crc /usr/local/bin/ 5 | 848 crc setup 6 | 849 df -h 7 | 850 crc start 8 | 851 history | grep crc start 9 | 852 history | grep 'crc start' 10 | 853 crc start -m 14000 -p pull-secret 11 | 854 cd Downloads/ 12 | 855 ls 13 | 856 crc start -m 14000 -p pull-secret 14 | 857 eval $(crc oc-env) 15 | 858 oc login -u developer https://api.crc.testing:6443 16 | 859 oc new-project wednesday 17 | 860 oc -h | less 18 | 861 oc new-app -h | less 19 | 862 oc completion -h 20 | 863 source <(oc completion bash) 21 | 864 history 22 | 865 oc whoami 23 | 866 oc projects 24 | 867 oc run testpod --image=bitnami/nginx:1.23 25 | 868 oc get all 26 | 869 oc login -u kubeadmin -p uAaXN-FX9gc-7Djzb-LxmZD 27 | 870 oc login -u developer -p developer 28 | 871 oc api-resources | less 29 | 872 oc api-resources | ec -l 30 | 873 oc api-resources | wc -l 31 | 874 oc api-resources | grep route 32 | 875 oc get api-resources | grep -i deploy 33 | 876 oc api-resources | grep -i deploy 34 | 877 cd 35 | 878 countdown 12 36 | 879 history 37 | 880 oc explain pod 38 | 881 oc get pods 39 | 882 oc get pods testpod -o yaml | less 40 | 883 oc explain pod 41 | 884 oc explain pod.spec | less 42 | 885 oc create ns tryme 43 | 886 oc get ns 44 | 887 oc login -u kubeadmin -p uAaXN-FX9gc-7Djzb-LxmZD 45 | 888 oc get ns 46 | 889 oc login -u developer -p developer 47 | 890 oc new-app -h | less 48 | 891 oc get deploy 49 | 892 oc get dc 50 | 893 oc whoami 51 | 894 oc new-app webapp --image=bitnami/nginx 52 | 895 oc get all 53 | 896 oc new-app -h | less 54 | 897 oc new-app --name=webapp --image=bitnami/nginx 55 | 898 oc get all 56 | 899 oc status 57 | 900 oc get all 58 | 901 oc run mariadb 59 | 902 oc run --image=mariadb 60 | 903 oc run mydb --image=mariadb 61 | 904 oc get all 62 | 905 oc describe pod mydb 63 | 906 oc logs mydb 64 | 907 oc get pods 65 | 908 oc delete pod mydb 66 | 909 oc run mydb --image=mariadb -e MARIADB_ROOT_PASSWORD=password 67 | 910 oc run mydb --image=mariadb --env MARIADB_ROOT_PASSWORD=password 68 | 911 oc get pods 69 | 912 oc describe pods mydb 70 | 913 oc logs mydb 71 | 914 history 72 | 915 oc create deploy --image=bitnami/nginx --dry-run -o yaml 73 | 916 oc create deploy mynginx --image=bitnami/nginx --dry-run -o yaml 74 | 917 oc create deploy mynginx --image=bitnami/nginx --dry-run=client -o yaml 75 | 918 oc create deploy mynginx --image=bitnami/nginx --dry-run=client -o yaml > mynginx.yaml 76 | 919 vim mynginx.yaml 77 | 920 oc explain deploy.spec 78 | 921 vim mynginx.yaml 79 | 922 oc apply -f mynginx.yaml 80 | 923 vim mynginx.yaml 81 | 924 oc apply -f mynginx.yaml 82 | 925 oc get deploy 83 | 926 oc get deploy webapp -o yaml > webapp.yaml 84 | 927 vim webapp.yaml 85 | 928 history 86 | 929 countdown 12 87 | 930 history 88 | 931 oc new-project route 89 | 932 oc projects 90 | 933 oc new-app --as-deployment-config bitnami/nginx --name bitginx 91 | 934 oc get all 92 | 935 oc describe svc bitginx 93 | 936 oc expose svc bitginx 94 | 937 oc get all 95 | 938 oc describe route 96 | 939 oc run -it ubix --image=ubi8 -- bash 97 | 940 curl bitginx-route.apps-crc.testing 98 | 941 oc get services -A 99 | 942 oc login -u kubeadmin -p uAaXN-FX9gc-7Djzb-LxmZD 100 | 943 oc get services -A 101 | 944 oc login -u developer -p developer 102 | 945 oc set 103 | 946 oc new-project configuartion 104 | 947 oc create deployment --image=bitnami/nginx 105 | 948 oc create deployment mynginx --image=bitnami/nginx 106 | 949 oc get pods 107 | 950 oc get pods -o wide 108 | 951 oc expose deploy mynginx --type=NodePort --port=8080 109 | 952 oc get all 110 | 953 crc ip 111 | 954 curl 192.168.130.11:31088 112 | 955 oc cp mynginx-565b455ff4-zjmmt:/app/index.html index.html 113 | 956 vim index.html 114 | 957 oc create cm mycm --from-file=index.html 115 | 958 oc describe cm mycm 116 | 959 oc set volume deploy mynginx --add --type configmap --configmap-name mycm --mount-path=/app/ 117 | 960 oc get svc 118 | 961 curl 192.168.130.11:31088 119 | 962 oc get deploy mynginx -o yaml | less 120 | 963 oc whoami 121 | 964 oc new-project db 122 | 965 oc create deploy mymariadb --image=mariadb 123 | 966 oc delete deploy mymariadb 124 | 967 oc create deploy mymariadb --image=bitnami/mariadb 125 | 968 oc get pods 126 | 969 oc logs mymariadb-557f8bd44b-kzl6s 127 | 970 oc create cm myvars --from-literal=MYSQL_ROOT_PASSWORD=password 128 | 971 oc describe cm myvars 129 | 972 oc set env deploy mymariadb --from=configmap/myvars 130 | 973 oc get all 131 | 974 oc describe deployment mymariadb | less 132 | 975 oc get deploy mymariadb -o yaml | less 133 | 976 oc get all 134 | 977 oc describe pod mymariadb-55f9578767-b4jrd 135 | 978 df -h 136 | 979 oc login -u kubeadmin -p uAaXN-FX9gc-7Djzb-LxmZD 137 | 980 oc edit node crc 138 | 981 oc login -u developer -p developer 139 | 982 oc get pods 140 | 983 oc logs mymariadb-55f9578767-b4jrd 141 | 984 crc stop 142 | 985 crc delete 143 | 986 crc start -m 14000 -p Download/pull-secret -d 100 144 | 987 cd Downloads/ 145 | 988 crc start -m 14000 -p pull-secret -d 100 146 | 989 oc projects 147 | 990 eval $(crc oc-env) 148 | 991 oc login -u developer -p developer 149 | 992 oc login -u kubeadmin -p DvpJI-JxiyK-rKcs6-rh4tK 150 | 993 oc whoami 151 | 994 oc login -u developer -p developer 152 | 995 oc create deploy oldginx --image=bitnami/nginx:1.17 153 | 996 oc project oops 154 | 997 oc whoami 155 | 998 oc logout 156 | 999 exit 157 | 1000 history 158 | 1001 eval $(crc oc-env) 159 | 1002 oc login -u developer -p developer 160 | 1003 oc new-project oops 161 | 1004 oc create deploy oldginx --image=bitnami/nginx:1.17 162 | 1005 oc get all 163 | 1006 oc set -h | less 164 | 1007 oc set image -h | less 165 | 1008 #oc set image dc/nginx busybox=busybox nginx=nginx:1.9.1 166 | 1009 oc get all 167 | 1010 oc set image dc/oldnginx nginx=bitnami/nginx:latest 168 | 1011 oc set image deploy/oldnginx nginx=bitnami/nginx:latest 169 | 1012 oc get all 170 | 1013 oc set image deploy/oldginx nginx=bitnami/nginx:latest 171 | 1014 oc get all 172 | 1015 oc explain deploy.spec 173 | 1016 oc explain deploy.spec.strategy 174 | 1017 oc login -u kubeadmin -p DvpJI-JxiyK-rKcs6-rh4tK 175 | 1018 oc get is -n openshift 176 | 1019 oc login -u developer -p developer 177 | 1020 oc new-project source 178 | 1021 oc -o yaml new-app php~https://github.com/sandervanvugt/simpleapp --name=simple > s2i.yaml 179 | 1022 vim s2i.yaml 180 | 1023 oc apply -f s2i.yaml 181 | 1024 oc get all 182 | 1025 oc logs simple-1-build 183 | 1026 oc get all 184 | 1027 df -h 185 | 1028 oc logs simple-1-build 186 | 1029 oc new-app php~https://github.com/sandervanvugt/simpleapp --name=notsosimple 187 | 1030 oc get all 188 | 1031 oc login -u kubeadmin -p DvpJI-JxiyK-rKcs6-rh4tK 189 | 1032 crc status 190 | 1033 history 191 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | hello world 2 | -------------------------------------------------------------------------------- /morevolumes.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: morevol2 5 | spec: 6 | containers: 7 | - name: centos1 8 | image: centos:7 9 | command: 10 | - sleep 11 | - "3600" 12 | volumeMounts: 13 | - mountPath: /centos1 14 | name: test 15 | - name: centos2 16 | image: centos:7 17 | command: 18 | - sleep 19 | - "3600" 20 | volumeMounts: 21 | - mountPath: /centos2 22 | name: test 23 | volumes: 24 | - name: test 25 | emptyDir: {} 26 | -------------------------------------------------------------------------------- /myapp-route.json: -------------------------------------------------------------------------------- 1 | { 2 | "apiVersion": "v1", 3 | "kind": "Route", 4 | "metadata": { 5 | "name": "myapp" 6 | }, 7 | "spec": { 8 | "host": "myapp.apps.example.com", 9 | "to": { 10 | "kind": "Service", 11 | "name": "myapp" 12 | } 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /mysql-storage.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: mysql-volume 5 | spec: 6 | capacity: 7 | storage: 2Gi 8 | accessModes: 9 | - ReadWriteMany 10 | nfs: 11 | path: /storage 12 | server: 192.168.42.1 13 | persistentVolumeReclaimPolicy: Recycle 14 | -------------------------------------------------------------------------------- /nfs-pv-pod.yaml: -------------------------------------------------------------------------------- 1 | kind: Pod 2 | apiVersion: v1 3 | metadata: 4 | name: nfs-pv-pod 5 | spec: 6 | volumes: 7 | - name: nfs-pv 8 | persistentVolumeClaim: 9 | claimName: nfs-pv-claim 10 | containers: 11 | - name: nfs-client1 12 | image: centos:7 13 | command: 14 | - sleep 15 | - "3600" 16 | volumeMounts: 17 | - mountPath: "/nfsshare" 18 | name: nfs-pv 19 | - name: nfs-client2 20 | image: centos:7 21 | command: 22 | - sleep 23 | - "3600" 24 | volumeMounts: 25 | - mountPath: "/nfsshare" 26 | name: nfs-pv 27 | -------------------------------------------------------------------------------- /nfs-pv.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolume 3 | metadata: 4 | name: nfs-pv 5 | spec: 6 | capacity: 7 | storage: 2Gi 8 | accessModes: 9 | - ReadWriteMany 10 | persistentVolumeReclaimPolicy: Retain 11 | nfs: 12 | path: /storage 13 | server: 192.168.130.1 14 | readOnly: false 15 | -------------------------------------------------------------------------------- /nfs-pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: nfs-pv-claim 5 | spec: 6 | accessModes: 7 | - ReadWriteMany 8 | resources: 9 | requests: 10 | storage: 100Mi 11 | -------------------------------------------------------------------------------- /pv-pod.yaml: -------------------------------------------------------------------------------- 1 | kind: Pod 2 | apiVersion: v1 3 | metadata: 4 | name: pv-pod 5 | spec: 6 | volumes: 7 | - name: pv-storage 8 | persistentVolumeClaim: 9 | claimName: pv-claim 10 | containers: 11 | - name: pv-container 12 | image: nginx 13 | ports: 14 | - containerPort: 80 15 | name: "http-server" 16 | volumeMounts: 17 | - mountPath: "/usr/share/nginx/html" 18 | name: pv-storage 19 | -------------------------------------------------------------------------------- /pv.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolume 2 | apiVersion: v1 3 | metadata: 4 | name: pv-volume 5 | labels: 6 | type: local 7 | spec: 8 | capacity: 9 | storage: 2Gi 10 | accessModes: 11 | - ReadWriteOnce 12 | hostPath: 13 | path: "/mydata" 14 | -------------------------------------------------------------------------------- /pvc.yaml: -------------------------------------------------------------------------------- 1 | kind: PersistentVolumeClaim 2 | apiVersion: v1 3 | metadata: 4 | name: pv-claim 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 1Gi 11 | -------------------------------------------------------------------------------- /s2i.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | items: 3 | - apiVersion: v1 4 | kind: ImageStream 5 | metadata: 6 | annotations: 7 | openshift.io/generated-by: OpenShiftNewApp 8 | creationTimestamp: null 9 | labels: 10 | app: simple1 11 | name: simple1 12 | spec: 13 | lookupPolicy: 14 | local: false 15 | status: 16 | dockerImageRepository: "" 17 | - apiVersion: v1 18 | kind: BuildConfig 19 | metadata: 20 | annotations: 21 | openshift.io/generated-by: OpenShiftNewApp 22 | creationTimestamp: null 23 | labels: 24 | app: simple1 25 | name: simple1 26 | spec: 27 | nodeSelector: null 28 | output: 29 | to: 30 | kind: ImageStreamTag 31 | name: simple1:latest 32 | postCommit: {} 33 | resources: {} 34 | source: 35 | git: 36 | uri: https://github.com/sandervanvugt/simpleapp 37 | type: Git 38 | strategy: 39 | sourceStrategy: 40 | from: 41 | kind: ImageStreamTag 42 | name: php:7.1 43 | namespace: openshift 44 | type: Source 45 | triggers: 46 | - github: 47 | secret: 2eorklxyCVITXDzHFMlT 48 | type: GitHub 49 | - generic: 50 | secret: 4MoTILHp_ehJCeYbPCUQ 51 | type: Generic 52 | - type: ConfigChange 53 | - imageChange: {} 54 | type: ImageChange 55 | status: 56 | lastVersion: 0 57 | - apiVersion: v1 58 | kind: DeploymentConfig 59 | metadata: 60 | annotations: 61 | openshift.io/generated-by: OpenShiftNewApp 62 | creationTimestamp: null 63 | labels: 64 | app: simple1 65 | name: simple1 66 | spec: 67 | replicas: 1 68 | selector: 69 | app: simple1 70 | deploymentconfig: simple1 71 | strategy: 72 | resources: {} 73 | template: 74 | metadata: 75 | annotations: 76 | openshift.io/generated-by: OpenShiftNewApp 77 | creationTimestamp: null 78 | labels: 79 | app: simple1 80 | deploymentconfig: simple1 81 | spec: 82 | containers: 83 | - image: simple1:latest 84 | name: simple1 85 | ports: 86 | - containerPort: 8443 87 | protocol: TCP 88 | - containerPort: 8080 89 | protocol: TCP 90 | resources: {} 91 | test: false 92 | triggers: 93 | - type: ConfigChange 94 | - imageChangeParams: 95 | automatic: true 96 | containerNames: 97 | - simple1 98 | from: 99 | kind: ImageStreamTag 100 | name: simple1:latest 101 | type: ImageChange 102 | status: 103 | availableReplicas: 0 104 | latestVersion: 0 105 | observedGeneration: 0 106 | replicas: 0 107 | unavailableReplicas: 0 108 | updatedReplicas: 0 109 | - apiVersion: v1 110 | kind: Service 111 | metadata: 112 | annotations: 113 | openshift.io/generated-by: OpenShiftNewApp 114 | creationTimestamp: null 115 | labels: 116 | app: simple1 117 | name: simple1 118 | spec: 119 | ports: 120 | - name: 8080-tcp 121 | port: 8080 122 | protocol: TCP 123 | targetPort: 8080 124 | - name: 8443-tcp 125 | port: 8443 126 | protocol: TCP 127 | targetPort: 8443 128 | selector: 129 | app: simple1 130 | deploymentconfig: simple1 131 | status: 132 | loadBalancer: {} 133 | kind: List 134 | metadata: {} 135 | -------------------------------------------------------------------------------- /secondtask.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: tekton.dev/v1beta1 2 | kind: Task 3 | metadata: 4 | name: secondtask 5 | spec: 6 | params: 7 | - name: username 8 | type: string 9 | steps: 10 | - name: goodbye 11 | image: alpine 12 | script: | 13 | #!/bin/sh 14 | echo "goodbye $(params.username)!" 15 | --------------------------------------------------------------------------------