k8s-集群部署

一,基础环境

# 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

# 关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久

setenforce 0 # 临时

# 关闭swap

swapoff -a # 临时

sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久

# 根据规划设置主机名

hostnamectl set-hostname <hostname>

# 在master添加hosts

cat >> /etc/hosts << EOF

x.x.x.2 k8s-master

x.x.x.3 node1

x.x.x.4 node2

x.x.x.5 node3

EOF

# 将桥接的IPv4流量传递到iptables的链

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

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

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

EOF

sysctl --system # 生效

# 时间同步

yum install ntpdate -y

ntpdate time.windows.com

#集群节点间配置无密登录

二,安装docker环境(所有节点)

yum install -y wget

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6

systemctl enable docker && systemctl start docker

docker --version

#配置镜像加速器

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

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

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

三,安装kubeadm,kubelet和kubectl(所有节点)

#添加阿里云源

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

[kubernetes]

name=Kubernetes

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

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

$ yum install -y kubelet-1.22.10 kubeadm-1.22.10 kubectl-1.22.10

$ systemctl enable kubelet

四,部署Kubernetes Master

1.在master节点执行

在主节点(Master)执行

kubeadm init \

--apiserver-advertise-address=x.x.x.2 \

--image-repository registry.aliyuncs.com/google_containers \

--kubernetes-version v1.22.10 \

--service-cidr=10.96.0.0/12 \

--pod-network-cidr=10.244.0.0/16

--apiserver-advertise-address:API服务器将通知它正在监听的IP地址,监听的地址为“0.0.0.0”,即本机所有IP地址。

--apiserver-bind-port:API服务器绑定到的端口。(默认:6443)

--cert-dir:加载证书的相关目录(默认:/etc/kubernetes/pki)

--config:配置文件的路径。警告:配置文件目前属于实验性,还不稳定。

--ignore-preflight-errors:将错误显示为警告的检查列表进行忽略。例如:“IsPrivilegedUser,Swp”。Value 'all'忽略所有检查中的错误。

--pod-network-cidr:指定pod网络的IP地址范围。如果设置,控制平面将为每个节点自动分配CIDRs。

--service-cidr:为service VIPs使用不同的IP地址。(默认“10.96.0.0/12”)

2.master节点配置 kubectl

mkdir -p $HOME/.kube

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

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

3.在node节点执行加入集群

kubeadm join x.x.x.2:6443 --token a1ouod.bua0jfp0q9jqqqmo \

--discovery-token-ca-cert-hash sha256:5b0037d584175d8267adc62a2605ad467221fb062991f723819c390ec1993a04

4.默认token有效期为24小时,当过期之后,该token就不可用了。这时就需要重新创建token,操作如下:

kubeadm token create --print-join-command

五. 部署CNI网络插件(master)

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

kubectl apply -f kube-flannel.yml

 集群状态验证

六. 测试kubernetes集群

$ kubectl create deployment nginx --image=nginx

$ kubectl expose deployment nginx --port=80 --type=NodePort

$ kubectl get pod,svc

访问地址:http://NodeIP:Port ,任意节点ip+32136端口访问

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于Kubernetes(简称K8s)分布式集群部署,有多种方式可供选择。以下是一种常见的部署方式: 1. 准备集群节点:至少需要三个节点,每个节点上需要安装操作系统(如Linux),并确保节点之间可以互相通信。 2. 安装Docker:Kubernetes使用Docker容器运行应用程序,因此需要在每个节点上安装Docker。可以通过Docker官方文档提供的安装指南来进行安装。 3. 安装Kubernetes:Kubernetes有多种安装方式,其中最常用的是使用kubeadm进行安装。在其中一个节点上执行以下步骤来初始化Kubernetes集群: - 安装kubeadm、kubelet和kubectl命令行工具; - 初始化集群:使用kubeadm init命令进行集群初始化,并按照输出的指示设置网络插件(如Calico、Flannel等); - 设置kubectl配置:将kubeconfig文件复制到正确的位置,以便可以使用kubectl命令与集群进行交互。 4. 加入节点:在其他节点上执行kubeadm join命令,将它们加入到Kubernetes集群中。 5. 配置网络插件:根据之前选择的网络插件,按照相应的文档进行配置,以确保集群内的Pod之间可以正常通信。 6. 部署应用程序:通过kubectl命令或使用YAML文件部署应用程序到Kubernetes集群中。 这只是一个简单的概述,实际的部署过程会更加复杂,还需要考虑安全性、高可用性、负载均衡等因素。建议参考Kubernetes文档中关于部署和管理集群的详细指南进行操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

远方有海,小样不乖

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

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

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

打赏作者

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

抵扣说明:

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

余额充值