-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJan 20 K8s.txt
136 lines (121 loc) · 3.44 KB
/
Jan 20 K8s.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#(Install docker in all instances)
sudo apt-get update
sudo apt-get install docker.io -y
#===================================
#(install.sh)
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl apt-transport-https ca-certificates software-properties-common
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo add-apt-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
sudo swapoff -a
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
#==================================================
#(master instance)
sudo kubeadm init (this will generate a token that you need to paste in slaves machine)
#================================================
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml
kubectl get nodes
M
1 sudo nano install.sh
2 ls
3 bash install.sh
4 sudo kubeadm init
5 mkdir -p $HOME/.kube
6 sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
7 sudo chown $(id -u):$(id -g) $HOME/.kube/config
8 kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml
9 kubectl get nodes
S
1 sudo nano install.sh
2 ls
3 bash install.sh
4 sudo kubeadm join 172.31.26.227:6443 --token 0ld7co.bh4uyxaq06f5n45i --discovery-token-ca-cert-hash sha256:1a364d85a0f9e30248dbc7813476d6f02da04430f1bc4c73584b649a54c74dba
Paste token after initialization
kubeadm token create --print-join-command
M
12 sudo nano assign1.yaml
13 kubectl get deploy
14 kubectl appl y-f assign1.yaml
15 kubectl apply -f assign1.yaml
16 kubectl get deploy
17 kubectl get pods
18 kubectl get pods -o wide
ubuntu@ip-172-31-26-227:~$ cat assign1.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: assignment1-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
M
22 sudo nano assign2.yaml
23 kubectl apply -f assign2.yaml
24 kubectl et svc
25 kubectl get svc
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: NodePort
selector:
app: nginx
ports:
- port: 80
# By default and for convenience, the `targetPort` is set to
# the same value as the `port` field.
targetPort: 80
# Optional field
# By default and for convenience, the Kubernetes control plane
# will allocate a port from a range (default: 30000-32767)
nodePort: 30007
M
28 kubectl edit deploy
29 kubectl get deploy
30 kubectl get po
31 kubectl edit svc
32 kubectl get svc
35 sudo nano assign5.yaml
36 kubectl apply -f assign5.yaml
37 kubectl get ing
38 cat assign5.yaml
39 history
ubuntu@ip-172-31-26-227:~$ cat assign5.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx-example
rules:
- http:
paths:
- path: /nginx
pathType: Prefix
backend:
service:
name: my-service
port:
number: 80