# In a nutshell...

## Install:

* VirtualBox and its extension

```
# Update Ubuntu
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove

# Install Required Linux Headers
sudo apt-get -y install gcc make linux-headers-$(uname -r) dkms

# Add VirtualBox Repository and key
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" >> /etc/apt/sources.list'

# Install VirtualBox
sudo apt-get update
sudo apt-get install virtualbox-6.0

# Install VirtualBox Extension Pack

curl -O http://download.virtualbox.org/virtualbox/6.0.6/Oracle_VM_VirtualBox_Extension_Pack-6.0.6.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.0.6.vbox-extpack
```

* kubectl

```
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
```

* minikube

```
# install Minikube on Linux by downloading a static binary andadd the Minikube executable to your path
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
  && chmod +x minikube
sudo cp minikube /usr/local/bin && rm minikube
```

## Start minikube:

```
sudo minikube start
```

## .yaml File Assignment:

```yaml
apiVersion: v1
# Type of the resources
kind: Pod 
metadata:
  # pod name
  name: syrus-memory-demo-2
  # Create a namespace so that the resources 
  # you create are isolated from the rest of your cluster.
  namespace: syrusk8s
spec:
  containers:
  # container name
  - name: syrus-demo-2-ctr
    # container image
    image: polinux/stress
    volumeMounts:
    - name: redis-storage
      mountPath: /data/redis
    emptyDir: {}
    resources:
      # specify the limit of the resources that this container can use
      limits:
        memory: "100Mi"
        cpu: "2"
      # specify how many memory is needed for this container
      requests:
        memory: "50Mi"
        cpu: "1"
    # docker run command
    command: ["stress"]
    # command arguments
    args: ["--vm", "1", "--vm-bytes", "250M", "--vm-hang", "1"]
  volumes:
  - name: redis-storage
    emptyDir: {}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://devops.books.c-k.dev/kubernetes/in-a-nutshell....md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
