Docker and Kubernetes Training - adarsh2858/personal-wallet-app GitHub Wiki

Welcome to the personal-wallet-app wiki!

Day 3

https://kubeweekly.io/
https://www.meetup.com/k8s-cloudnative-online/
https://community.cncf.io/events/details/cncf-kcd-bengaluru-presents-kubernetes-community-days-bengaluru/#/
https://kcd.smapply.io/prog/kcd_bengaluru/
https://www.linkedin.com/in/neependra

Exam

FCP

brew install kubectl 

(
  set -x; cd "$(mktemp -d)" &&
  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.tar.gz" &&
  tar zxvf krew.tar.gz &&
  KREW=./krew-"$(uname | tr '[:upper:]' '[:lower:]')_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/arm.*$/arm/' -e 's/aarch64$/arm64/')" &&
  "$KREW" install krew
)
  • Kubeconfig configuration
vim /tmp/kubeconfig
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01Ea3lPVEUzTWpJeU1sb1hEVE13TURreU56RTNNakl5TWxvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSjBXCkwvSENyZlZzaG4xbVlqeUVHM01LbDN2eW1mRlZ0MitxY0FXajFLWUJpK3pjNTU0MDVqM1BHbXZrdTI2bEZQNFkKV3NqME02UXYrOXc1MXdPS3krWjM4eVErSjdrRng5amtmSk9kM0pzdk15WndpeUFkeFI0aUZGZ2V6anhpQkVVVwpNeU9PT1o1emFoOHljNWt5MHVBMHFibDlIeFNSRWJGM2JVVlFzMXhGdVcwcW9MVHRaUlFqZnFwdTh2SmF5SFR6Ckw3Q0trbnROVWZ0WWRwYlR5dkFoY2FsQXQyYURGVkloZ1FPNythajVXVU1FOWM3MmpqV3RVL2RLbEhVMS9CKzgKVWdzREVhU2diWVliYUwwTEhkWDd4bFdNSmtpZkh0UCtEMFRldVQ1R1dCNElxaFJVb3BaTHdVSEZZRTNIMWN6dgphUXhiRGdhRDNhRTdISjBkdTFFQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFCb0kycjJqdTIreUZzcytnNnVIdk1UTWF0VHQKRHc4UHFsWkY5cDJGNjgxdkwveERXTXFLQUJBcWs4VHczbWZPR0xiQmNLVk96WHNnTW82TVF2NjNnN2ZrSVNjMQo2SnZ4MEZqZzVIV2g5QmlpaWdiaFM1bGJ5NC95ZjVrbDBCWGlBbi9SRGJQc2VyOHVXMHpWQUphcTl1VHUzaEJXCkJPV3NiNUtyblg5cHBFZTkrQzNxSlhibWxyRlV4WU9LeHZwQW9sMlBCdm1iMm9CQVYyeUFpZkJzSWhqeVFid0QKUmtsRGxkM0M2amI1OWx3cUZaWUFoYjhMY0tKOVpqRFRBeVRUOUxyaTI0VHd1TzlRaVdXaTViZUdyUG5KU0FvegpTUEhsMXJrelFqNFQwS3pYTUQ4em9sTm85emlZdHIvTjlicVkvM3A5Z2xVbzUzMlhQdzBsVHZwMFB1WT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    server: https://10.24.9.32:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    namespace: purushotham-m
    user: kubernetes
  name: kubernetes
current-context: kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1beta1
      args:
      - oidc-login
      - get-token
      - --oidc-issuer-url=https://authn.ch.flipkart.com/
      - --oidc-client-id=sparrow
      - --oidc-client-secret=hw28s9Dw+ewEgm2cD7gRgeIUbZJ8rLxu65NJohvoaXggXxG3
      command: kubectl
      env: null
  • export Kubeconifg
export KUBECONFIG=/tmp/kubeconfig

links

Helm

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
helm repo add jenkins https://charts.jenkins.io
helm repo update
helm create demo
helm install web ./demo/
 helm upgrade web ./demo/
helm list
helm history web
helm rollback web 1
helm delete web
helm install web --set service.type=NodePort ./demo/

 helm repo add bitnami https://charts.bitnami.com/bitnami
 helm fetch bitnami/wordpress

Day 2

links

Commands

kubectl describe pod mypod
- nginx:alpine
- redis
- memcached
apt install lynx
k get nodes -o wide

lynx <IP>:31725

Docker and K8s Training

Sign up for the k8s course

Day1

Setup

Links

Commands

docker info
docker --help
docker container run -i -t alpine sh
docker container ls -a
docker container run -d --name web nginx:alpine
docker container inspect web
docker container run -i -t --name myalpine alpine sh
Ctrl + p, Ctrl + q
docker diff myalpine
docker container commit myalpine myimage
docker container run -i -t myimage:latest sh

docker image push myimage:latest
docker image tag myimage:latest <USER_NAME>/myimage:latest

docker pull nkhare/myimage:latest
mkdir lab
cd lab
vim Dockerfile
FROM alpine
RUN date > f1
RUN date > f2
docker image build -t myimage:dockerfile .
FROM alpine
RUN date > f1
RUN date > f2
CMD ["/bin/ls", "/tmp"]
docker image build -t myimage:cmd . --no-cache
FROM alpine
RUN date > f1
RUN date > f2
COPY src /tmp
CMD ["/bin/ls", "/tmp"]
FROM alpine
RUN date > f1
RUN date > f2
COPY src /tmp
ENTRYPOINT ["/bin/ls", "/tmp"]
FROM alpine
RUN date > f1
RUN date > f2
COPY src /tmp
CMD ["/tmp"]
ENTRYPOINT ["/bin/ls"]
docker container run -d --name web3 -p 8080:80 nginx:alpine
docker network create mynet
docker network inspect mynet

docker container run -d --net=mynet --name=backend nginx:alpine
docker container run -d --net=mynet --name=frontend nginx:alpine

 docker container run -it --name web7 --net=container:web1 sh
docker container run -it --name cvol -v /data alpine sh
docker volume ls
docker container rm -f `docker container ls -a -q`

App to Deploy

Backend

  • image: mongo:3.3
  • port: 27017
  • volume : /data/db

Frontend

  • image: teamcloudyuga/rsvpapp
  • port: 5000
  • env:
    • MONGODB_HOST=
version: '3.3'

services:   db:
     image: mongo     volumes:
       - db_data:/data/db   wordpress:
     depends_on:
       - db     image: teamcloudyuga/rsvpapp     ports:
       - "80:5000"
     environment:
       MONGODB_HOST: db:27017
volumes:
    db_data: {}
kubectl get nodes
⚠️ **GitHub.com Fallback** ⚠️