sandervanvugt

gitops all days july23

Jul 31st, 2023
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.08 KB | None | 0 0
  1. student@student-virtual-machine:~/gitops/lesson14$ history
  2. 1 cd gitops/
  3. 2 ./countdown 12
  4. 3 sudo apt install openssh-server
  5. 4 ip a
  6. 5 ls
  7. 6 cd mondayinjuly/
  8. 7 ls
  9. 8 gh auth login
  10. 9 git status
  11. 10 git push
  12. 11 cd ..
  13. 12 vim bestoken.txt
  14. 13 free -m
  15. 14 lscpu
  16. 15 df -h
  17. 16 sudo apt install git vim -y
  18. 17 git clone https://github.com/sandervanvugt/gitops
  19. 18 history
  20. 19 cd gitops/
  21. 20 ls
  22. 21 git
  23. 22 git config --global user.email "mail@sandervanvugt.nl"
  24. 23 git config --global user.name "sandervanvugt"
  25. 24 git config --global init.defaultBranch main
  26. 25 cd
  27. 26 mkdir mondayinjuly
  28. 27 cd mondayinjuly/
  29. 28 ls -a
  30. 29 git init
  31. 30 ls -a
  32. 31 vim README.md
  33. 32 git status
  34. 33 git add *
  35. 34 git status
  36. 35 git commit -m "initial commit"
  37. 36 git status
  38. 37 git branch -M main
  39. 38 git remote add origin https://github.com/sandervanvugt/mondayinjuly
  40. 39 git push -u origin main
  41. 40 vim mytoken.txt
  42. 41 cat mytoken.txt
  43. 42 vim mytoken.txt
  44. 43 type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
  45. 44 curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg && sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null && sudo apt update && sudo apt install gh -y
  46. 45 gh
  47. 46 gh auth login
  48. 47 git push -u origin main
  49. 48 history
  50. 49 git status
  51. 50 git branch newfiles
  52. 51 git status
  53. 52 git switch newfiles
  54. 53 echo three > three.txt
  55. 54 git add *
  56. 55 git commit -m three
  57. 56 git push --set-upstream origin newfiles
  58. 57 git switch main
  59. 58 git status
  60. 59 ls
  61. 60 git merge newfiles
  62. 61 ls
  63. 62 git rm mytoken.txt
  64. 63 git push
  65. 64 cd ../gitops/
  66. 65 ./countdown 13
  67. 66 ls
  68. 67 docker
  69. 68 ./minikube-docker-setup.sh
  70. 69 docker
  71. 70 docker search mariadb
  72. 71 docker pull mariadb
  73. 72 docker images
  74. 73 docker inspect mariadb
  75. 74 docker inspect mariadb | less
  76. 75 docker image history mariadb | less
  77. 76 docker image rm mariadb
  78. 77 cd dockerfiledemo/
  79. 78 ls
  80. 79 cat README.txt
  81. 80 cat Dockerfile
  82. 81 docker build -t docker.io/sandervanvugt/mynmaptest:1.0
  83. 82 docker build -t . docker.io/sandervanvugt/mynmaptest:1.0
  84. 83 docker build . -t docker.io/sandervanvugt/mynmaptest:1.0
  85. 84 vim Dockerfile
  86. 85 docker run sandervanvugt/mynmaptest
  87. 86 docker run sandervanvugt/mynmaptest:1.0
  88. 87 docker run sandervanvugt/mynmaptest:1.0 sh
  89. 88 vim Dockerfile
  90. 89 docker build . -t docker.io/sandervanvugt/mynmaptest:2.0
  91. 90 docker run sandervanvugt/mynmaptest:2.0 sh
  92. 91 docker run -it sandervanvugt/mynmaptest:2.0 sh
  93. 92 cd ../gitopstools/
  94. 93 ls
  95. 94 vim Dockerfile
  96. 95 docker build . -t gitopsnew
  97. 96 docker images
  98. 97 docker login
  99. 98 docker tag gitopsnew sandervanvugt/gitopsnew
  100. 99 docker push sandervanvugt/gitopsnew
  101. 100 cd ..
  102. 101 mkdir gitopsjuly
  103. 102 cd gitops
  104. 103 cd gitopsjuly/
  105. 104 cat > Dockerfile <<EOF
  106. 105 FROM busybox
  107. 106 CMD echo "hello world"
  108. 107 EOF
  109. 108 git init
  110. 109 git add *
  111. 110 git commit -m "first commit"
  112. 111 git branch -M main
  113. 112 git remote add origin
  114. 113 git remote add origin https://github.com/sandervanvugt/gitopsjuly
  115. 114 git push -u origin main
  116. 115 ../countdown 12
  117. 116 ls
  118. 117 vim Dockerfile
  119. 118 git add *
  120. 119 git commit -m update
  121. 120 git push -o origin main
  122. 121 git push
  123. 122 cd ..
  124. 123 ls
  125. 124 mini
  126. 125 minikube status
  127. 126 tail -2 minikube-docker-setup.sh
  128. 127 tail minikube-docker-setup.sh
  129. 128 minikube start --memory=6g --cpus=4 --vm-driver=docker
  130. 129 minikube status
  131. 130 kubectl get all
  132. 131 source <(kubectl completion bash)
  133. 132 kubectl create deployment --image nginx --replicas=3
  134. 133 kubectl create deployment first --image nginx --replicas=3
  135. 134 kubectl get all
  136. 135 history
  137. 136 kubectl api-resources | less
  138. 137 history
  139. 138 kubectl create deploy myapp --image=nginx --replicas=3 --dry-run=client -o yaml
  140. 139 kubectl create deploy myapp --image=nginx --replicas=3 --dry-run=client -o yaml > myapp.yaml
  141. 140 kubectl create deploy myserver --image=nginx
  142. 141 kubectl delete deployments.apps myserver
  143. 142 kubectl create deploy myserver --image=nginx --dry-run=client -o yaml > myserver.yaml
  144. 143 vim myserver.yaml
  145. 144 kubectl apply -f myserver.yaml
  146. 145 kubectl create deploy webserver --image=nginx --replicas=3 --dry-run=client -o yaml > webserver.yaml
  147. 146 cat webserver.yaml
  148. 147 kubectl apply -f webserver.yaml
  149. 148 kubectl get all
  150. 149 kubectl describe pod webserver-696774f554-rn94p
  151. 150 kubectl describe pod webserver-696774f554-rn94p | less
  152. 151 kubectl describe deploy webserver
  153. 152 kubectl get deploy webserver -o yaml | less
  154. 153 vim webserver.yaml
  155. 154 kubectl get deploy webserver -o yaml | less
  156. 155 vim webserver.yaml
  157. 156 kubectl diff -f webserver.yaml
  158. 157 vim webserver.yaml
  159. 158 kubectl diff -f webserver.yaml
  160. 159 history
  161. 160 sudo poweroff
  162. 161 export TEST=testing
  163. 162 vim secrets
  164. 163 kubectl create secret -h | less
  165. 164 kubectl create secret docker-registry
  166. 165 kubectl create secret docker-registry -h
  167. 166 kubectl create secret docker-registry -h | less
  168. 167 find . -name "config.json"
  169. 168 cat .docker/config.json
  170. 169 #kubectl create secret docker-registry my-secret --from-file=.dockerconfigjson=path/to/.docker/config.json
  171. 170 kubectl create secret docker-registry dockercreds --from-file=.dockerconfigjson=.docker/config.json
  172. 171 cd gitops/
  173. 172 ls -lrt
  174. 173 vi prodpod.yaml
  175. 174 kubectl create secret docker-registry dockercreds --from-file=.dockerconfigjson=.docker/config.json -n prod
  176. 175 kubectl create secret docker-registry dockercreds -n prod --from-file=.dockerconfigjson=.docker/config.json
  177. 176 kubectl create secret docker-registry dockercreds -n prod --from-file=.dockerconfigjson=~/.docker/config.json
  178. 177 cd ..
  179. 178 kubectl create secret docker-registry dockercreds -n prod --from-file=.dockerconfigjson=.docker/config.json
  180. 179 kubectl get secret -n prod
  181. 180 kubectl get pods -n prod
  182. 181 kubectl delete pod -n prod prodpod
  183. 182 kubectl apply -f gitops/prodpod.yaml
  184. 183 kubectl get pods -n prod
  185. 184 kubectl create secret docker-registry dockercreds -n kube-system --from-file=.dockerconfigjson=.docker/config.json
  186. 185 kubectl explain pod.spec | less
  187. 186 kubectl run testpod --image=nginx
  188. 187 kubectl run testpod2 --image=nginx
  189. 188 kubectl create deploy monday --image=nginx
  190. 189 kubectl get deploy,svc
  191. 190 kubectl get svc monday -o yaml | less
  192. 191 kubectl delete deploy monday
  193. 192 kubectl get deploy,svc
  194. 193 minikube start
  195. 194 history
  196. 195 ls
  197. 196 cd gitops/
  198. 197 vim webserver.yaml
  199. 198 kubectl get deploy
  200. 199 kubectl diff -f webserver.yaml
  201. 200 history
  202. 201 kubectl get deploy webserver -o yaml | less
  203. 202 vim webserver.yaml
  204. 203 kubectl diff -f webserver.yaml
  205. 204 kubectl apply -f webserver.yaml
  206. 205 kubectl diff -f webserver.yaml
  207. 206 kubectl apply -f webserver.yaml
  208. 207 ./countdown 1
  209. 208 kubectl port-forward -h | less
  210. 209 source <(kubectl completion bash)
  211. 210 kubectl port-forward webserver-696774f554-vw982 8080:80
  212. 211 bg
  213. 212 curl localhost:8080
  214. 213 fg
  215. 214 kubectl get ns
  216. 215 kubectl get pods
  217. 216 kubectl get pods -n kube-system
  218. 217 kubectl get deploy webserver -o yaml | less
  219. 218 kubectl create deploy annotated --image=nginx
  220. 219 kubectl annotate deployment annotated environment=qa
  221. 220 kubectl get deploy -A -o jsonpath='{.items[0].metadata.annotations}' | jq
  222. 221 sudo apt install jq
  223. 222 kubectl get deploy -A -o jsonpath='{.items[0].metadata.annotations}' | jq
  224. 223 kubectl get deploy -A -o jsonpath='{.items[1].metadata.annotations}' | jq
  225. 224 kubectl get deploy -A -o jsonpath='{.items[2].metadata.annotations}' | jq
  226. 225 kubectl get deploy -A -o jsonpath='{.items[?(@.metadata.annotations.environment="qa")].metadata.name
  227. 226 }
  228. 227 kubectl get deploy -A -o jsonpath='{.items[?(@.metadata.annotations.environment="qa")].metadata.name
  229. 228 }'
  230. 229 kubectl get deploy -A -o jsonpath='{.items[?(@.metadata.annotations.environment="qa")].metadata.name
  231. 230 }
  232. 231 kubectl get deploy -A -o jsonpath='{.items[?(@.metadata.annotations.environment="qa")].metadata.name}'
  233. 232 kubectl get deploy -A -o jsonpath='{.items[?(@.metadata.annotations.environment=="qa")].metadata.name}'
  234. 233 kubectl get deploy -A -o jsonpath='{.items[?(@.metadata.annotations.kubectl\.kubernetes\.io/last-applied-configuration)].metadata.name}'
  235. 234 kubectl get deploy webserver -o yaml | less
  236. 235 kubectl create cm testcm --from-literal=time=late
  237. 236 kubectl describe cm testcm
  238. 237 kubectl set -h | less
  239. 238 kubectl set env -h | less
  240. 239 kubectl set env --from=cm/testcm deploy webserver
  241. 240 kubectl get deploy webserver -o yaml | less
  242. 241 kubectl exec -it webserver-6dc9c77c5-snh8f env
  243. 242 kubectl edit cm testcm
  244. 243 kubectl exec -it webserver-6dc9c77c5-snh8f -- env
  245. 244 kubectl delete pod webserver-6dc9c77c5-snh8f
  246. 245 kubectl get pods
  247. 246 kubectl exec -it webserver-6dc9c77c5-xx2mk -- env
  248. 247 ls
  249. 248 vim pv-pod.yaml
  250. 249 vim pvc.yaml
  251. 250 ./countdown 13
  252. 251 kubectl create deploy webapp --image=nginx --replicas=3
  253. 252 kubectl get all --selector app=webapp
  254. 253 kubect expose deploy webapp --port=80 --type=NodePort
  255. 254 kubectl expose deploy webapp --port=80 --type=NodePort
  256. 255 kubectl get all --selector app=webapp
  257. 256 kubectl get svc webapp -o yaml | less
  258. 257 kubectl describe svc webapp
  259. 258 kubectl get pods --selector app=webapp -o wide
  260. 259 curl 10.109.70.79
  261. 260 minikube ssh
  262. 261 curl 192.168.49.2:32182
  263. 262 minikube addons list
  264. 263 minikube addon list
  265. 264 minikube addons enable ingress
  266. 265 kubectl get ns
  267. 266 kubectl get pods,svc -n ingress-nginx
  268. 267 vim ingress-patch.yaml
  269. 268 history | grep git
  270. 269 kubectl patch -n ingress-nginx cm ingress-nginx-controller --patch-file ingress-patch.yaml
  271. 270 kubectl delete pod -n ingress-nginx ingress-nginx-controller-6cc5ccb977-sh4jz
  272. 271 kubectl get pods -n ingress-nginx
  273. 272 kubectl create deployment nginxsvc --image=nginx
  274. 273 kubectl expose deployment nginxsvc --port=80 --type=NodePort
  275. 274 kubectl get svc
  276. 275 curl $(minikube ip):30786
  277. 276 kubectl create ingress nginxsvc-ingress --rule="/=nginxsvc:80" --rule="/hello=newdep:8080"
  278. 277 sudo vim /etc/hosts
  279. 278 kubectl get ingress
  280. 279 kubectl describe ing nginxsvc-ingress
  281. 280 curl nginxsvc.info
  282. 281 curl nginxsvc.info/hello
  283. 282 kubectl create deployment newdep --image=gcr.io/google-samples/hello-app:2.0
  284. 283 kubectl expose deployment newdep --port=8080
  285. 284 kubectl get svc
  286. 285 curl nginxsvc.info/hello
  287. 286 history
  288. 287 ./countdown 1
  289. 288 kubectl api-resources | less
  290. 289 kubectl get deploy
  291. 290 kubectl delete deploy --all
  292. 291 kubectl delete svc --all
  293. 292 kubectl get svc
  294. 293 kubectl create ns preprod; kubectl create deploy preprod --image=nginx -n preprod
  295. 294 kubectl expose deploy preprod -n preprod --port=80
  296. 295 kubectl create svc externalname -h | less
  297. 296 kubectl create svc externalname preprod --external-name preprod.preprod.svc.cluster.local
  298. 297 kubectl get svc,deploy
  299. 298 kubectl get svc,deploy -n preprod
  300. 299 kubectl create ingress simple --rule="foo.com/=preprod:80"
  301. 300 sudo su -c "echo 192.168.49.2 foo.com >> /etc/hosts"
  302. 301 cat /etc/hosts
  303. 302 curl foo.com
  304. 303 kubectl describe svc preprod
  305. 304 history
  306. 305 kubectl get ing,svc
  307. 306 kubectl get svc -n preprod
  308. 307 kubectl describe ing simple
  309. 308 ./countdown 13
  310. 309 vim nwp.yaml
  311. 310 history | grep minikube start
  312. 311 history | grep 'minikube start'
  313. 312 kubectl create ns prod
  314. 313 kubectl run web --image=nginx -n prod
  315. 314 kubectl expose -n prod pod web --port=80
  316. 315 kubectl run prodpod --image=sandervanvugt/gitops -n prod -- sleep infinity
  317. 316 kubectl get all -n prod
  318. 317 kubectl run prodpod --image=docker.io/library/sandervanvugt/gitops -n prod -- sleep infinity
  319. 318 kubectl delete pod prodpod -n prod
  320. 319 kubectl run prodpod --image=docker.io/library/sandervanvugt/gitops -n prod -- sleep infinity
  321. 320 kubectl get all -n prod
  322. 321 kubectl delete pod prodpod -n prod
  323. 322 kubectl run prodpod --image=docker.io/sandervanvugt/gitops -n prod -- sleep infinity
  324. 323 kubectl get all -n prod
  325. 324 kubectl describe pods -n prod prodpod
  326. 325 docker login
  327. 326 kubectl describe pods -n prod prodpod
  328. 327 kubectl create secret -h | less
  329. 328 kubectl create secret docker-registry
  330. 329 kubectl create secret docker-registry sander -h
  331. 330 kubectl create secret docker-registry sander -h | less
  332. 331 ip a
  333. 332 kubectl create secret docker-registry sander -h | less
  334. 333 source ../secrets
  335. 334 echo $DUMMY
  336. 335 kubectl create secret docker-registry sander -h | less
  337. 336 kubectl create secret docker-registry my-secret --docker-server=hub.docker.io --docker-username=$DOCKER_USER --docker-password=$DOCKER_PASSWORD --docker-email=$DOCKER_EMAIL
  338. 337 kubectl explain --recursive pod.spec | less
  339. 338 kubectl delete pod -n prod prodpod
  340. 339 kubectl run prodpod --image=sandervanvugt/gitops -n prod --dry-run=client -o yaml -- sleep infinity > prodpod.yaml
  341. 340 vim prodpod.yaml
  342. 341 kubectl apply -f prodpod.yaml
  343. 342 kubectl explain pod.spec.containers | less
  344. 343 kubectl explain pod.spec | less
  345. 344 kubectl explain --recursive pod.spec | less
  346. 345 vim prodpod.yaml
  347. 346 kubectl apply -f prodpod.yaml
  348. 347 vim prodpod.yaml
  349. 348 kubectl apply -f prodpod.yaml
  350. 349 kubectl get pods -n prod
  351. 350 kubectl describe -n prod pod prodpod
  352. 351 kubectl create sa gitops
  353. 352 kubectl get clusterroles -A | less
  354. 353 kubectl create clusterrolebinding admin --clusterrole=admin --serviceaccount=default:gitops
  355. 354 kubectl get pods
  356. 355 kubectl run testpod --image=nginx
  357. 356 kubectl get pods -o yaml
  358. 357 kubectl get pods -n prod
  359. 358 history
  360. 359 kubectl get pods -n prod
  361. 360 kubectl exec -n prod prodpod -- curl web
  362. 361 kubectl run defaultpod --image=sandervanvugt/gitops -n default -- sleep infinity
  363. 362 kubectl get pods
  364. 363 kubectl exec -n default defaultpod -- curl web.prod.svc.cluster.local
  365. 364 kubectl get svc -n prod
  366. 365 kubectl describe svc web -n prod
  367. 366 kubectl apply -f nwp.yaml
  368. 367 kubectl exec -n default defaultpod -- curl 10.107.111.183
  369. 368 kubectl get networkpolicy -n prod
  370. 369 kubectl get networkpolicy -n prod -o yaml
  371. 370 minikube addons list
  372. 371 cd
  373. 372 git clone https://github.com/sandervanvugt/cka
  374. 373 cd cka
  375. 374 ls
  376. 375 kubectl create -f calico.yaml
  377. 376 kubectl get ns
  378. 377 kubectl get pods,svc -n kube-system
  379. 378 kubectl delete -f calico.yaml
  380. 379 vim calico.yaml
  381. 380 kubectl create -f calico.yaml
  382. 381 kubectl get pods -n kube-system
  383. 382 history
  384. 383 kubectl exec -n default defaultpod -- curl web.prod.svc.cluster.local
  385. 384 kubectl exec -n default defaultpod -- curl 10.107.111.183
  386. 385 kubectl get --watch --output-watch-events pod
  387. 386 cd ../gitops/
  388. 387 vim exposenginx.yaml
  389. 388 ls expos*
  390. 389 mv exposenginx.yaml exposenginx.sh
  391. 390 vim exposenginx.sh
  392. 391 chmod +x exposenginx.sh
  393. 392 ./exposenginx.sh
  394. 393 history
  395. 394 sudo poweroff
  396. 395 history
  397. 396 minikube start
  398. 397 cd gitops/
  399. 398 vim exposenginx.sh
  400. 399 cd patch/
  401. 400 ls
  402. 401 cat deployment.yaml
  403. 402 cat patch.yaml
  404. 403 kubectl get cm
  405. 404 kubectl apply -f deployment.yaml
  406. 405 source <(kubectl completion bash)
  407. 406 kubectl patch deployments the-deploy --patch-file patch.yaml
  408. 407 kubectl get deploy the-deploy -o yaml
  409. 408 cd ..
  410. 409 vim gitops-operator.yaml
  411. 410 kubectl apply -f gitops-operator.yaml
  412. 411 vim gitops-operator.yaml
  413. 412 date
  414. 413 ls /tmp
  415. 414 kubectl get all
  416. 415 kubectl describe pod gitops-operator-28180348-r26r7
  417. 416 kubectl logs gitops-operator-28180348-r26r7
  418. 417 kubectl get deploy,svc
  419. 418 vim gitops-operator.yaml
  420. 419 kubectl describe deployments.apps sampleginx | less
  421. 420 vim gitops-operator.yaml
  422. 421 kubectl create cm dbvars --from-literal=MARIADB_ROOT_PASSWORD=password
  423. 422 kubectl create deploy mydb --image=mariadb
  424. 423 kubectl get all --selector app=mydb
  425. 424 kubectl logs mydb-7978c6b495-455gs
  426. 425 kubectl set env --from=configmap/dbvars deploy/mydb
  427. 426 kubectl get all --selector app=mydb
  428. 427 kubectl get deployments.apps mydb -o yaml > mydb.yaml
  429. 428 kubectl get cm dbvars -o yaml >> mydb.yaml
  430. 429 vim mydb.yaml
  431. 430 kubectl create secret generic mypassword --from-literal password=password
  432. 431 kubectl get secrets mypassword -o yaml
  433. 432 echo cGFzc3dvcmQ= | base64 -d
  434. 433 kubectl get secrets mypassword -o jsonpath='{.data.password}' | base64 -d
  435. 434 kubectl get secrets mypassword -o yaml
  436. 435 kubectl get sa
  437. 436 kubectl create admin
  438. 437 kubectl create sa admin
  439. 438 kubectl run gittools --image=sandervanvugt/gitops --dry-run=client -o yaml --sleep infinity > gittools.yaml
  440. 439 kubectl run gittools --image=sandervanvugt/gitops --dry-run=client -o yaml -- sleep infinity > gittools.yaml
  441. 440 vim gittools.yaml
  442. 441 kubectl apply -f gittools.yaml
  443. 442 kubectl exec -it gittools -- kubectl get secret mypassword -o=jsonpath='{.data.password}' | base64 -d
  444. 443 kubectl exec -it gittools -- kubectl get secret mypassword -o=jsonpath='{.data.password}'
  445. 444 kubectl create clusterrolebinding -h | less
  446. 445 kubectl create clusterrolebinding secretreader --clusterrole=cluster-admin --serviceaccount=default:admin
  447. 446 kubectl exec -it gittools -- kubectl get secret mypassword -o=jsonpath='{.data.password}'
  448. 447 kubectl exec -it gittools -- kubectl get secret mypassword -o=jsonpath='{.data.password}' | base64 -d
  449. 448 cd ../Downloads/
  450. 449 ls
  451. 450 tar xvf kubeseal-0.23.0-linux-amd64.tar.gz
  452. 451 ls
  453. 452 sudo cp kubeseal /usr/local/bin/
  454. 453 kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/0.23.0/
  455. 454 kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/v0.23.0/
  456. 455 git clone https://github.com/bitnami-labs/sealed-secrets
  457. 456 ls
  458. 457 cd sealed-secrets/
  459. 458 ls
  460. 459 kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.23.0/controller.yaml
  461. 460 kubectl api-resources | less
  462. 461 kubectl get crds
  463. 462 kubectl create secret generic mypassword --from-literal=password=password --dry-run=client -o yaml > /tmp/mypassword.yaml
  464. 463 kubeseal -o yaml --scope cluster-wide < /tmp/mypassword.yaml > mysealedpassword.yaml
  465. 464 vim mysealedpassword.yaml
  466. 465 kubectl get secrets
  467. 466 kubectl delete secret mypassword
  468. 467 kubectl apply -f mysealedpassword.yaml
  469. 468 kubectl get sealedsecret,secret
  470. 469 history
  471. 470 cd ~/gitops/
  472. 471 cd kustomize-bluegreen/blue/
  473. 472 cat *
  474. 473 ls
  475. 474 cat patch.yaml
  476. 475 cat bluecm.yaml
  477. 476 cat deployment.yaml
  478. 477 ls
  479. 478 vim blue-svc.yaml
  480. 479 vim myapp-ing.yaml
  481. 480 sudo vim /etc/hosts
  482. 481 vim kustomization.yaml
  483. 482 kubectl apply -k .
  484. 483 kubectl get deploy,pods,svc,cm,img
  485. 484 kubectl get deploy,pods,svc,cm,ing
  486. 485 curl myapp.local
  487. 486 cd ..green
  488. 487 cd ../green
  489. 488 ls
  490. 489 cat kustomization.yaml
  491. 490 kubectl apply -k .
  492. 491 vim myapp-ing.yaml
  493. 492 kubectl get ing
  494. 493 kubectl describe ing myapp
  495. 494 kubectl apply -f myapp-ing.yaml
  496. 495 kubectl describe ing myapp
  497. 496 curl myapp.local
  498. 497 kubectl scale deployment blue-deploy --replicas=0
  499. 498 cd ..
  500. 499 kubectl get svc green-svc -o yaml | less
  501. 500 vim canary.yaml
  502. 501 echo new-version > index.html
  503. 502 kubectl create cm new-version --from-file=index.html
  504. 503 echo old-version > index.html
  505. 504 kubectl create cm old-version --from-file=index.html
  506. 505 rm index.html
  507. 506 vim canary.yaml
  508. 507 kubectl apply -f canary.yaml
  509. 508 kubectl expose deployment old-version --port=80 --type=NodePort
  510. 509 sed -i -e 's/old/new/' canary.yaml
  511. 510 vim canary.yaml
  512. 511 kubectl apply -f canary.yaml
  513. 512 kubectl get all --selector type=canary
  514. 513 kubectl expose deployment new-version --port=80 --type=NodePort
  515. 514 kubectl get all --selector type=canary
  516. 515 ls *ing*
  517. 516 cat new-ing.yaml
  518. 517 kubectl create ing old-version --rule="theapp.info/=old-version:80
  519. "
  520. 518 kubectl create ing old-version --rule="theapp.info/=old-version:80"
  521. 519 sudo vim /etc/hosts
  522. 520 curl theapp.info
  523. 521 vim new-ing.yaml
  524. 522 kubectl apply -f new-ing.yaml
  525. 523 curl theapp.info
  526. 524 kubectl get svc
  527. 525 curl 192.168.49.2:32492
  528. 526 curl 192.168.49.2:32220
  529. 527 minikube ip
  530. 528 history
  531. 529 cd ..
  532. 530 cd
  533. 531 mkdir prof
  534. 532 mv prof prod
  535. 533 mkdir preprod
  536. 534 cd preprod/
  537. 535 git init
  538. 536 echo hello > README.md
  539. 537 echo welcome to preproduction > index.html
  540. 538 cd ../prod
  541. 539 git init
  542. 540 echo prod > README.md
  543. 541 echo welcome to PRODUCTION > index.html
  544. 542 git add *
  545. 543 git commit -m "initial commit"
  546. 544 git branch -m main
  547. 545 git remote add origin https://github.com/sandervanvugt/prod
  548. 546 git push -o origin main
  549. 547 git push -u origin main
  550. 548 cd ..
  551. 549 cd preprod
  552. 550 git add *
  553. 551 git commit -m "initial commit"
  554. 552 git branch -m main
  555. 553 git remote add origin https://github.com/sandervanvugt/preprod
  556. 554 git push -u origin main
  557. 555 docker run --name gitmonday -it sandervanvugt/gitops sh
  558. 556 minikube ssh
  559. 557 kubectl get storageclass
  560. 558 cd ../gitops/
  561. 559 ls
  562. 560 cd lesson14/
  563. 561 ls
  564. 562 vim prod-pv.yaml
  565. 563 kubectl apply -f prod-pv.yaml
  566. 564 vim preprod-pv.yaml
  567. 565 kubectl apply -f preprod-pv.yaml
  568. 566 sudo vim /etc/hosts
  569. 567 ping preprod
  570. 568 ping prod
  571. 569 kubectl create ns preprod
  572. 570 kubectl get ns preprod
  573. 571 kubectl get all -n preprod
  574. 572 kubectl delete svc preprod -n preprod
  575. 573 kubectl delete deploy preprod -n preprod
  576. 574 kubectl get all -n prod
  577. 575 kubectl delete -n prod pod prodpod web
  578. 576 kubectl delete -n prod svc web
  579. 577 kubectl get all -n prod
  580. 578 cp preprod-pvc ~/preprod
  581. 579 cp preprod-pvc.yaml ~/preprod
  582. 580 cd ~/preprod/
  583. 581 vim preprod-pvc.yaml
  584. 582 kubectl apply -f preprod-pvc.yaml
  585. 583 kubectl create -n preprod deploy preprod --image=nginx --replicas=3
  586. 584 cd -
  587. 585 cat pvc-patch.yaml
  588. 586 kubectl patch -n preprod deployments.apps preprod --patch-file pvc-patch.yaml
  589. 587 kubectl get -n preprod deploy preprod -o yaml > preprod-deploy.yaml
  590. 588 vim preprod-deploy.yaml
  591. 589 kubectl expose deployment -n preprod preprod --type=NodePort --port=80 --dry-run=client -o yaml > preprod-svc.yaml
  592. 590 kubectl apply -f preprod-svc.yaml
  593. 591 kubectl create ing -n preprod preprod-ing --rule="/=preprod:80" --dry-run=client -o yaml > preprod-ing.yaml
  594. 592 kubectl apply -f preprod-ing.yaml
  595. 593 vim preprod-ing.yaml
  596. 594 kubectl get ing -n preprod
  597. 595 vim preprod-ing.yaml
  598. 596 kubectl apply -f preprod-ing.yaml
  599. 597 kubectl describe -n preprod svc
  600. 598 kubectl get ing -A
  601. 599 kubectl delete ing myapp new-version nginxsvc-ingress old-version simple
  602. 600 kubectl apply -f preprod-ing.yaml
  603. 601 kubectl get all -n preprod
  604. 602 kubectl get all,ing -n preprod
  605. 603 curl preprod
  606. 604 ls -lrt
  607. 605 cp preprod-deploy.yaml ~/preprod/
  608. 606 cp preprod-svc.yaml ~/preprod/
  609. 607 cp preprod-ing.yaml ~/preprod/
  610. 608 curl preprod
  611. 609 kubectl describe -n preprod ing preprod-ing
  612. 610 kubectl delete -f preprod-svc.yaml
  613. 611 kubectl delete -f preprod-deploy.yaml
  614. 612 kubectl delete -f preprod-ing.yaml
  615. 613 cd ~/preprod/
  616. 614 ls
  617. 615 history
  618. 616 git add *
  619. 617 git commit -m "yaml files uploaded"
  620. 618 git push
  621. 619 cd ../gitops/
  622. 620 vim gitops-preprod-operator.yaml
  623. 621 kubectl apply -f gitops-preprod-operator.yaml
  624. 622 kubectl describe -n preprod jobs
  625. 623 kubectl get all -n preprod
  626. 624 kubectl apply -f gitops-preprod-operator.yaml
  627. 625 vim gitops-preprod-operator.yaml
  628. 626 kubectl apply -f gitops-preprod-operator.yaml
  629. 627 ls /tmp
  630. 628 vim gitops-preprod-operator.yaml
  631. 629 minikube ssh
  632. 630 kubectl get all -n preprod
  633. 631 vim gitops-preprod-operator.yaml
  634. 632 kubectl get all
  635. 633 kubectl delete cronjobs.batch gitops-operator
  636. 634 kubectl create sa gitops -n preprod
  637. 635 kubectl create sa gitops -n prod
  638. 636 kubectl create clusterrolebinding gitops-admin --clusterrole=cluster-admin --serviceaccount preprod:gitops --serviceaccount prod:gitops
  639. 637 kubectl get all -n preprod
  640. 638 vim gitops-preprod-operator.yaml
  641. 639 kubectl apply -f gitops-preprod-operator.yaml
  642. 640 kubectl get cronjobs,jobs
  643. 641 kubectl get cronjobs,jobs,pods
  644. 642 kubectl get all -n preprod
  645. 643 ls *operator*
  646. 644 vim gitops-operator.yaml
  647. 645 cd lesson14/
  648. 646 ls
  649. 647 vim gitops-prod-operator.yaml
  650. 648 cd ../../prod/
  651. 649 ls
  652. 650 cd ../gitops/lesson14/
  653. 651 ls
  654. 652 cp preprod-ing.yaml ../../prod/prod-ing.yaml
  655. 653 cp preprod-svc.yaml ../../prod/prod-svc.yaml
  656. 654 cp preprod-deploy.yaml ../../prod/prod-deploy.yaml
  657. 655 cd ../../prod/
  658. 656 ls
  659. 657 grep preprod *
  660. 658 sed -e -i 's/preprod/prod/' *
  661. 659 sed -i -e 's/preprod/prod/' *
  662. 660 grep prod *
  663. 661 cd ../gitops/lesson14/
  664. 662 ls
  665. 663 vim gitops-prod-operator.yaml
  666. 664 kubectl apply -f gitops-prod-operator.yaml
  667. 665 historyt
  668. 666 history
  669.  
Add Comment
Please, Sign In to add comment