Kubernetes集群部署之一系统环境初始化
1. 关闭swap和防火墙
① ubuntu:
# swapoff -a
编辑/etc/fstab,注释掉包含swap的一行即可,重启后永久关闭
# ufw disable
② centos:
#systemctl disable firewalld.service
#systemctl stop firewalld.service
# hostnamectl set-hostname k8s_master
# hostnamectl set-hostname k8s_node1
# hostnamectl set-hostname k8s_node2
[root@k8s_master ~]# ssh-keygen -t rsa
[root@k8s_master ~]# ssh-copy-id k8s_master
[root@k8s_master ~]# ssh-copy-id k8s_node1
[root@k8s_master ~]# ssh-copy-id k8s_node2
5.安装Docker(三台主机都安装)
第一步:使用国内Docker源
① Centos:
[root@k8s_master ~]# cd /etc/yum.repos.d/
[root@k8s_master yum.repos.d]# wget \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
--2022-05-30 17:20:48-- https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 103.15.99.96, 103.15.99.93, 103.15.99.94, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|103.15.99.96|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2640 (2.6K) [application/octet-stream]
Saving to: ‘docker-ce.repo’
100%[===========================================================================================>] 2,640 --.-K/s in 0s
2022-05-30 17:20:49 (63.8 MB/s) - ‘docker-ce.repo’ saved [2640/2640]
② Ubuntu:
安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
第二步:Docker安装
① Centos:
[root@k8s-master yum.repos.d]# yum install -y docker-ce
② Ubuntu:
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
# docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]
第三步:启动后台进程并校验
[root@k8s-master ~]# systemctl start docker
[root@k8s-master ~]# docker version
6.准备部署目录
# mkdir -p /usr/wubin/k8s/{cfg,bin,ssl,log}
Kubernetes主要由以下几个核心组件组成:
etcd 保存了整个集群的状态;
apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
scheduler 负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
kubelet 负责维护容器的生命周期,同时也负责Volume(CSI)和网络(CNI)的管理;
Container runtime 负责镜像管理以及Pod和容器的真正运行(CRI);
kube-proxy 负责为Service提供cluster内部的服务发现和负载均衡;
除了核心组件,还有一些推荐的Add-ons:
kube-dns负责为整个集群提供DNS服务
Ingress Controller为服务提供外网入口
Heapster提供资源监控
Dashboard提供GUI
Federation提供跨可用区的集群