kubeadm一键部署K8S流程

这篇具有很好参考价值的文章主要介绍了kubeadm一键部署K8S流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

-架构设计:
k8s部署:(master+node1+node2)
master.com:192.168.17.144
node1.com:192.168.17.146
node2.com:192.168.17.148

master上部署:
etcd(数据库)、kube-apiserver、kube-controller-manager、kubectl、kubeade、
kubelet、kube-proxy、flannel(这个是用于服务节点通讯)

node上部署:
kubectl、kubelet、kube-proxy、flannel、docker


三台机器上同时部署:
vim /etc/hosts
192.168.17.144 master.com
192.168.17.146 node1.com
192.168.17.148 node2.com

完成后ping域名测试连通

如果在正实的外网环境上,例如阿里云ECS上要放以下端口
master:TCP:6443 2379 2380 60080 60081
node:UDP端口全部要开放

设置防火墙(三台机器上同时部署):
systemctl stop firewalld NetworkManager
systemctl disable firewalld NetworkManager

sed -i “s/SELINUX=enforcing/SELINUX=disabled/g” /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
getenforce 0

iptables -F
iptables -X
iptables -Z

iptables -P FORWARD ACCEPT

禁用swap功能(三台机器上同时部署)
swapoff -a
#防止开机挂载swap分区,命令意思就是行首加上注释
sed -i ‘/ swap / s/^(.*)$/#\1/g’ /etc/fstab

yum源配置(三台机器上同时部署)
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i ‘aliyuncs/d’ /etc/yum.repo.d/*.repo
yum clean all && yum makecache fast

ntp时间服务器配置(三台机器上同时部署)
yum install chrony -y
systemctl start chronyd
systemctl enable chronyd

改配置文件 加入一行
vim /etc/chrony.conf
server ntp.aliyun.com iburst
hwclock -w

修改linux内核参数,因为用的是iptables转发数据
vim /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
vm.max_map_count=262144

modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf

安装docker环境(三台机器上同时部署)
yum remove docker docker-common docker-selinux docker-engine -y
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum list docker-ce --showduplicates

yum install docker-ce-19.03.15 docker-ce-cli-19.03.15 -y

创建或修改 /etc/docker/daemon.json 文件,修改为如下形式
{
“registry-mirrors” : [“https://ms9g1x6x.mirror.aliyuncs.com”],
“exec-opts”:[“native.cgroupdriver=systemd”]
}

systemctl start docker && systemctlenable docker

安装k8s的初始化工具kubeadm命令(三台机器上同时部署)
curl -o /etc/yum.repos.d/Centos-7.repo http://mirror.aliyun.com/repo/Centos-7
curl -o /etc/yum.repos.d/docker.repo http://mirror.aliyun.com/docker-ce/linux/centos/docker-ce.repo

vim /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpd

yum clean all && yum makecache

yum list kubeadm --showduplicates

yum install kubelet-1.19.3 kubeadm-1.19.3 kubectl-1.19.3 ipvsadm

查看kubeadm版本
kubeadm version
开机启动
systemctl enable kubelet
systemctl enable docker

初始化k8s master主节点(只在主节点master上执行)
kubeadm init
–apiserver-advertise-address=192.168.17.144
–image-repository registry-aliyuncs.com/google_containers
–kubernetes-version v1.19.3
–service-cidr=192.168.17.0/24 \ #k8s服务发现网段地址
–pod-network-cidr=192.168.100.0/24 \ #设置pod后的运行网段地址
–service-dns-domain=cluster.local
–ignore-preflight-errors=Swap
–ignore-preflight-errors=NumCPU

根据初始化的最后信息,会有三行,复制后只在master上执行一下:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown ( i d − u ) : (id -u): (idu):(id -g) $HOME/.kube/config

netstat -tunlp 查看端口是否都开了

kubectl get nodes -o wide #查看节点信息

根据初始化的最后信息,会有三行token信息,复制到各node节点上执行一下:
kubeadm join 192.168.17.144:6443 --token … sha256:asfasfasfasfasff4a6f4a6f4asdf4

kubectl get nodes -owide #再查看节点信息

在master上安装flannel网络插件

下载
git clone --depth 1 https://github.com/coreos/flannel.git

改配置文件(网段和前面的设置的pod网段对应上):
vim /root/flannel-master/Documentation/kube-flannel.yml
net-conf.json |
{
“network”:“192.168.100.0/24”,
“Backend”:{“type”:“vxlan”}
}

接着改第二个地方:
使的跨主机容器通讯,指定用哪块网卡指定:
containers:

  • name:kube-flannel
    #image: flannelcni/flannel:v0.19.2 for ppc64le and mips64le (docker…)
    image: docker.io/rancher/mirrored-flannelcni-flannel:v0.19.2
    commang:
  • /opt/bin/flanneld
    args:
  • –ip-masq
  • –kube-subnet-mgr
  • –iface=ens33

k8s命令补全:
yum install bash-completion -y
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo “source <(kubectl completion bash)” >> ~/.bashrc

验证
kubectl get nodes -o wide

创建pod
/root/flannel-master/Documentation/当前目录位置
kubectl create -f ./kube-flannel.yml

/root/flannel-master/Documentation/当前目录位置
建立一个nginx
kubectl run linux0024-pod-1-nginx --image=nginx:1.14.1文章来源地址https://www.toymoban.com/news/detail-621256.html

到了这里,关于kubeadm一键部署K8S流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云原生Kubernetes:Kubeadm部署K8S单Master架构

    目录 一、理论 1.kubeadm 2.Kubeadm部署K8S单Master架构 3.环境部署 4.所有节点安装docker 5.所有节点安装kubeadm,kubelet和kubectl 6.部署K8S集群 7.安装dashboard 8.安装Harbor私有仓库 9.内核参数优化方案 二、实验 1.Kubeadm部署K8S单Master架构 2. 部署流程  3.环境部署 4.所有节点安装docker 5.所有节

    2024年02月10日
    浏览(61)
  • 【Kubernetes部署篇】Kubeadm方式搭建K8s集群 1.26.0版本

    官方文档: 二进制下载地址 环境规划: pod网段:10.244.0.0/16 service网段:10.10.0.0/16 注意: pod和service网段不可冲突,如果冲突会导致K8S集群安装失败。 容器运行时本次使用containerd。 主机名 IP地址 操作系统 master-1 16.32.15.200 CentOS7.8 node-1 16.32.15.201 CentOS7.8 node-2 16.32.15.202 CentOS

    2024年02月10日
    浏览(47)
  • 【Kubernetes部署篇】Kubeadm方式搭建K8s集群 1.27.0版本

    官方文档: 二进制下载地址 环境规划: pod网段:10.244.0.0/16 service网段:10.10.0.0/16 注意: pod和service网段不可冲突,如果冲突会导致K8S集群安装失败。 主机名 IP地址 操作系统 master-1 16.32.15.200 CentOS7.8 node-1 16.32.15.201 CentOS7.8 node-2 16.32.15.202 CentOS7.8 1、关闭防火墙 2、配置域名解

    2024年02月08日
    浏览(78)
  • 一、kubeadm部署Kubernetes(k8s) 1.23.0多主高可用集群

    Kubernetes介绍 kubernetes(k8s)是2015年由Google公司基于Go语言编写的一款开源的容器集群编排系统,用于自动化容器的部署、扩缩容和管理; kubernetes(k8s)是基于Google内部的Borg系统的特征开发的一个版本,集成了Borg系统大部分优势; 官方地址:https://Kubernetes.io 代码托管平台:

    2024年03月25日
    浏览(60)
  • 云原生Kubernetes: Kubeadm部署K8S 1.29版本 单Master架构

    目录 一、实验 1.环境 2.K8S master节点环境准备 3.K8S master节点安装kubelet、kubeadm、kubectl 3.K8S node节点环境准备与软件安装 4.K8S master节点部署服务 5.K8S node节点部署 6.K8S master节点查看集群 7.容器网络(CNI)部署 8.K8S 集群测试 二、问题 1.calico生成资源报错 2.为何要安装docker和ci-d

    2024年02月01日
    浏览(70)
  • CentOS 7/8使用kubeadm部署kubernets(k8s)集群【附阿里云实验室】

    好消息好消息,阿里云全线降价,大量服务提供免费甚至永久的试用,赶紧来薅大厂羊毛吧,坐电梯即可直达! 送福利!阿里云热门产品免费领(含ECS),点击进入 :https://click.aliyun.com/m/1000370359/ 送福利!阿里云热门产品免费领(含ECS),点击进入 :https://click.aliyun.com/m/

    2023年04月22日
    浏览(42)
  • Kubernetes - 一键安装部署 K8S(附:Kubernetes Dashboard)

    不知道大伙是如何安装 K8s,特别还是集群的时候,我上一次安装搭建的时候,那个恶心到我了,真的是一步一个脚印走完整个搭建流程,爬了不少坑。 于是,才有了今天的文章,到底有没有可以一键完美部署 k8s 并且附带 Dashboard……?那这么问了肯定是有的,否则岂不是在

    2024年02月03日
    浏览(55)
  • CentOS 7/8使用kubeadm部署kubernets(k8s)集群【附阿里云实验室】内有福利

    好消息好消息,阿里云全线降价,大量服务提供免费甚至永久的试用,赶紧来薅大厂羊毛吧,坐电梯即可直达! 送福利!阿里云热门产品免费领(含ECS),点击进入 :https://click.aliyun.com/m/1000370359/ 送福利!阿里云热门产品免费领(含ECS),点击进入 :https://click.aliyun.com/m/

    2023年04月27日
    浏览(47)
  • 【aliyun ECS】CentOS 7/8使用kubeadm部署kubernets(k8s)集群【附阿里云实验室】内有福利

    好消息好消息,阿里云全线降价,大量服务提供免费甚至永久的试用,赶紧来薅大厂羊毛吧,坐电梯即可直达! 送福利!阿里云热门产品免费领(含ECS),点击进入 :https://click.aliyun.com/m/1000370359/ 送福利!阿里云热门产品免费领(含ECS),点击进入 :https://click.aliyun.com/m/

    2023年04月27日
    浏览(43)
  • Amazon Linux2使用kubeadm部署安装K8S集群

    在AWS上启动3台Amazon Linux2的服务器,服务器配置为2vcpu 和2GB内存 1. 修改主机名(可选步骤) 2.导入k8s的yum仓库密钥 3. 配置kubernetes源 4. 部署安装kubeadm、kubectl、docker,并且启动docker 5. 在master节点上执行初始化 具体初始化过程如下 [init] Using Kubernetes version: v1.27.1 [preflight] Runni

    2024年02月06日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包