1.三台机子  vim /etc/hosts

 2.禁用selinux  

setenforce 0

彻底禁用selinux,修改配置文件。将其中的 SELINUX=enforcing 修改为 SELINUX=disabled

3.禁用firewalld

systemctl stop firewalld
systemctl disable firewalld

4.更新yum库

yum update -y

5. 同步三个节点的系统时间

ntpdate ntp1.aliyun.com

6.etcd集群配置 etcd是一个高可用的分布式键值数据库,Kubernetes利用etcd来存储某些数据。为了提高可用性,需要在三个节点服务器上部署etcd,形成集群。

 在master节点上执行命令,

yum -y install kubernetes-master kubernetes-client etcd

7. 修改etcd的配置文件 /etc/etcd/etcd.conf

 

8.在node1节点执行命令

yum -y install kubernetes-node etcd flannel docker

修改/etc/etcd/etcd.conf 配置文件

在node2上操作与node1保持一致

  需要注意的是配置文件中的配置项需要修改成node2的

9.三个节点都执行命令

systemctl enable etcd

同时启动etcd服务

systemctl start etcd

查看etcd集群健康状况

etcdctl cluster-health

10.Master节点的配置 

master节点主要运行着apiserver、controller-manager以及scheduler等主要的服务进程。这些服务的配置文件都位于 /etc/kubernetes目录中。
  本节主要说明Kubernetes的master节点配置。

vim /etc/kubernetes/apiserver
###
# kubernetes system config
#
# The following values are used to configure the kube-apiserver
#

# The address on the local server to listen to.
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"

# The port on the local server to listen on.
KUBE_API_PORT="--port=8080"

# Port minions listen on
 KUBELET_PORT="--kubelet-port=10250"

# Comma separated list of nodes in the etcd cluster
KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.104.156:2379,http://192.168.104.159:2379,http://192.168.29.205:2379"

# Address range to use for services
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"

# default admission control policies
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"

# Add your own!
KUBE_API_ARGS=""


 

配置完成后,使用以下命令启动master节点上面的下面三个服务。

systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler

加入开机启动项

systemctl enable kube-apiserver
systemctl enable kube-controller-manager
systemctl enable kube-scheduler

kubernetes的api-server提供的各个接口都是RESTful的,我们可以通过浏览器或者其它方式访问master节点的8080端口。api-server会以JSON的形式返回各个API的地址

11.Node节点的配置

 node节点上面主要运行 kube-proxy和kubelet等进程。我们需要修改的配置文件主要有 /etc/kubernetes/config/etc/kubernetes/proxy 以及 /etc/kubernetes/kubelet,这3个文件分别为kubernetes全局配置文件、kube-proxy 配置文件以及kubelet配置文件。

修改 /etc/kubernetes/config

主要修改 KUBE_MASTER指定apiserver的地址

 

 node节点修改 /etc/kubernetes/kubelet

修改 /etc/kubernetes/proxy

 

启用配置

systemctl enable kube-proxy
systemctl enable kubelet

启动kube-proxy 和 kubelet 服务

systemctl restart kube-proxy
systemctl restart kubelet

验证测试

在master节点使用以下命令测试  

kubectl get nodes

 

11.docker 阿里云加速配置

vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://0o7m8o4u.mirror.aliyuncs.com"]
}

 12.Flannel 配置

  Flannel是Kubernetes中常用的网络配置工具,用于配置第三层(网络层)网络结构。Flannel需要在集群中的每一台机器上运行一个名为flanneld的代理程序,负责从预配置地址空间中为每台主机分配一个网段。Flannel直接使用Kubernetes API 或 etcd 存储网络配置,分配的子网及任何辅助数据。

分配docker网段

  在配置Flannel之前,我们需要预先给Docker网络分配网段。在master节点上执行以下命令:

etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16","SubnetMin":"172.17.1.0","SubnetMax":"172.17.254.0"}'

  在etcd中添加一个名称为 /automic.io/network/config 的主键,通过该主键设置提供给Docker容器使用的网段以及子网。

master 

yum -y install flannel

 修改flannel配置文件

所以节点上面修改/etc/sysconfig/flanneld

vim /etc/sysconfig/flanneld

 

 启动flanneld

systemctl enable flanneld
systemctl start flanneld

启动成功后,通过命令 ip address show 查看网络接口,会发现多出一个flannel0的网络接口

另外,flannel还生成了两个配置文件,分别是

  • /run/flannel/subnet.env  

  • /run/flannel/docker

完成。。。。。。。。。。。。。。。。。。。。。。。。。。。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐