Difference between revisions of "IT-SDK-Kubernetes-YAML"

From wiki.samerhijazi.net
Jump to navigation Jump to search
(Sammlung)
(Installation and Configuration)
Line 30: Line 30:
 
=== Installation and Configuration ===
 
=== Installation and Configuration ===
 
<pre class="code">
 
<pre class="code">
root root $ sudo -i
+
[user@master:~$] sudo -i
root $ root@lfs458-node-1a0a:~# apt-get update && apt-get upgrade -y
+
[root@master:~$] apt-get update && apt-get upgrade -y
root $ apt-get install -y docker.io
+
[root@master:~$] apt-get install -y docker.io
root $ vim /etc/apt/sources.list.d/kubernetes.list
+
[root@master:~$] vim /etc/apt/sources.list.d/kubernetes.list >>>> add:deb http://apt.kubernetes.io/ kubernetes-xenial main
# deb http://apt.kubernetes.io/ kubernetes-xenial main
+
[root@master:~$] curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
root $ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
+
[root@master:~$] apt-get update
root $ apt-get install -y kubeadm=1.15.1-00 kubelet=1.15.1-00 kubectl=1.15.1-00
+
[root@master:~$] apt-get install -y kubeadm=1.15.1-00 kubelet=1.15.1-00 kubectl=1.15.1-00
root $ wget https://tinyurl.com/yb4xturm -O rbac-kdd.yaml
+
[root@master:~$] wget https://tinyurl.com/yb4xturm -O rbac-kdd.yaml
root $ wget https://tinyurl.com/y8lvqc9g -O calico.yaml
+
[root@master:~$] wget https://tinyurl.com/y8lvqc9g -O calico.yaml
root $ ip addr show
+
[root@master:~$] less calico.yaml
root $ vim kubeadm-config.yaml
+
[root@master:~$] vim kubeadm-config.yaml
--------------------------------------
+
[root@master:~$] kubeadm init --config=kubeadm-config.yaml --upload-certs | tee kubeadm-init.out # Save output for future review
apiVersion: kubeadm.k8s.io/v1beta2
+
[root@master:~$] exit
kind: ClusterConfiguration
+
...
kubernetesVersion: 1.15.1 #<-- Use the word stable for newest version
+
[user@master:~$] mkdir -p $HOME/.kube
controlPlaneEndpoint: "k8smaster:6443" #<-- Use the node alias not the IP
+
[user@master:~$] sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
networking:
+
[user@master:~$] sudo chown $(id -u):$(id -g) $HOME/.kube/config
podSubnet: 192.168.0.0/16 #<-- Match the IP range from the Calico config file
+
[user@master:~$] less .kube/config
--------------------------------------
+
[user@master:~$] sudo cp /root/rbac-kdd.yaml .
root $ kubeadm init --config=kubeadm-config.yaml --upload-certs | tee kubeadm-init.out # Save output for future review
+
[user@master:~$] kubectl apply -f rbac-kdd.yaml
root $ exit
+
[user@master:~$] sudo cp /root/calico.yaml .
 
+
[user@master:~$] kubectl apply -f calico.yaml
user $ mkdir -p $HOME/.kube
+
[user@master:~$] source <(kubectl completion bash)
user $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
+
[user@master:~$] echo "source <(kubectl completion bash)" >> ~/.bashrc
user $ sudo chown $(id -u):$(id -g) $HOME/.kube/config
+
[user@master:~$] kubectl des<Tab> n<Tab><Tab> lfs458-<Tab>
user $ less .kube/config
+
[user@master:~$] kubectl -n kube-s<Tab> g<Tab> po<Tab>
user $ sudo cp /root/rbac-kdd.yaml .
+
[user@master:~$] sudo kubeadm config print init-defaults
user $ kubectl apply -f rbac-kdd.yaml
+
...
user $ sudo cp /root/calico.yaml .
+
[user@k8s-node01:~$] sudo -i
user $ kubectl apply -f calico.yaml
+
[root@k8s-node01:~$] apt-get update && apt-get upgrade -y
user $ source <(kubectl completion bash)
+
[root@k8s-node01:~$] apt-get install -y docker.io
user $ echo "source <(kubectl completion bash)" >> ~/.bashrc
+
[root@k8s-node01:~$] vim /etc/apt/sources.list.d/kubernetes.list >>>> add:deb http://apt.kubernetes.io/ kubernetes-xenial main
user $ kubectl des<Tab> n<Tab><Tab> lfs458-<Tab>
+
[root@k8s-node01:~$] curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
user $ kubectl -n kube-s<Tab> g<Tab> po<Tab>
+
[root@k8s-node01:~$] apt-get update
user $ sudo kubeadm config print init-defaults
+
[root@k8s-node01:~$] apt-get install -y kubeadm=1.15.1-00 kubelet=1.15.1-00 kubectl=1.15.1-00
 +
[root@k8s-node01:~$] exit
 +
...
 +
[user@master:~$] ip addr show ens4 | grep inet
 +
[user@master:~$] sudo kubeadm token list
 +
[user@master:~$] sudo kubeadm token create
 +
[user@master:~$] openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
 +
...
 +
[root@k8s-node01:~$] vim /etc/hosts
 +
[root@k8s-node01:~$] kubeadm join --token 27eee4.6e66ff60318da929 k8smaster:6443 --discovery-token-ca-cert-hash sha256:6d541678b05652e1fa5d43908e75e67376e994c3483d6683f2a18673e5d2a1b0
 +
[root@k8s-node01:~$] exit
 +
[user@k8s-node01:~$] kubectl get nodes
 +
[user@k8s-node01:~$] ls -l .kube
 +
...
 
</pre>
 
</pre>
  

Revision as of 17:30, 14 November 2019

Sammlung

Linux-Admin

$ vi /etc/sudoers.d
# student ALL=(ALL) ALL
$ PATH=$PATH:/usr/sbin:/sbin
$ export PATH="/home/sh/.minishift/cache/oc/v3.11.0/linux:$PATH"
$ tar -xvf filename

Install kubectl

curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
sudo install kubectl /sdk/bin

Install minikube

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
sudo install minikube /sdk/bin

Schulung

Introduction

Basics of Kubernetes

Installation and Configuration

[user@master:~$] sudo -i
[root@master:~$] apt-get update && apt-get upgrade -y
[root@master:~$] apt-get install -y docker.io
[root@master:~$] vim /etc/apt/sources.list.d/kubernetes.list >>>> add:deb http://apt.kubernetes.io/ kubernetes-xenial main
[root@master:~$] curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
[root@master:~$] apt-get update
[root@master:~$] apt-get install -y kubeadm=1.15.1-00 kubelet=1.15.1-00 kubectl=1.15.1-00
[root@master:~$] wget https://tinyurl.com/yb4xturm -O rbac-kdd.yaml
[root@master:~$] wget https://tinyurl.com/y8lvqc9g -O calico.yaml
[root@master:~$] less calico.yaml
[root@master:~$] vim kubeadm-config.yaml
[root@master:~$] kubeadm init --config=kubeadm-config.yaml --upload-certs | tee kubeadm-init.out # Save output for future review
[root@master:~$] exit
...
[user@master:~$] mkdir -p $HOME/.kube
[user@master:~$] sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[user@master:~$] sudo chown $(id -u):$(id -g) $HOME/.kube/config
[user@master:~$] less .kube/config
[user@master:~$] sudo cp /root/rbac-kdd.yaml .
[user@master:~$] kubectl apply -f rbac-kdd.yaml
[user@master:~$] sudo cp /root/calico.yaml .
[user@master:~$] kubectl apply -f calico.yaml
[user@master:~$] source <(kubectl completion bash)
[user@master:~$] echo "source <(kubectl completion bash)" >> ~/.bashrc
[user@master:~$] kubectl des<Tab> n<Tab><Tab> lfs458-<Tab>
[user@master:~$] kubectl -n kube-s<Tab> g<Tab> po<Tab>
[user@master:~$] sudo kubeadm config print init-defaults
...
[user@k8s-node01:~$] sudo -i
[root@k8s-node01:~$] apt-get update && apt-get upgrade -y
[root@k8s-node01:~$] apt-get install -y docker.io
[root@k8s-node01:~$] vim /etc/apt/sources.list.d/kubernetes.list >>>> add:deb http://apt.kubernetes.io/ kubernetes-xenial main
[root@k8s-node01:~$] curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
[root@k8s-node01:~$] apt-get update
[root@k8s-node01:~$] apt-get install -y kubeadm=1.15.1-00 kubelet=1.15.1-00 kubectl=1.15.1-00
[root@k8s-node01:~$] exit
...
[user@master:~$] ip addr show ens4 | grep inet
[user@master:~$] sudo kubeadm token list
[user@master:~$] sudo kubeadm token create
[user@master:~$] openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
...
[root@k8s-node01:~$] vim /etc/hosts
[root@k8s-node01:~$] kubeadm join --token 27eee4.6e66ff60318da929 k8smaster:6443 --discovery-token-ca-cert-hash sha256:6d541678b05652e1fa5d43908e75e67376e994c3483d6683f2a18673e5d2a1b0
[root@k8s-node01:~$] exit
[user@k8s-node01:~$] kubectl get nodes
[user@k8s-node01:~$] ls -l .kube
...

Kubernetes Architecture

APIs and Access

API Objects

Managing State With Deployments

Services

Volumes and Data

Ingress

Scheduling

Logging and Troubleshooting

Custom Resource Definition

Helm

Security

High Availability