云社区 博客 博客详情
云社区 博客 博客详情

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

鲲鹏小玩家 发表于 2020-03-23 20:34:49 03-23 20:34
鲲鹏小玩家 发表于 2020-03-23 20:34:49 2020/03/23
1
0

【摘要】 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

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

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


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

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

8、  安装Pod网络插件(CNI

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

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

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

返回如下,说明成功。

10、              查看node1加入状态

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

kubectl get nodes

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


登录后可下载附件,请登录或者注册

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

评论 (1)


普通学生

1楼2020-03-25 09:56:38
0/1000
评论

登录后可评论,请 登录注册

评论

您还没有写博客的权限!

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消