Kubernetes集群的部署

安装 kubeadm | Kubernetes集群的部署

在kubernetes的官网

安装 kubeadm | KubernetesThis page shows how to install the `kubeadm` toolbox. For information on how to create a cluster with kubeadm once you have performed this installation process, see the [Using kubeadm to Create a Cluster](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) page. -- 本页面显示如何安装 kubeadm 工具箱。 有关在执行此安装过程后如何使用 kubeadm 创建集群的信息,请参见 使用 kubeadm 创建集群 页面。准备开始 一台兼容的 Linux 主机。Kubernetes 项目为基于 Debian 和 Red Hat 的 Linux 发行版以及一些不提供包管理器的发行版提供通用的指令 每台机器 2 GB 或更多的 RAM (如果少于这个数字将会影响你应用的运行内存) 2 CPU 核或更多 集群中的所有机器的网络彼此均能相互连接(公网和内网都可以) 节点之中不可以有重复的主机名、MAC 地址或 product_uuid。请参见这里了解更多详细信息。 开启机器上的某些端口。请参见这里 了解更多详细信息。 禁用交换分区。为了保证 kubelet 正常工作,你 必须 禁用交换分区。 确保每个节点上 MAC 地址和 product_uuid 的唯一性 你可以使用命令 ip link 或 ifconfig -a 来获取网络接口的 MAC 地址 可以使用 sudo cat /sys/class/dmi/id/product_uuid 命令对 product_uuid 校验 一般来讲,硬件设备会拥有唯一的地址,但是有些虚拟机的地址可能会重复。 Kubernetes 使用这些值来唯一确定集群中的节点。 如果这些值在每个节点上不唯一,可能会导致安装 失败。https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/根据提示,在server1上安装docker仓库;server2,3,4上下载docker并且开启

在server2,3,4的/etc/sysctl.d/k8s.conf写入                                              ####调整内核参数              

sysctl --system                                        ####重新加载内核

在server2,3,4的/etc/docker/daemon.json中写入

{
  "registry-mirrors": ["https://reg.westos.org"],          ###该地址为server1docker仓库的地址(解析)
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}

 在server2,3,4上

swapoff -a                                ####关闭swap分区,如果不关闭swap虚拟内存,pod可能会在swap上运行,大大降低工作效率。

注释/etc/fstab中的swap分区

在server2,3,4上编写软件仓库k8s.repo

[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0

yum install kubelet kubeadm kubectl                        #####下载kubelet kubeadm kubectl
systemctl enable --now kubelet                                  #####开启kubelet

在server2上(作为master端)

kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers    #########拉取镜像

kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository  registry.aliyuncs.com/google_containers                                       

#######初始化集群并生成        

kubeadm join 172.25.25.2:6443 --token 5orvov.jp67ffa0ab1zrc3w \
> .--discovery-token-ca-cert-hash sha256:fb3db86a209bb9695cb0bc5f82a9806f9306adf0c72ef331b44ba791a6710901

如果为root用户执行

export KUBECONFIG=/etc/kubernetes/admin.conf

 echo "source <(kubectl completion bash)" >> ~/.bashrc                        ###添加环境变量

kubectl get node 

 kubectl get pod -n kube-system                               ###查看状态最上面两个没有ready

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

#######下载kube-flannel.yml

kubectl apply -f kube-flannel.yml                        #####应用资源清单kube-flannel.yml 

 kubectl get pod -n kube-system                                 ####显示全部ready

开始扩容在server3,4上执行

kubeadm join 172.25.25.2:6443 --token 5orvov.jp67ffa0ab1zrc3w \
> .--discovery-token-ca-cert-hash sha256:fb3db86a209bb9695cb0bc5f82a9806f9306adf0c72ef331b44ba791a6710901

然后在server2(master)上 kubectl get node 发现server3,4已经添加

 完成kubernetes的搭建server2为master端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值