Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

Tutorials

https://www.youtube.com/watch?v=ZpbXSdzp_vo

Some Kubernetes Distributions

Microk8s seems like a good option.

Authentication

Pull an Image from a Private Registry

Define a Command and Arguments for a Container

Define a Command and Arguments for a Container

Define command as ["/busybox/sh", "-c", "tail -f /dev/null"] instead of ["/busybox/sh", "-c", "tail", "-f", "/dev/null"] .

One-time Job

Running one-time jobs during Kubernetes deployments

Request Resource

https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-best-practices-resource-requests-and-limits

https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/

https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/

Configure Quality of Service for Pods

Kubertenes Deployment

Kubertenes Deployment

Below is an example YAML configuration file.

---
apiVersion: v1
kind: Service
metadata:
  name: helloworldserivce
spec:
  selector:
    app: hello-world
  ports:
    - protocol: "TCP"
      port: 8080
      targetPort: 80
      nodePort: 30001
  type: LoadBalancer


---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-world
spec:
  replicas: 5
  selector:
    matchLabels:
      app: hello-world
  template:
    metadata:
      labels:
        app: hello-world
    spec:
      containers:
      - name: hello-world
        image: tutum/hello-world
        ports:
        - containerPort: 80

Another good example is to Deploy Apache Ray on Kubernetes .

in you namespace, you can run kubectl get resourcequota to check your quota

kubectl version list

kubectl get namespace

kubectl get namespace -l account.kubernetes.io/name=your_account

kubectl config get-contexts

kubectl get account chdu -o yaml

kubectl get application jupyterhub -o yaml

kubectl get namespace your_namespace -o yaml

kubectl get rc,pod,svc -n your_namespace

Run command in a pod.

kubectl exec -it pod_name -n your_namespace -- /bin/bash

Copy files to a pod.

kubectl -n your_namespace cp local_path_1 ... local_path_n pod_name:/destination/dir/

Copy files to a pod.

kubectl -n your_namespace cp pod_name:/some/path/1 pod_name:/some/path/2 /local/destination/dir

Delete a pod. Notice that a new pod will be created to replace the deleted pod if there’s no enough replicas. If you want to delete a pod completely (without replacement), you have to delete the corresponding deployment instead.

kubectl -n your_namespace delete pods pod_name

List deployments in a namespace.

kubectl -n ms get deployments

Delete a deployment.

kubectl -n your_namespace delete deployment deployment_name

References