k8s单master部署

一、部署

1、初始化

1.1、主机准备

1.2、防火墙与上下文

复制代码
iptables -t nat -F
iptables -t filter -F
systemctl disable --now firewalld

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 

1.3、免密登录

复制代码
ssh-keygen

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

1.4、hosts文件

复制代码
vim /etc/hosts

192.168.11.10    k8s-master
192.168.11.11    k8s-node1
192.168.11.12    k8s-node2

scp /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/gpg

scp /etc/yum.repos.d/docker-ce.repo 192.168.11.11:/etc/yum.repos.d/docker-ce.repo

scp /etc/yum.repos.d/docker-ce.repo 192.168.11.12:/etc/yum.repos.d/docker-ce.repo

2.2、安装并启动

复制代码
yum install -y docker-ce

systemctl 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.9


scp /usr/lib/systemd/system/cri-docker.service 192.168.11.11:/usr/lib/systemd/system/cri-docker.service

scp /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
EOF

scp /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 = 1

modprobe br_netfilter
sysctl net.bridge.bridge-nf-call-ip6tables=1
sysctl net.bridge.bridge-nf-call-iptables=1

sysctl -p

scp /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、创建集群文件

Go 复制代码
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)

Go 复制代码
kubectl create -f tigera-operator.yaml

kubectl create -f custom-resources.yaml

5.4、结果

6、命名

Go 复制代码
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文件

相关推荐
广州服务器托管8 小时前
NVIDIA最新591.74显卡驱动精简版:支持DLSS 4.5、所有RTX显卡都可使用,最新N卡驱动下载
计算机网络·网络安全·云原生·个人开发·可信计算技术
运维栈记10 小时前
虚拟化网络的根基-网络命名空间
网络·docker·容器
lbb 小魔仙11 小时前
【Linux】云原生运维效率提升:Linux 终端工具链(kubectl + tmux + fzf)组合拳教程
linux·运维·云原生
Joren的学习记录11 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
Hellc00711 小时前
Docker网络冲突排查与解决方案:完整指南
网络·docker·容器
hanyi_qwe12 小时前
发布策略 【K8S (三)】
docker·容器·kubernetes
眠りたいです12 小时前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器
Mr. Cao code13 小时前
Docker数据管理:持久化存储最佳实践
java·docker·容器
Cyber4K15 小时前
【Kubernetes专项】DockerFile、数据持计划、网络模式及资源配额
运维·网络·云原生·容器·kubernetes
Joren的学习记录15 小时前
【Linux运维疑难杂症】k8s集群创建calico网络失败
linux·运维·kubernetes