1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 基于阿里云ECS服务器的k8s集群环境搭建

基于阿里云ECS服务器的k8s集群环境搭建

时间:2024-05-01 22:16:04

相关推荐

基于阿里云ECS服务器的k8s集群环境搭建

前言: 网上搭建k8s的文章很多,但很多都无法按其说明在阿里云ecs服务器成功搭建,所以我就花了些时间基于自己成功搭建k8s的步骤写了个 操作手册,希望对想搭建k8s环境的盆友有所帮助。

声明: 由于本人对k8s不是很熟悉,大部分也是参考别人的文章而写,再次对同行的分享表示感谢.

1. 集群信息:

master01 : 39.100.137.XX(172.26.214.XX)

slave1: 39.98.155.XX(172.26.214.XX)

slave2: 39.98.154.XX(172.26.214.XX)

2.设置主机名: master, slave均需配置

#master执行

>vi /etc/sysconfig/network

HOSTNAME=master01

#slave1执行

>vi /etc/sysconfig/network

HOSTNAME=master01

#slave2执行

>vi /etc/sysconfig/network

HOSTNAME=slave02

3.设置主机名与ip的对应关系: master, slave均需配置

>cat /etc/hosts

172.26.214.XX master01

172.26.214.XX slave01

172.26.214.XX slave02

4.关闭swap:master, slave均需配置

重启机器后,如果是临时关闭,别忘记再次执行.

>swapoff -a #临时关闭

>vim /etc/fstab #永久关闭

将/dev/mapper/centos-swap swap swap default 0 0 这一行前面加个#号将其注释掉

5.将桥接的IPv4流量传递到iptables : master, slave均需配置

>vim /etc/sysctl.conf

添加:

net.ipv4.ip_forward = 1

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

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

6.载入sysctl.conf配置文件:master, slave均需执行

>sysctl -p

7.添加阿里云YUM软件源 : master, slave均需配置

>cd /etc/yum.repos.d

>touch kubernetes.repo

>vi kubernetes.repo

添加:

[kubernetes]

name=Kubernetes

baseurl=/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=/kubernetes/yum/doc/yum-key.gpg \

/kubernetes/yum/doc/rpm-package-key.gpg

8.安装kubeadm,kubelet和kubectl :master, slave均需配置

yum install -y kubelet-1.15.1 kubeadm-1.15.1 kubectl-1.15.1

9.如果已经提前安装docker, 则重启下docker

我本地在装k8s之前已经按照好docker.

注意: 每个节点都需提前安装好docker环境.

10.启动kubelet :master, slave均需执行

#systemctl enable kubelet: 添加开机自启动

>systemctl enable kubelet &&systemctl start kubelet

11.初始化k8s master : 只在master执行

kubeadm init

--image-repository /google_containers

--kubernetes-version v1.15.1

--pod-network-cidr=10.244.0.0/16

初始化参数解释:

--service-cidr: 指定serverice网络地址, 可以理解为一个负载均衡的虚拟vip

--apiserver-advertise-address: 指定Master api 组件ip地址,用于与其它节点通信.

--pod-network-cidr=10.244.0.0/16:k8s的网络插件所需要用到的配置信息,用来给node分配子网段, 这是flannel的配法.

12.配置kubectl认证信息: 只在master执行

# 对于非root用户

mkdir -p $HOME/.kube

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

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

# 对于root用户

>vi /etc/profile

export KUBECONFIG=/etc/kubernetes/admin.conf

也可以直接放到~/.bash_profile

>echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

13.安装Pod网络插件(CNI): 只在master执行

要让Kubernetes集群能够工作,必须安装Pod网络,否则Pod之间无法通信

Kubernetes支持多种网络方案,这里我使用flannel

kube-flannel.yml 地址:

/coreos/flannel/blob/master/Documentation/kube-flannel.yml

将其内容保存至本地文件kube-flannel.yml,然后执行:

>kubectl apply -f ./kube-flannel.yml

14.Node节点配置, 将node 加入master :只在node节点执行.

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

向集群添加新节点,执行在kubeadm init输出的kubeadm join命令:这个在master init初始化时会有提示,将示例中的ip更换为子节点的IP

#slave1执行:

>kubeadm join 172.26.214.XX:6443 --token amqw4o.i3eya5a1z5f6zuq7 \

--discovery-token-ca-cert-hash \

sha256:c45e01b12ea2e2954c8659328d972da5aa217e54c44c11c496b548b0df4c3095

#slave2执行:和slave1执行命令相同.

注意:此命令执行后,需要一段时间才能, 在主机用kubectl get nodes命令查到新加入的node.

15.开放端口

在阿里云后台开放: 6443 2379238010250~10252, 31620 端口. 具体方法请自行研究如何设置阿里云访问端口.\

16.验证安装结果

>kubectl get nodes

>kubectl get pods -n kube-system

17.安装Dashboard

自行参考: /networken/article/details/85607593

18. 至此安装完毕,不喜者勿入.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。