Difference between revisions of "IT-SDK-Kubernetes-YAML"
Jump to navigation
Jump to search
(→Install minikube) |
(→Life Cycle: kubeadm) |
||
| Line 32: | Line 32: | ||
== Life Cycle: kubeadm == | == Life Cycle: kubeadm == | ||
| + | <pre class="code"> | ||
| + | apiVersion: v1 | ||
| + | kind: Config | ||
| + | preferences: {} | ||
| + | clusters: | ||
| + | - cluster: | ||
| + | certificate-authority: fake-ca-file | ||
| + | server: https://1.2.3.4 | ||
| + | name: development | ||
| + | - cluster: | ||
| + | insecure-skip-tls-verify: true | ||
| + | server: https://5.6.7.8 | ||
| + | name: scratch | ||
| + | contexts: | ||
| + | - context: | ||
| + | cluster: development | ||
| + | namespace: frontend | ||
| + | user: developer | ||
| + | name: dev-frontend | ||
| + | - context: | ||
| + | cluster: development | ||
| + | namespace: storage | ||
| + | user: developer | ||
| + | name: dev-storage | ||
| + | - context: | ||
| + | cluster: scratch | ||
| + | namespace: default | ||
| + | user: experimenter | ||
| + | name: exp-scratch | ||
| + | users: | ||
| + | - name: developer | ||
| + | user: | ||
| + | client-certificate: fake-cert-file | ||
| + | client-key: fake-key-file | ||
| + | - name: experimenter | ||
| + | user: | ||
| + | password: some-password | ||
| + | username: exp | ||
| + | current-context: dev-frontend | ||
| + | </pre> | ||
<pre class="code"> | <pre class="code"> | ||
$ kubeadm init | $ kubeadm init | ||
| Line 37: | Line 77: | ||
$ kubeadm config | $ kubeadm config | ||
$ kubeadm token | $ kubeadm token | ||
| − | |||
</pre> | </pre> | ||
Revision as of 14:07, 15 November 2019
Contents
- 1 Sammlung
- 2 Linux-Admin
- 3 Install kubectl
- 4 Install minikube
- 5 Life Cycle: kubeadm
- 6 Schulung
- 6.1 Introduction
- 6.2 Basics of Kubernetes
- 6.3 Installation and Configuration
- 6.4 Kubernetes Architecture
- 6.5 APIs and Access
- 6.6 API Objects
- 6.7 Managing State With Deployments
- 6.8 Services
- 6.9 Volumes and Data
- 6.10 Ingress
- 6.11 Scheduling
- 6.12 Logging and Troubleshooting
- 6.13 Custom Resource Definition
- 6.14 Helm
- 6.15 Security
- 6.16 High Availability
Sammlung
- Installation-Tools: kubeadm
- Installation with Vagrant: https://kubernetes.io/blog/2019/03/15/kubernetes-setup-using-ansible-and-vagrant/
- Master (CPU: 3, MEM: 4G, Storage: 5G)
- Worker (CPU: 1, MEM: 2G, Storage: 5G)
- Ubuntu 16.04 LTS: ubuntu/xenial64
Linux-Admin
$ vi /etc/sudoers.d #Add: student ALL=(ALL) ALL $ PATH=$PATH:/usr/sbin:/sbin $ export PATH="/home/sh/.minishift/cache/oc/v3.11.0/linux:$PATH" $ tar -xvf filename $ ip addr show $ vim /etc/hosts $ less filaname.txt # Dispaly the contents of a file $ cat filename.txt # Display the content of a file $ tee filename.txt # Redirect output to multiple files
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
Life Cycle: kubeadm
apiVersion: v1
kind: Config
preferences: {}
clusters:
- cluster:
certificate-authority: fake-ca-file
server: https://1.2.3.4
name: development
- cluster:
insecure-skip-tls-verify: true
server: https://5.6.7.8
name: scratch
contexts:
- context:
cluster: development
namespace: frontend
user: developer
name: dev-frontend
- context:
cluster: development
namespace: storage
user: developer
name: dev-storage
- context:
cluster: scratch
namespace: default
user: experimenter
name: exp-scratch
users:
- name: developer
user:
client-certificate: fake-cert-file
client-key: fake-key-file
- name: experimenter
user:
password: some-password
username: exp
current-context: dev-frontend
$ kubeadm init $ kubeadm join $ kubeadm config $ kubeadm token
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 # Add: Kubernetes-Version, Node-Alais, IP-Range [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 ...