Skip to content

Instantly share code, notes, and snippets.

@yv84
Last active March 1, 2019 03:52
Show Gist options
  • Save yv84/d03ed5353b4368fdc3feb0c62e3e8cc7 to your computer and use it in GitHub Desktop.
Save yv84/d03ed5353b4368fdc3feb0c62e3e8cc7 to your computer and use it in GitHub Desktop.
try kube
https://www.youtube.com/watch?v=wHyRnO4UI5E
https://www.youtube.com/watch?v=6xJwQgDnMFE
https://blog.alexellis.io/kubernetes-in-10-minutes/
Install Docker
https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-repository
Install Kubernetes apt repo
$ 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 -
OK
$ echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" \
| sudo tee -a /etc/apt/sources.list.d/kubernetes.list \
&& sudo apt-get update
CNI stands for Container Networking Interface which is a spec that defines how network drivers should interact with Kubernetes
$ sudo apt-get update \
&& sudo apt-get install -y \
kubelet \
kubeadm \
kubernetes-cni
$ sudo swapoff -a
$ sudo vi /etc/fstab
sudo kubeadm reset
sudo hostnamectl set-hostname k8s-master
sudo vi /etc/hostname
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.100.4 --kubernetes-version stable-1.12
# https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-token/ - 24h
# kubeadm token create
# kubeadm token list
sudo kubeadm join 192.168.100.4:6443 --token xqm72p.2vl2xdpufxfufrni --discovery-token-ca-cert-hash sha256:38b976c0ef3d62fc03d1432f6e456b8842491af209ecb223635ed7e11fc696d3
from HELP
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ (Installing a pod network add-on)
sysctl net.bridge.bridge-nf-call-iptables=1
#kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
#kubectl apply -f https://raw.githubusercontent.com/romana/romana/master/containerize/specs/romana-kubeadm.yml
sudo hostnamectl set-hostname k8s-slave1
sudo kubeadm join 192.168.100.4:6443 --token kxi3ch.8wf6qo4t5z40lxo3 --discovery-token-ca-cert-hash sha256:7f8b4646da7a45a891044b79ee037ae6a110046b8aa9561452477fee27dec33f
kubectl get all --namespace=kube-system
NAME READY STATUS RESTARTS AGE
pod/coredns-576cbf47c7-dn6rb 1/1 Running 0 11m
pod/coredns-576cbf47c7-vk4d4 1/1 Running 0 11m
pod/etcd-k8s-master 1/1 Running 0 11m
pod/kube-apiserver-k8s-master 1/1 Running 0 11m
pod/kube-controller-manager-k8s-master 1/1 Running 0 11m
pod/kube-proxy-c7g9g 1/1 Running 0 11m
pod/kube-proxy-ws254 1/1 Running 0 5m53s
pod/kube-scheduler-k8s-master 1/1 Running 0 11m
pod/weave-net-6pk5k 2/2 Running 0 9m15s
pod/weave-net-98r4s 2/2 Running 0 5m53s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 12m
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/kube-proxy 2 2 2 2 2 <none> 12m
daemonset.apps/weave-net 2 2 2 2 2 <none> 9m15s
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deployment.apps/coredns 2 2 2 2 12m
NAME DESIRED CURRENT READY AGE
replicaset.apps/coredns-576cbf47c7 2 2 2 11m
kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 7m32s v1.12.0
k8s-slave1 Ready <none> 69s v1.12.0
kubectl get pods
# https://medium.com/@claudiopro/getting-started-with-kubernetes-via-minikube-ada8c7a29620
kubectl create hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080
kubectl expose deployment hello-minikube --type=NodePort
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-minikube NodePort 10.101.16.0 <none> 8080:30330/TCP 38s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 39m
navigate -> http://192.168.100.4:30330
kubectl delete service,deployment hello-minikube
# https://kubernetes.io/docs/reference/kubectl/docker-cli-to-kubectl/
kubectl expose deployment nginx-app --name=nginx-http --port=80 --nodePort=9980 --type=NodePort
kubectl get events
# Create or modify /etc/docker/daemon.json on the client machine
# { "insecure-registries":["myregistrydomain.com:5000"] }
# DOCKER_OPTS="$DOCKER_OPTS --insecure-registry myregistrydomain.com:5000"
sudo service docker restart
sudo docker login -u admin -p admin https://myregistrydomain.com:5000
sudo cp ~/.docker/config.json /var/lib/kubelet/config.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment