本文是 kubernets集群实验部署前的准备操作。
以下是操作过程:
设置主机名及配置hosts
[root@localhost master]# hostnamectl set-hostname kubernetes-master
[root@localhost master]# hostnamectl status
Static hostname: kubernetes-master
Icon name: computer-vm
Chassis: vm
Machine ID: 6191eb7683f84b63a36c1c4d8a68fcfb
Boot ID: 92e6aa3941f048f8a5ef99d86b30e990
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-862.el7.x86_64
Architecture: x86-64
[root@localhost master]# cat >> /etc/hosts << EOF
192.168.20.195 kubernetes-master
192.168.20.196 kubernetes-node00
192.168.20.197 kubernetes-node01
EOF
[root@localhost master]# cat -n /etc/hosts
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 192.168.20.195 kubernetes-master
4 192.168.20.196 kubernetes-node00
5 192.168.20.197 kubernetes-node01
[root@localhost master]#
[root@localhost work0]# hostnamectl set-hostname kubernetes-node00
[root@localhost work0]# hostnamectl status
Static hostname: kubernetes-node00
Icon name: computer-vm
Chassis: vm
Machine ID: 6bfc0a20ffc345c0b9a6e8f183b41ab5
Boot ID: 6312a3bd740e4718b6e102120957769f
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-862.el7.x86_64
Architecture: x86-64
[root@localhost work0]# cat >> /etc/hosts << EOF
192.168.20.195 kubernetes-master
192.168.20.196 kubernetes-node00
192.168.20.197 kubernetes-node01
EOF
[root@localhost work0]# cat -n /etc/hosts
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 192.168.20.195 kubernetes-master
4 192.168.20.196 kubernetes-node00
5 192.168.20.197 kubernetes-node01
[root@localhost work0]#
[root@localhost work1]# hostnamectl set-hostname kubernetes-node01
[root@localhost work1]# hostnamectl status
Static hostname: kubernetes-node01
Icon name: computer-vm
Chassis: vm
Machine ID: 8a968f63778d447587873c082ee483d1
Boot ID: b33f693a1d8149238a5e8fabd263b383
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-862.el7.x86_64
Architecture: x86-64
[root@localhost work1]# cat >> /etc/hosts << EOF
192.168.20.195 kubernetes-master
192.168.20.196 kubernetes-node00
192.168.20.197 kubernetes-node01
EOF
[root@localhost work1]# cat -n /etc/hosts
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 192.168.20.195 kubernetes-master
4 192.168.20.196 kubernetes-node00
5 192.168.20.197 kubernetes-node01
[root@localhost work1]#
###########################################################master与nodes间的免密登录
【注意:此操作只需要在master机器上执行,两个work机器不需要做任何操作】
[root@localhost master]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:XpMV6NEsm+8MCpqpxgMWkf6/UuAH9zmB8E10uzirkf8 root@kubernetes-master
The key's randomart image is:
+---[RSA 2048]----+
| . .. . +. |
| o . .. = o. |
|. . o + o =. |
| o o + o. =o |
| + + .oS.+. |
|.. o oo=o.... |
|.o +* oo. + |
| +.+.+ . o |
| ..o.o...E |
+----[SHA256]-----+
[root@localhost master]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.20.196
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.20.196 (192.168.20.196)' can't be established.
ECDSA key fingerprint is SHA256:aDoeqgH+fD1Ur/WdpYlNjuIY0t5iH5PuT0ewPkQ64PQ.
ECDSA key fingerprint is MD5:8f:3a:d5:e2:ee:d5:60:3c:9c:f7:28:1e:70:0d:64:5f.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.20.196's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@192.168.20.196'"
and check to make sure that only the key(s) you wanted were added.
[root@localhost master]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.20.197
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.20.197 (192.168.20.197)' can't be established.
ECDSA key fingerprint is SHA256:a6PG3JgmZaDRZXGwMq5C1MamuiAbXah+/72QDqp02lA.
ECDSA key fingerprint is MD5:52:f9:b9:17:83:75:d0:26:15:48:88:09:89:dc:73:ce.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.20.197's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@192.168.20.197'"
and check to make sure that only the key(s) you wanted were added.
[root@localhost master]# ssh root@192.168.20.196
Last login: Tue Apr 14 19:45:04 2020
[root@kubernetes-node00 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg
[root@kubernetes-node00 ~]# exit
logout
Connection to 192.168.20.196 closed.
[root@localhost master]# ssh root@192.168.20.197
Last login: Tue Apr 14 19:47:14 2020
[root@kubernetes-node01 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg
[root@kubernetes-node01 ~]# exit
logout
Connection to 192.168.20.197 closed.
[root@localhost master]#
##########################################################
将桥接的IPv4流量传递到iptables的链
[root@localhost master]# modprobe br_netfilter
[root@localhost master]# sysctl -p
[root@localhost master]# sysctl --system
- Applying /usr/lib/sysctl.d/00-system.conf ...
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0 - Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ...
kernel.yama.ptrace_scope = 0 - Applying /usr/lib/sysctl.d/50-default.conf ...
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
fs.protected_hardlinks = 1
fs.protected_symlinks = 1 - Applying /usr/lib/sysctl.d/60-libvirtd.conf ...
fs.aio-max-nr = 1048576 - Applying /etc/sysctl.d/99-sysctl.conf ...
- Applying /etc/sysctl.d/k8s.conf ...
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1 - Applying /etc/sysctl.conf ...
[root@localhost master]#
[root@localhost work0]# cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
[root@localhost work0]# modprobe br_netfilter
[root@localhost work0]# sysctl -p
[root@localhost work0]# sysctl --system - Applying /usr/lib/sysctl.d/00-system.conf ...
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0 - Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ...
kernel.yama.ptrace_scope = 0 - Applying /usr/lib/sysctl.d/50-default.conf ...
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
fs.protected_hardlinks = 1
fs.protected_symlinks = 1 - Applying /usr/lib/sysctl.d/60-libvirtd.conf ...
fs.aio-max-nr = 1048576 - Applying /etc/sysctl.d/99-sysctl.conf ...
- Applying /etc/sysctl.d/k8s.conf ...
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1 - Applying /etc/sysctl.conf ...
[root@localhost work0]#
[root@localhost work1]# cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
[root@localhost work1]# modprobe br_netfilter
[root@localhost work1]# sysctl -p
[root@localhost work1]# sysctl --system - Applying /usr/lib/sysctl.d/00-system.conf ...
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0 - Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ...
kernel.yama.ptrace_scope = 0 - Applying /usr/lib/sysctl.d/50-default.conf ...
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
fs.protected_hardlinks = 1
fs.protected_symlinks = 1 - Applying /usr/lib/sysctl.d/60-libvirtd.conf ...
fs.aio-max-nr = 1048576 - Applying /etc/sysctl.d/99-sysctl.conf ...
- Applying /etc/sysctl.d/k8s.conf ...
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1 - Applying /etc/sysctl.conf ...
[root@localhost work1]#
########################################################配置docker和kubernetes YUM软件源
[root@localhost master]# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
--2020-04-14 21:59:42-- https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 111.6.206.244, 111.6.206.243, 111.6.206.242, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|111.6.206.244|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2640 (2.6K) [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/docker-ce.repo’
100%[=============================================>] 2,640 --.-K/s in 0s
2020-04-14 21:59:42 (846 MB/s) - ‘/etc/yum.repos.d/docker-ce.repo’ saved [2640/2640]
[root@localhost master]# cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
[root@localhost master]# ls -F /etc/yum.repos.d/
CentOS-Base.repo CentOS-fasttrack.repo docker-ce.repo
CentOS-Base.repo.original0 CentOS-Media.repo kubernetes.repo
CentOS-CR.repo CentOS-Sources.repo
CentOS-Debuginfo.repo CentOS-Vault.repo
[root@localhost master]#
[root@localhost work0]# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
--2020-04-14 22:01:53-- https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 111.6.206.245, 111.6.206.246, 111.6.206.244, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|111.6.206.245|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2640 (2.6K) [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/docker-ce.repo’
100%[=============================================>] 2,640 --.-K/s in 0s
2020-04-14 22:01:53 (970 MB/s) - ‘/etc/yum.repos.d/docker-ce.repo’ saved [2640/2640]
[root@localhost work0]# cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
[root@localhost work0]# ls -F /etc/yum.repos.d/
CentOS-Base.repo CentOS-fasttrack.repo docker-ce.repo
CentOS-Base.repo.original0 CentOS-Media.repo kubernetes.repo
CentOS-CR.repo CentOS-Sources.repo
CentOS-Debuginfo.repo CentOS-Vault.repo
[root@localhost work0]#
[root@localhost work1]# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
--2020-04-14 22:02:06-- https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 111.6.206.245, 111.6.206.246, 111.6.206.244, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|111.6.206.245|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2640 (2.6K) [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/docker-ce.repo’
100%[=========================================================================================================>] 2,640 --.-K/s in 0s
2020-04-14 22:02:06 (1.33 GB/s) - ‘/etc/yum.repos.d/docker-ce.repo’ saved [2640/2640]
[root@localhost work1]# cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
[root@localhost work1]# ls -F /etc/yum.repos.d/
CentOS-Base.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo docker-ce.repo
CentOS-Base.repo.original0 CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo kubernetes.repo
[root@localhost work1]#
孟伯,20200411
交流联系:微信 1807479153 ,QQ 1807479153