Skip to content

Commit f20b3ed

Browse files
committed
update k8s-1.21.4
1 parent b22e1bf commit f20b3ed

8 files changed

+56
-54
lines changed

1.gen_cert_kubeconfig.sh

+22-22
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
# sudo chmod +x deploy_k8s_bin/cfssl/* && sudo cp deploy_k8s_bin/cfssl/* /usr/bin
66
# sudo chmod +x deploy_k8s_bin/k8s_v1.16.2/* && sudo cp deploy_k8s_bin/k8s_v1.16.2/* /usr/bin
77
# 配置 kubectl 别名
8-
# echo "alias kubectl='hyperkube kubectl'" >> ~/.bashrc && source ~/.bashrc
8+
# echo "alias kubectl='kubectl'" >> ~/.bashrc && source ~/.bashrc
99
# echo -e \"172.16.90.29 cka-19\n172.16.90.30 cka-20\" >> /etc/hosts
1010

1111
HOSTNAME_MASTER=cka-1
12-
INTERNAL_IP=192.168.0.6
12+
INTERNAL_IP=172.16.0.8
1313
KUBERNETES_PUBLIC_ADDRESS=${INTERNAL_IP}
1414

1515
# K8S 集群服务 IP 从服务 CIDR 预分配
@@ -271,102 +271,102 @@ EOF
271271
# kubeconfig
272272
# 为工作节点生成 kubeconfig 配置文件
273273
# 生成 kube-proxy 配置文件
274-
hyperkube kubectl config set-cluster k8smeetup-kubernetes \
274+
kubectl config set-cluster k8smeetup-kubernetes \
275275
--certificate-authority=ca.pem \
276276
--embed-certs=true \
277277
--server=https://${KUBERNETES_PUBLIC_ADDRESS}:6443 \
278278
--kubeconfig=kube-proxy.kubeconfig
279279

280-
hyperkube kubectl config set-credentials system:kube-proxy \
280+
kubectl config set-credentials system:kube-proxy \
281281
--client-certificate=kube-proxy.pem \
282282
--client-key=kube-proxy-key.pem \
283283
--embed-certs=true \
284284
--kubeconfig=kube-proxy.kubeconfig
285285

286-
hyperkube kubectl config set-context default \
286+
kubectl config set-context default \
287287
--cluster=k8smeetup-kubernetes \
288288
--user=system:kube-proxy \
289289
--kubeconfig=kube-proxy.kubeconfig
290290

291-
hyperkube kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig
291+
kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig
292292

293293
# 生成 Master 节点 kubelet 配置文件
294-
hyperkube kubectl config set-cluster k8smeetup-kubernetes \
294+
kubectl config set-cluster k8smeetup-kubernetes \
295295
--certificate-authority=ca.pem \
296296
--embed-certs=true \
297297
--server=https://${KUBERNETES_PUBLIC_ADDRESS}:6443 \
298298
--kubeconfig=${HOSTNAME_MASTER}.kubeconfig
299299

300-
hyperkube kubectl config set-credentials system:node:${HOSTNAME_MASTER} \
300+
kubectl config set-credentials system:node:${HOSTNAME_MASTER} \
301301
--client-certificate=${HOSTNAME_MASTER}.pem \
302302
--client-key=${HOSTNAME_MASTER}-key.pem \
303303
--embed-certs=true \
304304
--kubeconfig=${HOSTNAME_MASTER}.kubeconfig
305305

306-
hyperkube kubectl config set-context default \
306+
kubectl config set-context default \
307307
--cluster=k8smeetup-kubernetes \
308308
--user=system:node:${HOSTNAME_MASTER} \
309309
--kubeconfig=${HOSTNAME_MASTER}.kubeconfig
310310

311-
hyperkube kubectl config use-context default --kubeconfig=${HOSTNAME_MASTER}.kubeconfig
311+
kubectl config use-context default --kubeconfig=${HOSTNAME_MASTER}.kubeconfig
312312

313313

314314
# 为 Master 节点生成 kube-controller-manager 配置文件
315-
hyperkube kubectl config set-cluster k8smeetup-kubernetes \
315+
kubectl config set-cluster k8smeetup-kubernetes \
316316
--certificate-authority=ca.pem \
317317
--embed-certs=true \
318318
--server=https://127.0.0.1:6443 \
319319
--kubeconfig=kube-controller-manager.kubeconfig
320320

321-
hyperkube kubectl config set-credentials system:kube-controller-manager \
321+
kubectl config set-credentials system:kube-controller-manager \
322322
--client-certificate=kube-controller-manager.pem \
323323
--client-key=kube-controller-manager-key.pem \
324324
--embed-certs=true \
325325
--kubeconfig=kube-controller-manager.kubeconfig
326326

327-
hyperkube kubectl config set-context default \
327+
kubectl config set-context default \
328328
--cluster=k8smeetup-kubernetes \
329329
--user=system:kube-controller-manager \
330330
--kubeconfig=kube-controller-manager.kubeconfig
331331

332-
hyperkube kubectl config use-context default --kubeconfig=kube-controller-manager.kubeconfig
332+
kubectl config use-context default --kubeconfig=kube-controller-manager.kubeconfig
333333

334334
# 为 Master 节点生成 scheduler 配置文件
335-
hyperkube kubectl config set-cluster k8smeetup-kubernetes \
335+
kubectl config set-cluster k8smeetup-kubernetes \
336336
--certificate-authority=ca.pem \
337337
--embed-certs=true \
338338
--server=https://127.0.0.1:6443 \
339339
--kubeconfig=kube-scheduler.kubeconfig
340340

341-
hyperkube kubectl config set-credentials system:kube-scheduler \
341+
kubectl config set-credentials system:kube-scheduler \
342342
--client-certificate=kube-scheduler.pem \
343343
--client-key=kube-scheduler-key.pem \
344344
--embed-certs=true \
345345
--kubeconfig=kube-scheduler.kubeconfig
346346

347-
hyperkube kubectl config set-context default \
347+
kubectl config set-context default \
348348
--cluster=k8smeetup-kubernetes \
349349
--user=system:kube-scheduler \
350350
--kubeconfig=kube-scheduler.kubeconfig
351351

352-
hyperkube kubectl config use-context default --kubeconfig=kube-scheduler.kubeconfig
352+
kubectl config use-context default --kubeconfig=kube-scheduler.kubeconfig
353353

354354
# 为 Master 节点生成 admin 配置文件
355-
hyperkube kubectl config set-cluster k8smeetup-kubernetes \
355+
kubectl config set-cluster k8smeetup-kubernetes \
356356
--certificate-authority=ca.pem \
357357
--embed-certs=true \
358358
--server=https://127.0.0.1:6443 \
359359
--kubeconfig=admin.kubeconfig
360360

361-
hyperkube kubectl config set-credentials admin \
361+
kubectl config set-credentials admin \
362362
--client-certificate=admin.pem \
363363
--client-key=admin-key.pem \
364364
--embed-certs=true \
365365
--kubeconfig=admin.kubeconfig
366366

367-
hyperkube kubectl config set-context default \
367+
kubectl config set-context default \
368368
--cluster=k8smeetup-kubernetes \
369369
--user=admin \
370370
--kubeconfig=admin.kubeconfig
371371

372-
hyperkube kubectl config use-context default --kubeconfig=admin.kubeconfig
372+
kubectl config use-context default --kubeconfig=admin.kubeconfig

2.gen_master_service.sh

+9-7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# 此文件需要在 Vagrantfile 文件所在目录执行
33
# 虚拟机环境定义
44
HOSTNAME_MASTER=cka-1
5-
INTERNAL_IP=192.168.0.6
5+
INTERNAL_IP=172.16.0.8
66

77
POD_CIDR=10.244.0.0/16
88
SERVICE_CRDR=10.32.0.0/24
@@ -40,13 +40,14 @@ WantedBy=multi-user.target
4040
EOF
4141

4242
# API Server 服务配置生成
43+
# https://alta3.com/blog/error-invalid-value-apiall-on-kube-apiserver
4344
cat > kube-apiserver.service <<EOF
4445
[Unit]
4546
Description=Kubernetes API Server
4647
Documentation=https://github.com/kubernetes/kubernetes
4748
4849
[Service]
49-
ExecStart=/usr/bin/hyperkube kube-apiserver \\
50+
ExecStart=/usr/bin/kube-apiserver \\
5051
--advertise-address=${INTERNAL_IP} \\
5152
--allow-privileged=true \\
5253
--apiserver-count=3 \\
@@ -64,15 +65,16 @@ ExecStart=/usr/bin/hyperkube kube-apiserver \\
6465
--etcd-keyfile=/etc/kubernetes/config/kubernetes-key.pem \\
6566
--etcd-servers=https://${INTERNAL_IP}:2379 \\
6667
--event-ttl=1h \\
67-
--experimental-encryption-provider-config=/etc/kubernetes/config/encryption-config.yaml \\
68+
--encryption-provider-config=/etc/kubernetes/config/encryption-config.yaml \\
6869
--kubelet-certificate-authority=/etc/kubernetes/config/ca.pem \\
6970
--kubelet-client-certificate=/etc/kubernetes/config/kubernetes.pem \\
7071
--kubelet-client-key=/etc/kubernetes/config/kubernetes-key.pem \\
71-
--kubelet-https=true \\
72-
--runtime-config=api/all \\
72+
--runtime-config=api/all=true \\
7373
--service-account-key-file=/etc/kubernetes/config/service-account.pem \\
7474
--service-cluster-ip-range=${SERVICE_CRDR} \\
7575
--service-node-port-range=30000-32767 \\
76+
--service-account-signing-key-file=/etc/kubernetes/config/service-account-key.pem \\
77+
--service-account-issuer=kubernetes.default.svc \\
7678
--tls-cert-file=/etc/kubernetes/config/kubernetes.pem \\
7779
--tls-private-key-file=/etc/kubernetes/config/kubernetes-key.pem \\
7880
--requestheader-client-ca-file=/etc/kubernetes/config/ca.pem \\
@@ -98,7 +100,7 @@ Description=Kubernetes Controller Manager
98100
Documentation=https://github.com/kubernetes/kubernetes
99101
100102
[Service]
101-
ExecStart=/usr/bin/hyperkube kube-controller-manager \\
103+
ExecStart=/usr/bin/kube-controller-manager \\
102104
--address=0.0.0.0 \\
103105
--leader-elect=true \\
104106
--allocate-node-cidrs=true \\
@@ -138,7 +140,7 @@ Description=Kubernetes Scheduler
138140
Documentation=https://github.com/kubernetes/kubernetes
139141
140142
[Service]
141-
ExecStart=/usr/bin/hyperkube kube-scheduler \\
143+
ExecStart=/usr/bin/kube-scheduler \\
142144
--leader-elect=true \\
143145
--config=/etc/kubernetes/config/kube-scheduler.yaml \\
144146
--v=2

3.gen_master_start.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ sudo mkdir -p /etc/kubernetes/config \
1616
&& sudo cp -rf $PEM_DIR/* /etc/kubernetes/config/
1717

1818
# 分发 Master 证书文件 & 下发服务配置文件 & 下发二进制文件
19-
sudo chmod +x $BIN_PATH/etcd_v3.4.3/* && sudo cp -rf $BIN_PATH/etcd_v3.4.3/* /usr/bin \
20-
&& sudo chmod +x $BIN_PATH/k8s_v1.16.2/* && sudo cp -rf $BIN_PATH/k8s_v1.16.2/* /usr/bin \
19+
sudo chmod +x $BIN_PATH/etcd_v3.5/* && sudo cp -rf $BIN_PATH/etcd_v3.5/* /usr/bin \
20+
&& sudo chmod +x $BIN_PATH/k8s_v1.21.4/* && sudo cp -rf $BIN_PATH/k8s_v1.21.4/* /usr/bin \
2121
&& sudo mkdir -p /var/lib/etcd && sudo cp -rf $SYSTEMD_DIR/*.service /etc/systemd/system/ \
2222
&& sudo cp -rf $SYSTEMD_DIR/kube-scheduler.yaml /etc/kubernetes/config/kube-scheduler.yaml
2323

4.add_node_service.sh

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#!/bin/bash
22
# 此文件需要在 Vagrantfile 文件所在目录执行
33
# 虚拟机环境定义
4-
HOSTNAME_WORKER=cka-2
5-
INTERNAL_IP=192.168.0.5
6-
KUBERNETES_PUBLIC_ADDRESS=192.168.0.6
4+
HOSTNAME_WORKER=cka-3
5+
INTERNAL_IP=172.16.0.17
6+
KUBERNETES_PUBLIC_ADDRESS=172.16.0.8
77

88
POD_CIDR=10.244.0.0/16
99

@@ -47,24 +47,24 @@ cfssl gencert \
4747
kube-proxy-csr.json | cfssljson -bare kube-proxy
4848

4949
# 生成 kube-proxy 使用的配置文件
50-
hyperkube kubectl config set-cluster k8smeetup-kubernetes \
50+
kubectl config set-cluster k8smeetup-kubernetes \
5151
--certificate-authority=ca.pem \
5252
--embed-certs=true \
5353
--server=https://${KUBERNETES_PUBLIC_ADDRESS}:6443 \
5454
--kubeconfig=kube-proxy.kubeconfig
5555

56-
hyperkube kubectl config set-credentials system:kube-proxy \
56+
kubectl config set-credentials system:kube-proxy \
5757
--client-certificate=kube-proxy.pem \
5858
--client-key=kube-proxy-key.pem \
5959
--embed-certs=true \
6060
--kubeconfig=kube-proxy.kubeconfig
6161

62-
hyperkube kubectl config set-context default \
62+
kubectl config set-context default \
6363
--cluster=k8smeetup-kubernetes \
6464
--user=system:kube-proxy \
6565
--kubeconfig=kube-proxy.kubeconfig
6666

67-
hyperkube kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig
67+
kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig
6868

6969
# 生成 kube-proxy 配置文件
7070
cat > kube-proxy-config.yaml <<EOF
@@ -82,7 +82,7 @@ Description=Kubernetes Kube Proxy
8282
Documentation=https://github.com/kubernetes/kubernetes
8383
8484
[Service]
85-
ExecStart=/usr/bin/hyperkube kube-proxy \\
85+
ExecStart=/usr/bin/kube-proxy \\
8686
--config=/var/lib/kube-proxy/kube-proxy-config.yaml
8787
Restart=on-failure
8888
RestartSec=5
@@ -122,24 +122,24 @@ cfssl gencert \
122122
${HOSTNAME_WORKER}-csr.json | cfssljson -bare ${HOSTNAME_WORKER}
123123

124124
# 生成 kubelet 使用的配置文件
125-
hyperkube kubectl config set-cluster k8smeetup-kubernetes \
125+
kubectl config set-cluster k8smeetup-kubernetes \
126126
--certificate-authority=ca.pem \
127127
--embed-certs=true \
128128
--server=https://${KUBERNETES_PUBLIC_ADDRESS}:6443 \
129129
--kubeconfig=${HOSTNAME_WORKER}.kubeconfig
130130

131-
hyperkube kubectl config set-credentials system:node:${HOSTNAME_WORKER} \
131+
kubectl config set-credentials system:node:${HOSTNAME_WORKER} \
132132
--client-certificate=${HOSTNAME_WORKER}.pem \
133133
--client-key=${HOSTNAME_WORKER}-key.pem \
134134
--embed-certs=true \
135135
--kubeconfig=${HOSTNAME_WORKER}.kubeconfig
136136

137-
hyperkube kubectl config set-context default \
137+
kubectl config set-context default \
138138
--cluster=k8smeetup-kubernetes \
139139
--user=system:node:${HOSTNAME_WORKER} \
140140
--kubeconfig=${HOSTNAME_WORKER}.kubeconfig
141141

142-
hyperkube kubectl config use-context default --kubeconfig=${HOSTNAME_WORKER}.kubeconfig
142+
kubectl config use-context default --kubeconfig=${HOSTNAME_WORKER}.kubeconfig
143143

144144
cat > kubelet-config-${HOSTNAME_WORKER}.yaml <<EOF
145145
kind: KubeletConfiguration
@@ -169,7 +169,7 @@ Description=Kubernetes Kubelet
169169
Documentation=https://github.com/kubernetes/kubernetes
170170
171171
[Service]
172-
ExecStart=/usr/bin/hyperkube kubelet \\
172+
ExecStart=/usr/bin/kubelet \\
173173
--config=/var/lib/kubelet/kubelet-config.yaml \\
174174
--image-pull-progress-deadline=2m \\
175175
--kubeconfig=/var/lib/kubelet/kubeconfig \\

5.add_node_start.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# 此文件需要在 Vagrantfile 文件所在目录执行
33
# 虚拟机环境定义
44

5-
HOSTNAME_WORKER=cka-2
5+
HOSTNAME_WORKER=cka-3
66

77
BASE_DIR=$(cd "$(dirname "$0")";pwd)
88
BIN_PATH=$BASE_DIR/deploy_k8s_bin
@@ -11,8 +11,8 @@ REMOTE_NODE=tmp_add_node
1111
SYSTEMD_DIR=$BASE_DIR/files/$REMOTE_NODE
1212

1313
# docker
14-
scp $BIN_PATH/k8s_v1.16.2/hyperkube ${HOSTNAME_WORKER}:~/
15-
ssh $HOSTNAME_WORKER "sudo chmod +x ~/hyperkube && sudo cp -rf ~/hyperkube /usr/bin \
14+
scp -r $BIN_PATH/k8s_v1.21.4/ ${HOSTNAME_WORKER}:~/
15+
ssh $HOSTNAME_WORKER "sudo chmod +x ~/ && sudo cp -rf ~/k8s_v1.21.4/* /usr/bin \
1616
&& sudo apt update \
1717
&& sudo apt install socat conntrack resolvconf ipvsadm ipset jq sysstat docker.io -y"
1818

6.gen_node_service.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# 此文件需要在 Vagrantfile 文件所在目录执行
33
# 虚拟机环境定义
44
HOSTNAME_MASTER=cka-1
5-
INTERNAL_IP=192.168.0.6
5+
INTERNAL_IP=172.16.0.8
66

77
POD_CIDR=10.244.0.0/16
88

@@ -26,7 +26,7 @@ Description=Kubernetes Kube Proxy
2626
Documentation=https://github.com/kubernetes/kubernetes
2727
2828
[Service]
29-
ExecStart=/usr/bin/hyperkube kube-proxy \\
29+
ExecStart=/usr/bin/kube-proxy \\
3030
--config=/var/lib/kube-proxy/kube-proxy-config.yaml
3131
Restart=on-failure
3232
RestartSec=5
@@ -64,7 +64,7 @@ Description=Kubernetes Kubelet
6464
Documentation=https://github.com/kubernetes/kubernetes
6565
6666
[Service]
67-
ExecStart=/usr/bin/hyperkube kubelet \\
67+
ExecStart=/usr/bin/kubelet \\
6868
--config=/var/lib/kubelet/kubelet-config.yaml \\
6969
--image-pull-progress-deadline=2m \\
7070
--kubeconfig=/var/lib/kubelet/kubeconfig \\

7.gen_node_start.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ REMOTE_SERVICE=tmp_service
1414
PEM_DIR=$BASE_DIR/files/$REMOTE_PEM
1515
SYSTEMD_DIR=$BASE_DIR/files/$REMOTE_SERVICE
1616

17-
sudo chmod +x $BIN_PATH/k8s_v1.16.2/hyperkube && sudo cp -rf $BIN_PATH/k8s_v1.16.2/hyperkube /usr/bin \
17+
sudo chmod +x $BIN_PATH/k8s_v1.21.4/&& sudo cp -rf $BIN_PATH/k8s_v1.21.4/ /usr/bin \
1818
&& sudo mkdir -p /var/lib/kubelet \
1919
/var/lib/kube-proxy \
2020
/etc/kubernetes/config \

apiserver-kubelet.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 基于角色的 Kubelet 授权
22
---
3-
apiVersion: rbac.authorization.k8s.io/v1beta1
3+
apiVersion: rbac.authorization.k8s.io/v1
44
kind: ClusterRole
55
metadata:
66
annotations:
@@ -20,7 +20,7 @@ rules:
2020
verbs:
2121
- "*"
2222
---
23-
apiVersion: rbac.authorization.k8s.io/v1beta1
23+
apiVersion: rbac.authorization.k8s.io/v1
2424
kind: ClusterRoleBinding
2525
metadata:
2626
name: system:kube-apiserver
@@ -32,4 +32,4 @@ roleRef:
3232
subjects:
3333
- apiGroup: rbac.authorization.k8s.io
3434
kind: User
35-
name: kubernetes
35+
name: kubernetes

0 commit comments

Comments
 (0)