首页 > 其他分享 >实战项目-基于K8s平台进行wordpress建站

实战项目-基于K8s平台进行wordpress建站

时间:2024-05-16 17:41:38浏览次数:28  
标签:K8s sudo apt etc wordpress 建站 docker k8s com

(240516更新)

基本信息

系统:Debian 12.05
k8s版本:1.30
环境:虚拟机

序号 IP地址 域名 主机名
1 192.168.100.12 k8s-master.$yourname.com k8s-master
2 192.168.100.15 k8s-node1.yourname.com k8s-node1
3 192.168.100.16 k8s-node2.yourname.com k8s-node2
4 192.168.100.21 k8s-register.yourname.com k8s-register

基本设置

VMware虚拟网络编辑器

image
image

ssh设置

sudo apt-get update && apt-get upgrade
sudo apt-get install vim

/etc/ssh/sshd_config

...
PermitRootLogin yes
PubkeyAuthentication no
...

master连通其他node

 for i in master node1 node2 register; do ssh-copy-id root@k8s-$i; done

镜像修改国内源

阿里云Debian系统镜像

sed -i 's|deb.debian.org|mirrors.aliyun.com|g' /etc/apt/sources.list

静态IP设置

/etc/network/interfaces
其他主机修改IP即可

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto ens33
iface ens33 inet static
address 192.168.100.12
netmask 255.255.255.0
gateway 192.168.100.254
search localdomain
nameserver 8.8.8.8
nameserver 114.114.114.114
/etc/init.d/networking restart

主机名和域名

/etc/hostname

k8s-master

/etc/hosts

127.0.0.1       localhost
127.0.1.1       k8s01

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

192.168.100.12 k8s-master.$yourname.com k8s-master
192.168.100.15 k8s-node1.$yourname.com k8s-node1
192.168.100.16 k8s-node2.$yourname.com k8s-node2
192.168.100.21 k8s-register.$yourname.com k8s-register

用scp将hosts文件传输到node

for i in node1 node2 register; do scp /etc/hosts root@k8s-$i:/etc/hosts; done

关闭swap

# 关闭当前已启用的swap分区
swapoff -a

#禁用swap设备
sed -i 's/.*swap.*/#&/' /etc/fstab

#内核禁用swap参数
cat >> /etc/sysctl.d/k8s.conf << EOF
vm.swappiness=0
EOF

内核优化

#配置iptables参数,允许流量通过防火墙
cat << EOF | sudo tee /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
EOF
#下载overlay和br_netfilter
sudo modprobe overlay
sudo modprobe br_netfilter

lsmod | grep overlay
lsmod | grrp br_netfilter
#加载k8s.conf
sysctl -p /etc/sysctl.d/k8s.conf

kubeadm安装

安装 kubeadm | Kubernetes文档

更新 apt 包索引并安装使用 Kubernetes apt 仓库所需要的包

sudo apt-get update
# apt-transport-https 可能是一个虚拟包(dummy package);如果是的话,你可以跳过安装这个包
sudo apt-get install -y apt-transport-https ca-certificates curl gpg

下载用于 Kubernetes 软件包仓库的公共签名密钥(阿里云国内源)

# 如果 `/etc/apt/keyrings` 目录不存在,则应在 curl 命令之前创建它,请阅读下面的注释。
# sudo mkdir -p -m 755 /etc/apt/keyrings

curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/Release.key |     gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

添加 Kubernetes apt 仓库(阿里云国内源)

echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/ /" | tee /etc/apt/sources.list.d/kubernetes.list

更新 apt 包索引,安装 kubelet、kubeadm 和 kubectl,并锁定其版本

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

Docker Engine安装

Debian系统安装Docker Engine | Docker文档

删除旧版本Docker

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

添加密钥和存储库

# 添加Docker的官方GPG密钥:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# 将存储库添加到Apt源:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装Docker组件

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

#检验时候安装成功
sudo docker run hello-world

容器环境修改

cat >> /etc/docker/daemon.json << EOF
{
 "registry-mirrors":[
   "https://registry.docker-cn.com",
   "http://hub-mirror.c.163.com",
   "https://docker.mirrors.ustc.edu.cn"
 ],
 "insecure-registries":["k8s-register.mugetsu.com"]
 "exec-opts":["native.cgroupdriver=systemd"]
}
EOF

标签:K8s,sudo,apt,etc,wordpress,建站,docker,k8s,com
From: https://www.cnblogs.com/mugetsukun/p/18137906

相关文章

  • buffer/cach太高导致k8s无法新建pod分配内存
    1.使用hcache查看buff/cache占用情况执行下面的命令安装hcache,原hcache项目地址https://github.com/silenceshell/hcachewgethttps://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/hcachechmod+xhcachemvhcache/usr/local/bin/查看缓存排名前十的进程hc......
  • k8s中查看pod的yaml文件的案例
    在Kubernetes(K8s)中,Pod的YAML文件定义了Pod的配置和规格。当你想要查看Pod的YAML文件参数参考时,通常是为了了解可以配置哪些字段以及这些字段的含义。以下是一些方法来查看PodYAML文件的参数参考:官方文档:Kubernetes官方文档提供了关于所有资源的详细API参......
  • k8s 调优 参数优化
    这些参数是Kubernetes(K8s)中的一些配置选项,用于控制不同的行为和功能。让我逐个解释它们:--feature-gates=RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true:这个参数用于启用或禁用一些实验性的功能。在这里,启用了两个功能:RotateKubeletClientCertif......
  • 搭建k8s集群完整版本
    搭建k8s集群完整版基础设置设置主机ipnmcliconaddifnameens33con-nameens33autoconnectyestypeethernetnmcliconmodifyens33ipv4.methodmanualipv4.dns114.114.114.114ipv4.addresses192.168.109.102/24ipv4.gateway192.168.109.2修改主机名hostname......
  • k8s-Service资源
    Service资源的作用: 因为k8s是使用RC来管理保证它的高可用,RC是管理k8spod的.如果一个pod挂掉了,就会马上自动启动一个可用的pod,那么新的pod的IP肯定就是新的。如果是采用端口映射的话,就会出现刚配置好的pod端口和ip在pod挂了后新的pod被启动了新pod又是一个新的ip,难道又马上......
  • 解决k8s调度不均
    在近期的工作中,我们发现k8s集群中有些节点资源使用率很高,有些节点资源使用率很低,尝试重新部署应用和驱逐Pod,发现并不能有效解决负载不均衡问题。调度不均衡的问题可能有多个原因导致,下面是一些可能的原因:节点资源分配不均:某些节点可能被分配了更多的资源(如CPU、内存)而导致......
  • K8S之yaml 文件详解pod、deployment、service(转)
    原文:https://blog.csdn.net/footless_bird/article/details/125946101作者:墨鸦_Cormorant来源:CSDN K8S中的yaml文件yaml语法学习 Kubernetes支持YAML和JSON格式管理资源对象 JSON格式:主要用于api接口之间消息的传递 YAML格式:用于配置和管理,YAML是一种简......
  • k8s nodeName与nodeSelector的简单应用(转)
    原文:https://blog.csdn.net/xhredeem/article/details/127687465作者:xhredeem来源:CSDN默认情况下,k8smaster管理节点有污点标签,默认是NoSchedule,即不会被调度。新创建的pod会随机选择除了master管理节点的以外的node工作节点上创建。如果想要使某个新建pod在某个node节点创建......
  • k8s 维护有状态服务难的问题,他解决了
        介绍:它是基于Kubernetes的云原生数据基础设施,为用户提供了关系型数据库、NoSQL数据库、向量数据库以及流计算系统的管理控制功能。可以使用提供的命令轻松部署处理数据库实例。github:https://github.com/apecloud/kubeblocks官网:https://kubeblocks.io......
  • k8s——configmap-secret-nginx实验
    简介configmapsecret一、实验环境二、实验描述三、实验1:步骤1.使用configmap投射到nginx.conf配置文件到pod里1.1需要准备nginx.conf配置文件1.2将nginx.conf内容存放到configmap里(通过文件的方式,,这样简单一点)1.3启动ngnix的pod,使用configmap里的nginx.conf配置文件2.......