kubernetes 二进制部署

kubernetes二进制部署

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
说明:
使用ipvs需要安装相应的工具来处理”yum install ipset ipvsadm -y“
确保 ipvs已经加载内核模块, ip_vs、ip_vs_rr、ip_vs_wrr、ip_vs_sh、
nf_conntrack_ipv4。如果这些内核模块不加载,当kube-proxy启动后,会退回到iptables模式。

##基础环境初始化:
yum -y install vim telnet iotop openssh-clients openssh-server ntp net-tools.x86_64 wget

sed -i '/* soft nproc 4096/d' /etc/security/limits.d/20-nproc.conf
echo '* - nofile 65536' >> /etc/security/limits.conf
echo '* soft nofile 65535' >> /etc/security/limits.conf
echo '* hard nofile 65535' >> /etc/security/limits.conf
echo 'fs.file-max = 65536' >> /etc/sysctl.conf
ssh-keygen -t rsa
ssh-copy-id -p52000 -i /root/.ssh/id_rsa.pub root@192.168.3.136
ssh-copy-id -p52000 -i /root/.ssh/id_rsa.pub root@192.168.3.137

1.部署etcd
cd /home/k8s_install/Deploy/ssl_etcd
chmod +x cfssl.sh
./cfssl.sh

cat cfssl.sh
curl -L https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -o /usr/local/bin/cfssl
curl -L https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -o /usr/local/bin/cfssljson
curl -L https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -o /usr/local/bin/cfssl-certinfo
chmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson /usr/local/bin/cfssl-certinfo

mkdir /home/k8s_install/ssl_etcd/ && cd /home/k8s_install/ssl_etcd/


mkdir /home/k8s_install/etcd/{cfg,bin,ssl} -p
cp {ca,server-key,server}.pem /home/k8s_install/etcd/ssl/

wget https://github.com/etcd-io/etcd/releases/download/v3.2.12/etcd-v3.2.12-linux-amd64.tar.gz

tar -zxvf etcd-v3.2.12-linux-amd64.tar.gz

cp -p etcd-v3.2.12-linux-amd64/etcd* /home/k8s_install/etcd/bin/

[root@k8s-dev-master bin]# cat /usr/lib/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
EnvironmentFile=/home/k8s_install/etcd/cfg/etcd
ExecStart=/home/k8s_install/etcd/bin/etcd \
--name=${ETCD_NAME} \
--data-dir=${ETCD_DATA_DIR} \
--listen-peer-urls=${ETCD_LISTEN_PEER_URLS} \
--listen-client-urls=${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 \
--advertise-client-urls=${ETCD_ADVERTISE_CLIENT_URLS} \
--initial-advertise-peer-urls=${ETCD_INITIAL_ADVERTISE_PEER_URLS} \
--initial-cluster=${ETCD_INITIAL_CLUSTER} \
--initial-cluster-token=${ETCD_INITIAL_CLUSTER_TOKEN} \
--initial-cluster-state=new \
--cert-file=/home/k8s_install/etcd/ssl/server.pem \
--key-file=/home/k8s_install/etcd/ssl/server-key.pem \
--peer-cert-file=/home/k8s_install/etcd/ssl/server.pem \
--peer-key-file=/home/k8s_install/etcd/ssl/server-key.pem \
--trusted-ca-file=/home/k8s_install/etcd/ssl/ca.pem \
--peer-trusted-ca-file=/home/k8s_install/etcd/ssl/ca.pem
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target


[root@k8s-dev-master bin]# cat /home/k8s_install/
etcd/ ssl_etcd/
[root@k8s-dev-master bin]# cat /home/k8s_install/etcd/
bin/ cfg/ ssl/
[root@k8s-dev-master bin]# cat /home/k8s_install/etcd/cfg/etcd
#[Member]
ETCD_NAME="etcd01"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https://192.168.3.135:2380"
ETCD_LISTEN_CLIENT_URLS="https://192.168.3.135:2379"

#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://192.168.3.135:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://192.168.3.135:2379"
ETCD_INITIAL_CLUSTER="etcd01=https://192.168.3.135:2380,etcd02=https://192.168.3.136:2380,etcd03=https://192.168.3.137:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"




##同步到其它etcd节点
scp -rp -P52000 /home/k8s_install/etcd/{bin,cfg,ssl} root@192.168.3.136:/home/k8s_install/etcd/
scp -rp -P52000 /home/k8s_install/etcd/{bin,cfg,ssl} root@192.168.3.137:/home/k8s_install/etcd/

scp -rp -P52000 /usr/lib/systemd/system/etcd.service root@192.168.3.136:/usr/lib/systemd/system/
scp -rp -P52000 /usr/lib/systemd/system/etcd.service root@192.168.3.137:/usr/lib/systemd/system/