SEO技术

SEO技术

Products

当前位置:首页 > SEO技术 >

如何安装NGINX并配置WordPress以实现伪静态?

96SEO 2026-02-20 10:45 11


Kubeadmin

kubeadmin也是一个工具#xff0c;特工kubeadm

如何安装NGINX并配置WordPress以实现伪静态?

init

是一个工具可以在本地快速运行一个单节点微型K8S仅用于学习预习K8S的一些特性使用。

Kubeadmin

生产首选从官方下载发行版的二进制包手动部署每个组件的和自签TLS证书组成K8S集群。

一、环境准备

主机名ip地址所需组件master0120.0.0.55kube-apiserver、kubu-controller-manager、kube-scheduler、etcdmaster0220.0.0.58kube-apiserver、kubu-controller-manager、kube-schedulernode0120.0.0.56kubelet、kube-proxy、docker、flannel、etcdnode0220.0.0.57kubelet、kube-proxy、docker、flannel、etcdlb0120.0.0.59nginxkeepalivelb0220.0.0.60nginxkeepalive

VIP20.0.0.100

net.bridge.bridge-nf-call-ip6tables

net.bridge.bridge-nf-call-iptables

#关闭ipv6协议

net.ipv6.conf.all.disable_ipv61

net.ipv4.ip_forward1

etcd是一个分布式键值存储系统Kubernetes使用Etcd进行数据存储所以先准备一个Etcd进行数据存储为了解决Etcd单点故障应采用集群方式部署。

这里使用3台组组件集群可以容忍一台机器故障当然也可以使用5台组件集群可以容忍2台机器故障

节点名称ip地址etcd0120.0.0.55etcd0220.0.0.56etcd0320.0.0.57

K8s

cfssl是一个开源的证书管理工具使用json文件生成证书相比openssl更方便使用找任意一台服务器操作。

这边使用master01节点。

/usr/local/binwget

https://pkg.cfssl.org/R1.2/cfssl_linux-amd64

wget

https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64

wget

https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64

---------------------------------------------------------------

cfssl:

---------------------------------------------------------------chmod

#给予执行权限mv

EOF#######生成证书########################

cfssl

ca.pem和ca-key.pem文件使用自签CA签发Etcd

HTTPS证书

[20.0.0.55,20.0.0.56,20.0.0.57],key:

{algo:

//上述文件hosts字段中ip为所有etcd节点的集群内部通信ip一个都不能少为了方便后期扩容可以多些几个预留的IP。

##############生成证书####################

cfssl

因为咱们证书是在master01节点上操作的证书先以master为例演示然后将所有文件拷贝到node01和node02节点上操作。

创建工作目录并下载二进制包

https://github.com/etcd-io/etcd/releases/download/v3.4.9/etcd-v3.4.9-linux-amd64.tar.gzmkdir

#创建etcd集群的工作目录【bin里面存放的是可执行文件,cfg配置文件,ssl证书】tar

-zxvf

etcd-v3.4.9-linux-amd64/{etcd,etcdctl}

/opt/etcd/bin/

#将解压后的文件中两个执行文件剪切到前面创建集群下创建etcd配置文件

cat

ETCD_DATA_DIR/var/lib/etcd/default.etcd

ETCD_LISTEN_PEER_URLShttps://20.0.0.55:2380

ETCD_LISTEN_CLIENT_URLShttps://20.0.0.55:2379

#[Clustering]

ETCD_INITIAL_ADVERTISE_PEER_URLShttps://20.0.0.55:2380

ETCD_ADVERTISE_CLIENT_URLShttps://20.0.0.55:2379

ETCD_INITIAL_CLUSTERetcd-1https://20.0.0.55:2380,etcd-2https://20.0.0.56:2380,etcd-3https://20.0.0.57:2380

ETCD_INITIAL_CLUSTER_TOKENetcd-cluster

EOF-------------------------------------

ETCD_NAME

ETCD_INITIAL_ADVERTISE_PEER_URLS

//集群节点地址

//加入集群的当前状态new是新集群existing表示加入已有集群

systemd管理etcd

/usr/lib/systemd/system/etcd.service

EOF

EnvironmentFile/opt/etcd/cfg/etcd.conf

\--cert-file/opt/etcd/ssl/server.pem

\--key-file/opt/etcd/ssl/server-key.pem

\--peer-cert-file/opt/etcd/ssl/server.pem

\--peer-key-file/opt/etcd/ssl/server-key.pem

\--trusted-ca-file/opt/etcd/ssl/ca.pem

\--peer-trusted-ca-file/opt/etcd/ssl/ca.pem

\--loggerzap

将上面master01生成所有文件拷贝到node01和node02

拷贝到node01

/usr/lib/systemd/system/etcd.service

root20.0.0.56:/usr/lib/systemd/system/

#拷贝到node02

/usr/lib/systemd/system/etcd.service

root20.0.0.57:/usr/lib/systemd/system/

然后修改node01和node02上面etcd.conf配置文件中的节点名称和ip地址

下面仅演示模板

ETCD_DATA_DIR/var/lib/etcd/default.etcd

ETCD_LISTEN_PEER_URLShttps://20.0.0.56:2380

修改此处为当前服务器

ETCD_LISTEN_CLIENT_URLShttps://20.0.0.56:2379

修改此处为当前服务器

ETCD_INITIAL_ADVERTISE_PEER_URLShttps://20.0.0.56:2380

修改此处为当前服务器

ETCD_ADVERTISE_CLIENT_URLShttps://20.0.0.56:2379

修改此处为当前服务器IP

ETCD_INITIAL_CLUSTERetcd-1https://20.0.0.55:2380,etcd-2https://20.0.0.56:2380,etcd-3https://:20.0.0.56::2380

ETCD_INITIAL_CLUSTER_TOKENetcd-cluster

启动并设置开机启动3个节点都要

####注意启动的时候需要至少启动两个才会正常完成启动不然会卡出。

ETCDCTL_API3

--key/opt/etcd/ssl/server-key.pem

--endpointshttps://20.0.0.55:2379,https://20.0.0.56:2379,https://20.0.0.57:2379

endpoint

--key/opt/etcd/ssl/server-key.pem

--endpointshttps://20.0.0.55:2379,https://20.0.0.56:2379,https://20.0.0.57:2379

endpoint

--write-outtable####任意节点都可四、安装docker(所有node节点)

//所有

https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum

/opt/kubernetes/{bin,cfg,ssl,logs}

/opt/k8s/k8s-cert

/opt/k8s/k8s-cert/k8s-cert.sh#!/bin/bash

#配置证书生成策略让

kubernetes,kubernetes.default,kubernetes.default.svc,kubernetes.default.svc.cluster,kubernetes.default.svc.cluster.local],key:

{algo:

apiserver#-----------------------

#生成

kubernetes工作中#然后再上传kubernetes-server-linux-amd64.tar.gz压缩包tar

zxvf

kubernetes-server-linux-amd64.tar.gz

kube-apiserver

#将三个master的组件和一个kubectl命令拷贝到k8s的工作下ln

/usr/local/bin/

kubernetes工作中(此处需要使用绝对路径创建软连接不然软连接找不到源文件)

准备token令牌

启动时会调用然后就相当于在集群内创建了一个这个用户接下来就可以用

RBAC

${BOOTSTRAP_TOKEN},kubelet-bootstrap,10001,system:kubelet-bootstrap

EOFchmod

/opt/k8s/k8s-cert/apiserver.sh#!/bin/bash

#例子:

https://20.0.0.55:2379,https://20.0.0.56:2379,https://20.0.0.57:2379

#创建

/opt/kubernetes/cfg/kube-apiserver

EOF

KUBE_APISERVER_OPTS--logtostderrfalse

--v2

--bind-address${MASTER_ADDRESS}

--secure-port6443

--advertise-address${MASTER_ADDRESS}

--service-cluster-ip-range10.0.0.0/24

--enable-admission-pluginsNamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota,NodeRestriction

--enable-bootstrap-token-authtrue

--token-auth-file/opt/kubernetes/cfg/token.csv

--service-node-port-range30000-50000

--kubelet-client-certificate/opt/kubernetes/ssl/apiserver.pem

--kubelet-client-key/opt/kubernetes/ssl/apiserver-key.pem

--tls-cert-file/opt/kubernetes/ssl/apiserver.pem

--tls-private-key-file/opt/kubernetes/ssl/apiserver-key.pem

--client-ca-file/opt/kubernetes/ssl/ca.pem

--service-account-key-file/opt/kubernetes/ssl/ca-key.pem

--service-account-signing-key-file/opt/kubernetes/ssl/apiserver-key.pem

--etcd-cafile/opt/etcd/ssl/ca.pem

--etcd-certfile/opt/etcd/ssl/server.pem

--etcd-keyfile/opt/etcd/ssl/server-key.pem

--reques***ader-client-ca-file/opt/kubernetes/ssl/ca.pem

--proxy-client-cert-file/opt/kubernetes/ssl/apiserver.pem

--proxy-client-key-file/opt/kubernetes/ssl/apiserver-key.pem

--reques***ader-allowed-nameskubernetes

--reques***ader-extra-headers-prefixX-Remote-Extra-

--reques***ader-group-headersX-Remote-Group

--reques***ader-username-headersX-Remote-User

--enable-aggregator-routingtrue

--audit-log-maxage30

--audit-log-path/opt/kubernetes/logs/k8s-audit.log

EOF#--logtostderrtrue启用日志。

输出日志到标准错误控制台不输出到文件

#--etcd-serversetcd集群地址。

指定etcd服务器列表格式//ip:port逗号分隔

HTTPS

#--allow-privilegedtrue启用授权。

允许拥有系统特权的容器运行默认值false

#--service-cluster-ip-rangeService虚拟IP地址段。

指定

Service

#--enable-admission-plugins准入控制模块。

kuberneres集群的准入控制机制各控制模块以插件的形式依次生效集群时必须包含ServiceAccount运行在认证Au***ntication、授权Authorization之后Admission

对请求API资源对象进行修改和校验

#--authorization-mode认证授权启用RBAC授权和节点自管理。

在安全端口使用RBAC,Node授权模式未通过授权的请求拒绝默认值AlwaysAllow。

RBAC是用户通过角色与权限进行关联的模式Node模式节点授权是一种特殊用途的授权模式专门授权由kubelet发出的API请求在进行认证时先通过用户名、用户分组验证是否是集群中的Node节点只有是Node节点的请求才能使用Node模式授权

#--enable-bootstrap-token-auth启用TLS

bootstrap机制。

在apiserver上启用Bootstrap

Token

#--token-auth-file/opt/kubernetes/cfg/token.csv指定bootstrap

token认证文件路径

#–-kubelet-client-xxxapiserver访问kubelet客户端证书

https证书

#1.20版本必须加的参数–-service-account-issuer–-service-account-signing-key-file

#–-audit-log-xxx审计日志

#启动聚合层相关配置–reques***ader-client-ca-file–proxy-client-cert-file–proxy-client-key-file–reques***ader-allowed-names–reques***ader-extra-headers-prefix–reques***ader-group-headers–reques***ader-username-headers–enable-aggregator-routing#创建

服务管理文件

/usr/lib/systemd/system/kube-apiserver.service

EOF

Documentationhttps://github.com/kubernetes/kubernetes[Service]

EnvironmentFile-/opt/kubernetes/cfg/kube-apiserver

ExecStart/opt/kubernetes/bin/kube-apiserver

EOFsystemctl

https://20.0.0.55:2379,https://20.0.0.56:2379,https://20.0.0.57:2379

#执行创建的脚本注意有两个位置变量一个是确定本机的IP地址一个是etcd集群的IP和端口ps

aux

#安全端口6443用于接收HTTPS请求用于基于Token文件或客户端证书等认证

4、启动scheduler服务

/opt/k8s/k8s-cert/scheduler.sh#!/bin/bash

##创建

/opt/kubernetes/cfg/kube-scheduler

EOF

KUBE_SCHEDULER_OPTS--logtostderrfalse

--v2

--kubeconfig/opt/kubernetes/cfg/kube-scheduler.kubeconfig

EOF#-–kubeconfig连接

#--leader-electtrue当该组件启动多个时自动启动

leader

#k8s中Controller-Manager和Scheduler的选主逻辑k8s中的etcd是整个集群所有状态信息的存储涉及数据的读写和多个etcd之间数据的同步对数据的一致性要求严格所以使用较复杂的

raft

服务之间直接负载请求并不需要做选主。

Controller-Manager

Scheduler

获取对象最新的变化事件做期望状态和实际状态调整调度器watch未绑定节点的pod做节点选择显然多个这些任务同时工作是完全没有必要的所以

controller-manager

进入工作状态即可而无需考虑它们之间的数据一致和同步。

##生成kube-scheduler证书

/opt/k8s/k8s-cert/

KUBE_CONFIG/opt/kubernetes/cfg/kube-scheduler.kubeconfig

KUBE_APISERVERhttps://$MASTER_ADDRESS:6443kubectl

config

\--certificate-authority/opt/kubernetes/ssl/ca.pem

\--embed-certstrue

\--client-certificate./kube-scheduler.pem

\--client-key./kube-scheduler-key.pem

\--embed-certstrue

/usr/lib/systemd/system/kube-scheduler.service

EOF

Documentationhttps://github.com/kubernetes/kubernetes[Service]

EnvironmentFile-/opt/kubernetes/cfg/kube-scheduler

ExecStart/opt/kubernetes/bin/kube-scheduler

EOFsystemctl

/opt/k8s/k8s-cert/controller-manager.sh#!/bin/bash

##创建

/opt/kubernetes/cfg/kube-controller-manager

EOF

KUBE_CONTROLLER_MANAGER_OPTS--logtostderrfalse

--v2

--kubeconfig/opt/kubernetes/cfg/kube-controller-manager.kubeconfig

--service-cluster-ip-range10.0.0.0/24

--cluster-signing-cert-file/opt/kubernetes/ssl/ca.pem

--cluster-signing-key-file/opt/kubernetes/ssl/ca-key.pem

--root-ca-file/opt/kubernetes/ssl/ca.pem

--service-account-private-key-file/opt/kubernetes/ssl/ca-key.pem

--cluster-signing-duration87600h0m0s

EOF#––leader-elect当该组件启动多个时自动选举HA

#-–kubeconfig连接

#--cluster-cidr10.244.0.0/16pod资源的网段需与pod网络插件的值设置一致。

通常Flannel网络插件的默认为10.244.0.0/16Calico插件的默认值为192.168.0.0/16

#--cluster-signing-cert-file/–-cluster-signing-key-file自动为kubelet颁发证书的CA与apiserver保持一致。

指定签名的CA机构根证书用来签名为

TLS

#--experimental-cluster-signing-duration设置为

TLS

签署的证书有效时间为10年默认为1年##生成kube-controller-manager证书

/opt/k8s/k8s-cert/

kube-controller-manager-csr.json

EOF

system:kube-controller-manager,hosts:

[],key:

kube-controller-manager-csr.json

cfssljson

kube-controller-manager#生成kubeconfig文件

KUBE_CONFIG/opt/kubernetes/cfg/kube-controller-manager.kubeconfig

KUBE_APISERVERhttps://$1:6443kubectl

config

\--certificate-authority/opt/kubernetes/ssl/ca.pem

\--embed-certstrue

\--client-certificate./kube-controller-manager.pem

\--client-key./kube-controller-manager-key.pem

\--embed-certstrue

kube-controller-manager.service

服务管理文件

/usr/lib/systemd/system/kube-controller-manager.service

EOF

Documentationhttps://github.com/kubernetes/kubernetes[Service]

EnvironmentFile-/opt/kubernetes/cfg/kube-controller-manager

ExecStart/opt/kubernetes/bin/kube-controller-manager

EOFsystemctl

kube-controller-manager执行脚本、验证是否启动成功

/opt/k8s/k8s-cert

/opt/k8s/k8s-cert/admin.sh#!/bin/bash

mkdir

KUBE_APISERVERhttps://20.0.0.55:6443cd

config

\--certificate-authority/opt/kubernetes/ssl/ca.pem

\--embed-certstrue

\--client-certificate./admin.pem

\--embed-certstrue

机制自动完成到kube-apiserver的注册在node节点量较大或后期自动扩容时非常有用。

master

启用TLS认证后node节点kubelet组件想要加入集群必须使用CA签发的有效证书才能于apiserver通信当node节点很多时**签署证书是一件很繁琐的事情因此kubernetes引入了

TLS

机制来自动颁发客户端证书**kubelet会以一个低权限的用户自动向api

server申请证书kuubelet的证书由apiserver动态签署。

kuubelet首次启动通过加载bootstrap.kubeconfig

Token

这个Token被预先内置在apiserver节点的token.csv中其身份为

kubelet-bootstrap

ClusterRoleBinding将kubelet-bootstrap用户和system:node-bootstrapper内置

get

--experimental-cluster-signing-duration

8760h0m0s将其改为

/opt/kubernetes/{bin,cfg,ssl,logs}

/opt/k8s/k8s-cert/kubernetes/server/bin

#在master01中进入到前面解压的用压缩文件里面有node节点需要用到的两个组件一个kubelet、一个lube-proxy组件

scp

root20.0.0.56:/opt/kubernetes/bin/

scp

root20.0.0.57:/opt/kubernetes/bin/

#把kubelet、kube-proxy

/opt/k8s/k8s-cert/kubeconfig.sh#!/bin/bash

#example:

KUBE_APISERVERhttps://$APISERVER:6443#

设置集群参数

\--certificate-authority$SSL_DIR/ca.pem

\--embed-certstrue

\--kubeconfigbootstrap.kubeconfig

#--embed-certstrue表示将ca.pem证书写入到生成的bootstrap.kubeconfig文件中#

设置客户端认证参数kubelet

\--kubeconfigbootstrap.kubeconfig#

设置上下文参数

\--kubeconfigbootstrap.kubeconfig#

使用上下文参数生成

--kubeconfigbootstrap.kubeconfig#----------------------#创建kube-proxy.kubeconfig文件

设置集群参数

\--certificate-authority$SSL_DIR/ca.pem

\--embed-certstrue

\--kubeconfigkube-proxy.kubeconfig#

设置客户端认证参数kube-proxy

\--client-certificate$SSL_DIR/kube-proxy.pem

\--client-key$SSL_DIR/kube-proxy-key.pem

\--embed-certstrue

\--kubeconfigkube-proxy.kubeconfig#

设置上下文参数

\--kubeconfigkube-proxy.kubeconfig#

使用上下文参数生成

--kubeconfigkube-proxy.kubeconfig执行脚本文件

20.0.0.55

#执行脚本需要添加两个位置变量一个本机IP一个生成的文件所在的目录cd

bootstrap.kubeconfig

root20.0.0.56:/opt/kubernetes/cfg/scp

bootstrap.kubeconfig

root20.0.0.57:/opt/kubernetes/cfg/

#把配置文件

bootstrap.kubeconfig、kube-proxy.kubeconfig

拷贝到

--clusterrolesystem:node-bootstrapper

#RBAC授权使用户

#给kubectl绑定默认cluster-admin管理员集群角色授权集群操作权限

3、node01安装kubelet服务

/opt/k8s-cert/kubelet.sh#!/bin/bash

#例子:./kubelet.sh

--hostname-override${NODE_ADDRESS}

--network-plugincni

--kubeconfig/opt/kubernetes/cfg/kubelet.kubeconfig

--bootstrap-kubeconfig/opt/kubernetes/cfg/bootstrap.kubeconfig

--config/opt/kubernetes/cfg/kubelet.config

--pod-infra-container-imageregistry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0

EOF#--hostname-override指定kubelet节点在集群中显示的主机名或IP地址默认使用主机hostnamekube-proxy和kubelet的此项参数设置必须完全一致

#--kubeconfig指定kubelet.kubeconfig文件位置当前为空路径会自动生成用于如何连接到apiserver里面含有kubelet证书master授权完成后会在node节点上生成

kubelet.kubeconfig

#--config指定kubelet配置文件的路径启动kubelet时将从此文件加载其配置

#--cert-dir指定master颁发的kubelet证书生成目录

#--pod-infra-container-image指定Pod基础容器Pause容器的镜像。

Pod启动的时候都会启动一个这样的容器每个pod之间相互通信需要Pause的支持启动Pause需要Pause基础镜像#----------------------

#创建kubelet配置文件该文件实际上就是一个yml文件语法非常严格不能出现tab键冒号后面必须要有空格每行结尾也不能有空格

cat

/opt/kubernetes/cfg/kubelet.config

EOF

au***ntication:anonymous:enabled:

true

EOF#PS当命令行参数与此配置文件kubelet.config有相同的值时就会覆盖配置文件中的该值。

#----------------------

#创建

/usr/lib/systemd/system/kubelet.service

EOF

Requiresdocker.service[Service]

EnvironmentFile/opt/kubernetes/cfg/kubelet

ExecStart/opt/kubernetes/bin/kubelet

\$KUBELET_OPTS

#执行脚本需要带上本机node节点的IP此脚本主要时出啊关键kubelet的配置文件启动kubelet的时候也相当于给master01发送了CSR认证请求。

ps

aux|grep

【node-csr-duiobEzQ0R93HsULoS9NT9JaQylMmid_nBF3Ei3NtFE(这里面的根据实际的来)】

get

#查看节点由于网络插件还没有部署节点会没有准备就绪就会显示NotReady5、node01安装proxy服务

准备执行脚本

-r)/kernel/net/netfilter/ipvs|grep

^[^.]*);do

-------------------------------------------------------------------------------

vim

KUBE_PROXY_OPTS--logtostderrtrue

--v4

--hostname-override${NODE_ADDRESS}

--proxy-modeipvs

--kubeconfig/opt/kubernetes/cfg/kube-proxy.kubeconfig

参数值必须与

#--proxy-mode指定流量调度模式为ipvs模式可添加--ipvs-scheduler选项指定ipvs调度算法rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq

#--kubeconfig:

/usr/lib/systemd/system/kube-proxy.service

EOF

EnvironmentFile-/opt/kubernetes/cfg/kube-proxy

ExecStart/opt/kubernetes/bin/kube-proxy

\$KUBE_PROXY_OPTS

#指向脚本注意需要带入位置参数为本机的IP地址此脚本主要时配置proxy的配置文件并启动它ps

aux

cni-plugins-linux-amd64-v0.8.6.tgz

flannel.tar

//一个为cni的各种执行文件一个为docker镜像docker

load

cni-plugins-linux-amd64-v0.8.6.tgz

/opt/cni/bin

#将有压缩包解压到cni的工作目录在master01节点上操作

/opt/k8s/k8s-cert

------------------------------------------------------------

kubectl

#删除然后重新创建大部分原因是镜像问题需要重新下2、部署calico

在master01节点上操作

Running节点也会准备就绪--------------------------------------------------------------

kubectl

#删除然后重新创建大部分原因是镜像问题需要重新下3、node02节点部署

node01

#将node01上面的两个组件的安装脚本拷贝到node02上面进行安装组件scp

/opt/cni

#执行kubelet.sh脚本带入本机的IP地址进行安装kubelet组件这里也是相当于申请了CSR认证需要在master01上进行认证。

systemctl

status

【node-csr-BbqEh6LvhD4R6YdDUeEPthkb6T_CJDcpVsmdvnh81y0】

#通过请求(两台都要通过前面node01的已经通过)kubectl

get

-r)/kernel/net/netfilter/ipvs|grep

^[^.]*);do

##使用proxy.sh脚本启动proxy服务位置变量为本机IP地址。

systemctl

status

#查看kube-proxy组件服务是否启动在master节点操作

kubectl

#需要等里面的几个pod都启动起来变成running(显示init可以稍微等下或者PodInitializing如果显示pullimage失败可以安装上述办法重新创建)八、部署core

DNS

#运行一个容器镜像为busybos1.28.4并且直接运行(网不好就多等会)然后解析kubernetes成功即可九、master02

节点部署

#拷贝matser01上面的etcd证书到master02上面scp

/opt/kubernetes/

#拷贝master01上的整个kubernetes工作目录scp

/root/.kube

#拷贝运行master01上面的.kube运行文件kubect命令文件到master02上面scp

/usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service

root20.0.0.58:/usr/lib/systemd/system/

master01

节点上拷贝三大组件到master02上面master02节点查看

master02节点修改

/opt/kubernetes/cfg/kube-apiserverKUBE_APISERVER_OPTS--logtostderrtrue

--v4

--etcd-servershttps://20.0.0.55:2379,https://20.0.0.56:2379,https://20.0.0.57:2379

#修改

......###修改apiserver组件指向的IP地址修改监听地址为本即IP地址systemctl

start

kube-controller-manager.service

systemctl

kube-controller-manager.service

systemctl

#-owide输出额外信息对于Pod将输出Pod所在的Node名##此时在master02节点查到的node节点状态仅是从etcd查询到的信息而此时node节点实际上并未与master02节点建立通信连接因此需要使用一个VIP把node节点与master节点都关联起来至此以上的两主两从已安装完成下面将配置负载均衡通过nginx将负载均衡到两台master主机上。

十、负载均衡部署lb01、lb02

baseurlhttp://nginx.org/packages/centos/7/$basearch/

gpgcheck0

#配置nginx的官方在线源配置本地nginx的yum源yum

install

#下载nginx-----#修改nginx配置文件配置四层反向代理负载均衡指定k8s群集2台master的节点ip和6443端口-----

vim

$upstream_bytes_sent;access_log

main;upstream

---------------------------------------------------------------------

nginx

#启动nginx服务查看自己的监听6443端口2、部署keepalived服务

yum

/etc/keepalived/keepalived.conf

Configuration

{acassenfirewall.locfailoverfirewall.locsysadminfirewall.loc}#

Alexandre.Cassenfirewall.locsmtp_server

30router_id

/etc/nginx/check_nginx.shsystemctl

start

#启动keepalived服务一定要先启动了nginx服务再启动keepalived服务

//这里使用ip

修改node节点上的bootstrap.kubeconfig,kubelet.kubeconfig配置文件为VIP

/opt/kubernetes/cfg/

https://20.0.0.100:6443systemctl

restart

--------------------------------------

kubectl

---------------------------------kubectl

get

#在对应网段的node节点上操作可以直接使用浏览器或者curl命令访问

Dashboard

仪表板是基于Web的Kubernetes用户界面。

您可以使用仪表板将容器化应用程序部署到Kubernetes集群对容器化应用程序进行故障排除并管理集群本身及其伴随资源。

您可以使用仪表板来概述群集上运行的应用程序以及创建或修改单个Kubernetes资源例如deploymentjobdaemonset等。

例如您可以使用部署向导扩展部署启动滚动更新重新启动Pod或部署新应用程序。

仪表板还提供有关群集中Kubernetes资源状态以及可能发生的任何错误的信息。

上传文件并进行暴露端口

目录中------------------------------------------------------------

vim

#默认Dashboard只能集群内部访问修改Service为NodePort类型暴露到外部

kind:

------------------------------------------------------------------kubectl

apply

account并绑定默认cluster-admin管理员集群角色

kubectl

--serviceaccountkube-system:dashboard-admin

#kubectl

eyJhbGciOiJSUzI1NiIsImtpZCI6ImRyOUpLNnZNaUxfbHAySGpiV0xKdHlZaTJGU192V3VUX2RieXdqT1RRb2MifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tOWNodjciLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiZTE2ZWIwYzUtMDg2NC00MGIyLTg4MzAtZjAyODYxOTQxMTFiIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.HV7CM-5NFqzz99250Pou_qXrpDdzNbA7kUmYnl3gdcXHSLeUpAQXbrEH_JEkS5LTwp62Q_QCZlrYkO_wKXIzUpQI9_3Th3zZUec76SWlIVXf6rqEh2VZj45jdYXVqpZzwhI-FJ6NQ5H5sIxOQlyP1wKqwtb8XNB6Oj2uQsWEHuJFnKfm7wzF5n8-4WKQ0RVHWPcrCkScgY_POYv1utK55kVgrPk2dFH97eUDOuOv7ZaqiYJqupOluRpoVAqeks0z0i4BZNoZL_nxvuRlN-KBvuTkeWrr5Fb3WyI-BUZNurYFuIDhM6vNjSHuDyTQL2LQbkK2DRPepBFbniZWjMiu-w

最后网页进行登录



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback