鲲鹏CentOS服务器上快速搭建K8S集群

举报
鲲鹏小玩家 发表于 2020/03/23 20:34:49 2020/03/23
【摘要】 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:# 创建一个 Master 节点$ kubeadm init# 将一个 Node 节点加入到当前集群中$ kubeadm join <Master节点的IP和端口 > 1、 安装准备本文以云服务器KC1实例搭建,云服务器配置如表1-1所示。表1-1 云...

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。

这个工具能通过两条指令完成一个kubernetes集群的部署:

# 创建一个 Master 节点

$ kubeadm init

# 将一个 Node 节点加入到当前集群中

$ kubeadm join <Master节点的IP和端口 >

 

1、  安装准备

本文以云服务器KC1实例搭建,云服务器配置如表1-1所示。

1-1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO40GB

操作系统要求如表1-2所示。

1-2 操作系统要求



项目

说明

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。

 

购买的服务器如表1-3所示。

环境准备。

节点

弹性公网IP

私有IP地址

master

xxx.xxx.xxx.xxx

192.168.0.2

Node1

xxx.xxx.xxx.xxx

192.168.0.125

 

 

2、  环境准备

1)   关闭防火墙

#systemctl stop firewalld

#systemctl disable firewalld

2)   关闭selinux

#sed -i 's/enforcing/disabled/' /etc/selinux/config

# setenforce 0

3)   临时关闭swap

#swapoff -a

4)   设置主机名

master:

#vi /etc/sysconfig/network

HOSTNAME=master

#vim /etc/hosts

192.168.0.2 master

192.168.0.125 node1

 node1:

vi /etc/sysconfig/network

HOSTNAME=node1

vim /etc/hosts

192.168.0.2 master

192.168.0.125 node1

5)   将桥接的IPv4流量传递到iptables的链

#cat > /etc/sysctl.d/k8s.conf << EOF

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

3、  安装docker

执行如下命令。

#yum install docker -y

#systemctl enable docker && systemctl start docker

#docker --version

image.png

4、  添加YUM软件源

# cat > /etc/yum.repos.d/kubernetes.repo << EOF

[kubernetes]

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-aarch64

enabled=1

gpgcheck=0

repo_gpgcheck=1

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

5、  安装kubeadmkubeletkubectl

# yum install -y kubelet-1.14.0 kubeadm-1.14.0 kubectl-1.14.0

# systemctl enable kubelet

安装kubelet 后会在/etc下生成文件目录/etc/kubernetes/manifests/

6、  Master节点部署

Master机器上执行如下(如果已经执行过,想重新执行,可通过输入命令kubeadm reset重置后再执行如下命令):

kubeadm init \

  --apiserver-advertise-address=192.168.0.2 \

  --image-repository registry.aliyuncs.com/google_containers \

  --kubernetes-version v1.14.0 \

  --service-cidr=10.1.0.0/16 \

  --pod-network-cidr=10.244.0.0/16

出现如下信息表示执行成功。


image.png

image.png

kubeadm 以后将会在 /etc 路径下生成配置文件和证书文件

  tree /etc/kubernetes


7、  使用kubectl工具,执行配置文件

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

kubectl get nodes

image.png

看到master状态是NotReady,它在等待网络的加入

8、  安装Pod网络插件(CNI

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml

image.png

加入网络后再次查询nodes,看到master状态是Ready,表明网络的加入成功

image.png

9、  加入Kubernetes Node

向集群添加新节点,执行在kubeadm init输出的kubeadm join命令:这个在master init初始化时会有提示,更换为自己的IPtoken

node节点上输入如下命令。

kubeadm join 192.168.0.2:6443 --token am3871.951phu0szg19o1te --discovery-token-ca-cert-hash sha256:11b8d9e9f35ccc083856527183065c9841985d7825420b20c4954d0bec226de4

返回如下,说明成功。

image.png

10、              查看node1加入状态

master节点输入如下命令进行查看

kubectl get nodes

返回如下,说明加入成功。

image.png


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。