一、部署
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文件