kubeadm部署集群

本教程详细介绍了Kubernetes(K8s)集群的部署过程,包括minikube、kubeadm等多种部署方式,覆盖从开发测试到生产环境的全过程。深入讲解helm命令与插件开发,以及K8s命令的go源码分析。通过实践步骤,如节点配置、Yum仓库设置、Docker和K8s组件安装、镜像拉取、flannel网络配置等,帮助读者掌握K8s集群搭建的关键技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967

课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。

第三个视频发布:https://edu.youkuaiyun.com/course/detail/27574

详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件

第四个课程发布:https://edu.youkuaiyun.com/course/detail/28488

本课程将详细介绍k8s所有命令,以及命令的go源码分析,学习知其然,知其所以然

————————————————

1配置节点

hostnamectl set-hostname master01

hostnamectl set-hostname node01

hostnamectl set-hostname node02

 

vi /etc/hosts

192.168.198.154 master01

192.168.198.155 node01

192.168.198.156 node02

 

scp /etc/hosts root@node01:/etc/hosts

scp /etc/hosts root@node02:/etc/hosts

 

时间同步

yum install -y ntpdate

ntpdate ntp.api.bz

 

关闭防火墙

iptables -F

systemctl stop firewalld

systemctl disable firewalld

 

配置内核

# 开启路由转发功能以及iptables的过滤策略。

 

cat <<EOF > /etc/sysctl.d/k8s.conf

#开启iptables中ipv6的过滤规则

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

#开启ipv4的过滤规则

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

#开启服务器的路由转发功能

net.ipv4.ip_forward = 1

EOF

 

# 执行命令使修改生效。

modprobe br_netfilter

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

 

 

关闭selinux

setenforce 0

vi /etc/selinux/config

scp /etc/selinux/config root@node01:/etc/selinux/cofnig

scp /etc/selinux/config root@node02:/etc/selinux/cofnig

 

关闭swap

swapoff -a

vi /etc/fstab

 

2配置yun仓库

# step 1: 安装必要的一些系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

 

# Step 2: 添加软件源信息

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum-config-manager --disable docker-ce-edge

yum-config-manager --disable docker-ce-test

 

# Step 3: 更新并安装 Docker-CE

sudo yum makecache fast

sudo yum -y install docker-ce

 

# Step 4: 开启Docker服务

systemctl start docker

systemctl enable docker

 

# Step 5: 更改cgroup driver为systemd,并且为docker添加镜像加速。

cat > /etc/docker/daemon.json <<EOF

{

"exec-opts": ["native.cgroupdriver=systemd"],

"registry-mirrors": ["https://jzbtfwo9.mirror.aliyuncs.com"]

}

EOF

 

 

systemctl daemon-reload

systemctl restart docker

 

3配置k8s仓库

cat <<EOF > /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/

enabled=1

gpgcheck=1

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

 

4安装相关组件

yum -y install kubeadm kubelet kubernetes-cni

systemctl enable kubelet

 

5拉取镜像

for i in `kubeadm config images list`; do

imageName=${i#k8s.gcr.io/}

docker pull registry.aliyuncs.com/google_containers/$imageName

docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName

docker rmi registry.aliyuncs.com/google_containers/$imageName

done;

 

6初始化master节点

kubeadm init --kubernetes-version=v1.17.0 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.198.154

 

#--kubernetes-version指明要下载的镜像版本

#--pod-network-cidr 指明网络的子网掩码,此处使用flannel模型的子网掩码

#--apiserver-advertise-address 指明与master结点绑定的ip

 

配置kubect config

mkdir -p $HOME/.kube

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

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

 

7配置flannel网络

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

# 下载flannel的yaml文件

kubectl apply -f kube-flannel.yml

# 执行这个文件生成flannel的pods

 

8添加节点

kubeadm join 192.168.217.129:6443 --token vtqzkt.j0u1chomafn1offd --discovery-token-ca-cert-hash sha256:c25549dc8457677752b8d1b0547acfa8be742cbd5734802b6d2e3e9a6e7e1b73

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值