首先需要安装docker,请参考:《CentOS 上 安装Docker (解决安装过程中遇到的问题)》
还要安装etcd,请参考:《CentOS8 安装/测试 etcd》
添加kuberenetes.repo 文件,内容如下(/etc/yum.repos.d/kubernetes.repo)
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
#http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
更新repo
yum update
Kubernetes 308 kB/s | 88 kB 00:00
Dependencies resolved.
Nothing to do.
Complete!
安装kubernetes
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
Last metadata expiration check: 0:00:14 ago on Mon 06 Apr 2020 04:19:21 AM CST.
Dependencies resolved.
=======================================================================================================================================================================================
Package Architecture Version Repository Size
=======================================================================================================================================================================================
Installing:
kubeadm x86_64 1.18.0-0 kubernetes 8.8 M
kubectl x86_64 1.18.0-0 kubernetes 9.5 M
kubelet x86_64 1.18.0-0 kubernetes 21 M
Installing dependencies:
socat x86_64 1.7.3.2-6.el8 AppStream 298 k
conntrack-tools x86_64 1.4.4-9.el8 BaseOS 205 k
libnetfilter_cthelper x86_64 1.0.0-13.el8 BaseOS 24 k
libnetfilter_cttimeout x86_64 1.0.0-11.el8 BaseOS 24 k
libnetfilter_queue x86_64 1.0.2-11.el8 BaseOS 30 k
cri-tools x86_64 1.13.0-0 kubernetes 5.1 M
kubernetes-cni x86_64 0.7.5-0 kubernetes 10 M
Transaction Summary
=======================================================================================================================================================================================
Install 10 Packages
Total download size: 55 M
Installed size: 246 M
Downloading Packages:
(1/10): libnetfilter_cthelper-1.0.0-13.el8.x86_64.rpm 134 kB/s | 24 kB 00:00
(2/10): libnetfilter_cttimeout-1.0.0-11.el8.x86_64.rpm 435 kB/s | 24 kB 00:00
(3/10): libnetfilter_queue-1.0.2-11.el8.x86_64.rpm 616 kB/s | 30 kB 00:00
(4/10): conntrack-tools-1.4.4-9.el8.x86_64.rpm 611 kB/s | 205 kB 00:00
(5/10): socat-1.7.3.2-6.el8.x86_64.rpm 170 kB/s | 298 kB 00:01
(6/10): 14bfe6e75a9efc8eca3f638eb22c7e2ce759c67f95b43b16fae4ebabde1549f3-cri-tools-1.13.0-0.x86_64.rpm 2.4 MB/s | 5.1 MB 00:02
(7/10): 2d6ec4ae24a355c5818174f39e212f116cbd796cabcc113a68fc613d3d1fe147-kubeadm-1.18.0-0.x86_64.rpm 1.9 MB/s | 8.8 MB 00:04
(8/10): cf6754a3497c5c05de050f2409eb3b2854467967cf359a8ed9c6e6c32808c7de-kubectl-1.18.0-0.x86_64.rpm 2.0 MB/s | 9.5 MB 00:04
(9/10): 548a0dcd865c16a50980420ddfa5fbccb8b59621179798e6dc905c9bf8af3b34-kubernetes-cni-0.7.5-0.x86_64.rpm 2.2 MB/s | 10 MB 00:04
(10/10): 3d1298e3f34961565204febc5da169d1ac3673b7eb772a7bc19c2b310526b0e8-kubelet-1.18.0-0.x86_64.rpm 2.6 MB/s | 21 MB 00:08
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 4.7 MB/s | 55 MB 00:11
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : kubectl-1.18.0-0.x86_64 1/10
Installing : cri-tools-1.13.0-0.x86_64 2/10
Installing : libnetfilter_queue-1.0.2-11.el8.x86_64 3/10
Running scriptlet: libnetfilter_queue-1.0.2-11.el8.x86_64 3/10
Installing : libnetfilter_cttimeout-1.0.0-11.el8.x86_64 4/10
Running scriptlet: libnetfilter_cttimeout-1.0.0-11.el8.x86_64 4/10
Installing : libnetfilter_cthelper-1.0.0-13.el8.x86_64 5/10
Running scriptlet: libnetfilter_cthelper-1.0.0-13.el8.x86_64 5/10
Installing : conntrack-tools-1.4.4-9.el8.x86_64 6/10
Running scriptlet: conntrack-tools-1.4.4-9.el8.x86_64 6/10
Installing : socat-1.7.3.2-6.el8.x86_64 7/10
Installing : kubernetes-cni-0.7.5-0.x86_64 8/10
Installing : kubelet-1.18.0-0.x86_64 9/10
Installing : kubeadm-1.18.0-0.x86_64 10/10
Running scriptlet: kubeadm-1.18.0-0.x86_64 10/10
Verifying : socat-1.7.3.2-6.el8.x86_64 1/10
Verifying : conntrack-tools-1.4.4-9.el8.x86_64 2/10
Verifying : libnetfilter_cthelper-1.0.0-13.el8.x86_64 3/10
Verifying : libnetfilter_cttimeout-1.0.0-11.el8.x86_64 4/10
Verifying : libnetfilter_queue-1.0.2-11.el8.x86_64 5/10
Verifying : cri-tools-1.13.0-0.x86_64 6/10
Verifying : kubeadm-1.18.0-0.x86_64 7/10
Verifying : kubectl-1.18.0-0.x86_64 8/10
Verifying : kubelet-1.18.0-0.x86_64 9/10
Verifying : kubernetes-cni-0.7.5-0.x86_64 10/10
Installed:
kubeadm-1.18.0-0.x86_64 kubectl-1.18.0-0.x86_64 kubelet-1.18.0-0.x86_64 socat-1.7.3.2-6.el8.x86_64
conntrack-tools-1.4.4-9.el8.x86_64 libnetfilter_cthelper-1.0.0-13.el8.x86_64 libnetfilter_cttimeout-1.0.0-11.el8.x86_64 libnetfilter_queue-1.0.2-11.el8.x86_64
cri-tools-1.13.0-0.x86_64 kubernetes-cni-0.7.5-0.x86_64
Complete!
-
kubeadm
:用来初始化集群的指令。 -
kubelet
:在集群中的每个节点上用来启动 pod 和容器等。 -
kubectl
:用来与集群通信的命令行工具。
设置开机启动项
[root@localhost /]# sudo systemctl enable kubelet
Created symlink /etc/systemd/system/multi-user.target.wants/kubelet.service → /usr/lib/systemd/system/kubelet.service.
[root@localhost /]# sudo systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
[root@localhost /]# systemctl start docker
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
启动kubelet
systemctl start kubelet
修改docker daemon.json,默认systemd
改成cgroupfs
vim /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
重启docker,
systemctl restart docker
单机k8s安装完成