当前位置: 首页 > news >正文

k8s单master部署

一、部署

1、初始化

1.1、主机准备

1.2、防火墙与上下文 

iptables -t nat -F
iptables -t filter -F
systemctl disable --now firewalldsetenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 

1.3、免密登录 

ssh-keygenssh-copy-id 192.168.11.11
ssh-copy-id 192.168.11.12

1.4、hosts文件 

vim /etc/hosts192.168.11.10    k8s-master
192.168.11.11    k8s-node1
192.168.11.12    k8s-node2scp /etc/hosts 192.168.11.11:/etc/
scp /etc/hosts 192.168.11.12:/etc/

1.5、关闭交换空间

swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab 

2、安装Docker环境

2.1、配置阿里源

vim /etc/yum.repos.d/docker-ce.repo/etc/yum.repos.d/docker-ce.repo
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com//docker-ce/linux/centos/9/x86_64/stable/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpgscp /etc/yum.repos.d/docker-ce.repo 192.168.11.11:/etc/yum.repos.d/docker-ce.reposcp /etc/yum.repos.d/docker-ce.repo 192.168.11.12:/etc/yum.repos.d/docker-ce.repo

2.2、安装并启动

yum install -y docker-cesystemctl enable --now docker

2.3、安装cri-docker

下载地址:https://github.com/Mirantis/cri-dockerd/releases

yum localinstall -y cri-dockerd-0.3.8-3.el8.x86_64.rpm

2.4、修改CRI启动脚本

vim /usr/lib/systemd/system/cri-docker.service ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9scp /usr/lib/systemd/system/cri-docker.service 192.168.11.11:/usr/lib/systemd/system/cri-docker.servicescp /usr/lib/systemd/system/cri-docker.service 192.168.11.12:/usr/lib/systemd/system/cri-docker.service

2.5、启动cri

systemctl daemon-reload
systemctl enable --now cri-docker

3、安装kubeadm和kubectl

3.1、配置yum源

cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/rpm/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/rpm/repodata/repomd.xml.key
EOFscp /etc/yum.repos.d/kubernetes.repo 192.168.11.11:/etc/yum.repos.d/kubernetes.repo
scp /etc/yum.repos.d/kubernetes.repo 192.168.11.12:/etc/yum.repos.d/kubernetes.repo

3.2、安装并启动

yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet

3.3、内核加载

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1modprobe br_netfilter
sysctl net.bridge.bridge-nf-call-ip6tables=1
sysctl net.bridge.bridge-nf-call-iptables=1sysctl -pscp /etc/sysctl.conf 192.168.11.11:/etc/sysctl.conf
scp /etc/sysctl.conf 192.168.11.12:/etc/sysctl.conf      

4、部署各节点

4.1、master节点

kubeadm init --apiserver-advertise-address=192.168.11.10 --image-repository=registry.aliyuncs.com/google_containers --kubernetes-version=v1.28.15 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --cri-socket=unix:///var/run/cri-dockerd.sock

4.2、创建集群文件

mkdir -p $HOME/.kube
cd /root/.kube
cp /etc/kubernetes/admin.conf ./config

4.3、node节点

master证书   --cri-socket=unix:///var/run/cri-dockerd.sock

5、部署网络插件

5.1、导入镜像

将 calico-3.29 tar包导入各节点

docker load -i calico.tar

5.2、在master上编辑网络信息

5.3、提交资源清单(master)

kubectl create -f tigera-operator.yamlkubectl create -f custom-resources.yaml

5.4、结果

6、命名

kubectl label node k8s-master node-role.kubernetes.io/master=master
kubectl label node k8s-node1 node-role.kubernetes.io/worker=worker
kubectl label node k8s-node2 node-role.kubernetes.io/worker=worker

二、单容器部署lnmp

1、创建镜像文件 

1.1 、Dockerfile

1.2、nginx 

1.3、php

1.4、mysql

1.5、mysql初始化

1.6、启动脚本

2、生成容器并导为镜像

2.1、生成镜像

2.2、运行容器

docker run -itd  -p 80:80  lnmp:v1

2.3、拷贝discuz论坛

docker cp /root/lnmp/discuz/ 8b2e:/var/www/html/

2.4、进入容器

docker exec -it 8b2e sh

2.5、写测试文件 

2.6、更改属性

2.7、测试文件

2.8、导出镜像

2.9、节点导入镜像

3、yaml文件

3.1、编写yaml文件

3.2、命名空间

3.2.1、创建
kubectl create namespace lnmp

3.2.2、更改默认 
kubectl config set-context --current --namespace=lnmp 

3.3、创建pod

kubectl create -f lnmp.yaml 

3.4、网络访问

3.5、论坛部署

/discuz/upload/

3.6、查看探针

kubectl exec -it dep-lnmp-5c885975b9-6mk55 -- cat /var/log/nginx/discuz_access.log存活探针一直在检测 info.php文件

http://www.dtcms.com/a/333398.html

相关文章:

  • 用 Enigma Virtual Box 将 Qt 程序打包成单 exe
  • QT|windwos桌面端应用程序开发,当连接多个显示器的时候,如何获取屏幕编号?
  • 【C#补全计划】委托
  • 基于RobustVideoMatting(RVM)进行视频人像分割(torch、onnx版本)
  • 【opencv-Python学习笔记(5):几何变换】
  • 补充日志之-配置文件解析指南(Centos7)
  • 容器内部再运行Docker(DinD和DooD)
  • CUDA中的基本概念
  • Linux软件编程:进程线程(线程)
  • 结构体(Struct)、枚举(Enum)的使用
  • 基于SpringBoot的房产销售系统
  • 护栏卫士碰撞报警系统如何实时监测护栏的状态
  • 系统时钟配置
  • 38 C++ STL模板库7-迭代器
  • 用ICO图标拼成汉字
  • BFS和codetop复习
  • 复杂度扫尾+链表经典算法题
  • Klipper-probe模块
  • H5449G降压恒流无人机照明驱动芯片方案24V/36V/48V/72V降6V12V9V /8A替换NCL30160
  • 探索无人机图传技术:创新视野与无限可能
  • C#WPF实战出真汁06--【系统设置】--餐桌类型设置
  • Linux 系统中, LANG 和 LC_ALL变量有什么区别与联系?
  • 文档对比(java-diff-utils)
  • lidar2imu/auto_caliban以及manual_calib安装过程
  • 8.15网络编程——UDP和TCP并发服务器
  • qs是什么?
  • Python入门第3课:Python中的条件判断与循环语句
  • Ubuntu20.04下Remmina的VNC密码忘记后重置
  • 手机场景性能测试中的部分关键指标
  • Layui 语法详解与全功能示例