Kubernetes(一)基于Kubeadm集群部署

部署方式:
Kubernetes 集群的部署方式有多种,使用批量部署工具如(ansible/saltstack)等自动化大部分部署任务或者直接手动部署二进制预编译的软件包。还有一种方式是使用kubeadm 结合 apt-get/yum 安装必要软件安装,以守护进程的方式启动在宿主机上,本次就使用 kubeadm 来部署 Kubernetes 集群。

基本环境
OS采用Ubuntu18.04

Docker 19.03.8
Kubernetes: 1.17.3
*
kubeadm: v1.17.2

IP地址: 主机名
192.168.39.5 master1
192.168.39.15 master2
192.168.39.203 master3
192.168.39.201 node1
192.168.39.202 node2
192.168.39.203 node3

K8s官方参考文档
使用 k8s 官方提供的部署工具 kubeadm 自动安装,需要在 master 和 node 节点上
安装 docker 等组件,然后初始化,把管理端的控制服务和 node 上的服务都以 pod
的方式运行
在这里插入图片描述
一、
1、 设置主机名解析:

vim /etc/hosts
192.168.39.15 master1 master1.com
192.168.39.5 master2 master2.com
192.168.39.206 master3 master3.com
192.168.39.201 node1 node1.com
192.168.39.202 node2 node2.com
192.168.39.203 node3 node3.com

2、时间同步:
在集群的 Master 和各 node 同步时间,也可写入计划任务

~# ntpdate ntp.aliyun.com

或者

~# crontab -e
...
*/12 * * * * root /bin/bash ntpdate ntp.aliyun.com

3、关闭系统的防火墙并且金庸swap设备

~# swappoff -a

二、部署Kubernetes集群

2.1、可参考Kubeadm部署参考----步骤过程如下。
  1. 部署 HAProxy 和 Keepalived 作为 Kubernetes 管理端的访问入口,及实现访问入口高可用。
  2. 在 Master 及各 Node 安装 Docker、kubelet、kubectl 和 kubeadm,以守护进程方式启动 Docker 及 kubelet。
  3. 在其中一台 Master 上使用kubeadm init进程集群初始化。
  4. 在其他的 Master 上使用kubeadm join命令加入集群。
  5. 在各 Node 上使用kubeadm join命令加入初始化完成的集群。
  6. 在集群上部署网络组件,如 flannel 或者 calico 等来提供 service 网络和 pod 网络。
2.2 在各 master 节点安装 kubeadm、kubelet、kubectl、Docker

安装docker参考

2.2.1 在阿里云配置 K8s 镜像源
~# apt update && apt-get install -y apt-transport-https
~# curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
~# cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
~# apt update
2.2.2所有服务器点安装 kubelet kubeadm kubectl:
# apt-get update
#安装指定版本 kubeadm
查看版本信息
# apt-cache madison kubeadm 
安装 kubeadm kubectl kubelet
# apt install kubeadm=1.17.3-00 kubectl=1.17.3-00 kubelet=1.17.3-00
启动并验证 kubelet
# systemctl start kubelet && systemctl enable kubelet && systemctl status kubelet

在这里插入图片描述

2.3 master 节点运行 kubeadm init 初始化命令:

在三台 master 中任意一台 master 进行集群初始化,而且集群初始化只需要初始化一次。
kubeadm 命令使用:
kubeadm init 命令简介:
命令使用:https://kubernetes.io/zh/docs/reference/setup-tools/kubeadm/kubeadm/

Available Commands:
alpha #kubeadm 处于测试阶段的命令
completion #bash 命令补全,需要安装 bash-completion
	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kubeadmKubernetes官方提供的一种部署Kubernetes集群的工具,它可以快速、简单地部署一个符合生产环境要求的Kubernetes集群。 下面是kubeadm部署K8s集群的步骤: 1. 准备好服务器环境:确保服务器的操作系统是Ubuntu 16.04/18.04或CentOS 7,并且每个节点有至少2GB的内存和2个CPU。 2. 安装Docker:Kubernetes需要Docker来运行容器,使用以下命令安装Docker: ``` $ sudo apt-get update $ sudo apt-get install -y docker.io ``` 3. 安装kubeadm等工具:使用以下命令安装kubeadmkubelet和kubectl: ``` $ sudo apt-get update && sudo apt-get install -y apt-transport-https curl $ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - $ cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list deb https://apt.kubernetes.io/ kubernetes-xenial main EOF $ sudo apt-get update $ sudo apt-get install -y kubelet kubeadm kubectl $ sudo apt-mark hold kubelet kubeadm kubectl ``` 4. 初始化Master节点:在Master节点上使用kubeadm init命令初始化Kubernetes集群,并将输出的kubeadm join命令保存以便后续使用。 ``` $ sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 5. 配置kubectl:将配置文件复制到当前用户的目录下,以便使用kubectl命令。 ``` $ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 6. 安装网络插件:Kubernetes需要网络插件来实现Pod之间的网络通信,使用以下命令安装flannel网络插件: ``` $ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 7. 加入Worker节点:在Worker节点上使用刚才保存的kubeadm join命令加入Kubernetes集群。 ``` $ sudo kubeadm join <MASTER_IP>:<MASTER_PORT> --token <TOKEN> --discovery-token-ca-cert-hash <HASH> ``` 这样,一个基于kubeadm快速部署Kubernetes集群就搭建好了。如果需要更详细的说明,请参考官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值