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

你们交学费做网站寿宁县建设局网站

你们交学费做网站,寿宁县建设局网站,一站式营销推广平台,游戏网站怎么制作文章目录一、概述二、前期准备1#xff09;节点信息2#xff09;修改主机名和配置hosts3#xff09;配置ssh互信4#xff09;时间同步5#xff09;关闭防火墙6#xff09;关闭 swap7#xff09;禁用SELinux8#xff09;允许 iptables 检查桥接流量三、开始部署1#x… 文章目录一、概述二、前期准备1节点信息2修改主机名和配置hosts3配置ssh互信4时间同步5关闭防火墙6关闭 swap7禁用SELinux8允许 iptables 检查桥接流量三、开始部署1离线安装 docker1、下载2、解压的docker文件夹全部移动至/usr/bin目录3、配置 docker 启动文件4、启动 docker 服务5、配置镜像下载加速器和 cgroupdriver2离线安装 kubeadm, kubelet, kubectl1、下载2、配置 kubeadm 启动文件3、导入镜像4、启动 kubelet3集群初始化1、安装 keepalived 生成 VIP 实现高可用2、创建初始化配置文件3、k8s 集群初始化4、安装 cni 插件flannel4添加 master 节点5添加 node 节点6配置 IPVS1、加载ip_vs相关内核模块2、离线安装 ipvsadm 工具3、编辑kube-proxy配置文件mode修改成ipvs4、重启kube-proxy7安装 ingress-nginx8安装 nfs provisioner1、安装helm2、添加helm仓库源3、安装 nfs3、nfs provisioner9安装 Dashboard1、安装2、创建登录用户3、创建并获取登录token4、登录 web10安装镜像仓库 Harbor1、创建证书2、创建证书秘钥3、添加 Chart 库4、开始部署 harbor5、查看5、web 访问一、概述 Kubernetes是一种高度可扩展的容器编排平台可用于部署、管理和自动化容器化应用程序的运行。在某些情况下离线部署Kubernetes可能是必需的例如在没有互联网连接的安全环境中或在网络连接不可靠的情况下。以下是离线部署Kubernetes的一般步骤 获取Kubernetes二进制文件从Kubernetes官网下载Kubernetes二进制文件并解压缩到本地。 准备离线镜像在离线环境中必须将所需的容器镜像下载到本地并存储在本地仓库中。可以使用Docker镜像导出/导入命令或Docker Registry Mirror工具将镜像从在线环境中导出并导入到离线环境中。 配置Kubernetes节点在每个节点上安装必要的依赖项例如Docker引擎、kubelet、kubeadm等。可以使用Docker离线安装程序将Docker引擎安装到离线节点中。 初始化Kubernetes集群使用kubeadm init命令初始化集群并将必要的配置文件和证书复制到节点上。在离线环境中必须将kubelet和kubeadm所需的配置文件手动复制到每个节点上。 加入节点使用kubeadm join命令将新节点加入到集群中。在离线环境中必须手动复制kubelet和kubeadm配置文件并在每个节点上使用kubeadm join命令将节点加入集群。 部署应用程序使用kubectl命令在集群中部署应用程序并将所需的容器镜像从本地仓库中拉取。 在离线环境中部署Kubernetes需要一些额外的工作但是这是可能的并且是部署Kubernetes的重要方法之一。 k8s 在线部署可以参考我以下几篇文章 Kubernetesk8s安装以及搭建k8s-Dashboard详解 Kubernetesk8s最新版最完整版环境部署master高可用实现k8sV1.24.1dashboardharbor 【云原生】k8s 一键部署ansible 二、前期准备 1节点信息 节点信息 主机名IP角色操作系统k8s 版本local-168-182-110192.168.182.110master、keepalivedVIP192.168.182.211、nfs-servercentos71.23.6local-168-182-111192.168.182.111master、keepalived、nfs-clientcentos71.23.6local-168-182-112192.168.182.112master、nfs-clientcentos71.23.6local-168-182-113192.168.182.113node、nfs-clientcentos71.23.6 k8s 版本https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG 2修改主机名和配置hosts 修改主机名 # 在192.168.182.110执行 hostnamectl set-hostname local-168-182-110# 在192.168.182.111执行 hostnamectl set-hostname local-168-182-110# 在192.168.182.112执行 hostnamectl set-hostname local-168-182-110# 在192.168.182.113执行 hostnamectl set-hostname local-168-182-110配置hosts cat /etc/hostsEOF 192.168.182.110 local-168-182-110 192.168.182.111 local-168-182-111 192.168.182.112 local-168-182-112 192.168.182.113 local-168-182-113 # VIP cluster-endpoint 192.168.182.211 EOF3配置ssh互信 # 直接一直回车就行 ssh-keygenssh-copy-id -i ~/.ssh/id_rsa.pub rootlocal-168-182-110 ssh-copy-id -i ~/.ssh/id_rsa.pub rootlocal-168-182-111 ssh-copy-id -i ~/.ssh/id_rsa.pub rootlocal-168-182-112 ssh-copy-id -i ~/.ssh/id_rsa.pub rootlocal-168-182-1134时间同步 yum install chrony -y systemctl start chronyd systemctl enable chronyd chronyc sources5关闭防火墙 systemctl stop firewalld systemctl disable firewalld6关闭 swap # 临时关闭关闭swap主要是为了性能考虑 swapoff -a # 可以通过这个命令查看swap是否关闭了 free # 永久关闭 sed -ri s/.*swap.*/#/ /etc/fstab7禁用SELinux # 临时关闭 setenforce 0 # 永久禁用 sed -i s/^SELINUXenforcing$/SELINUXdisabled/ /etc/selinux/config8允许 iptables 检查桥接流量 若要显式加载此模块请运行 sudo modprobe br_netfilter通过运行 lsmod | grep br_netfilter 来验证 br_netfilter 模块是否已加载 sudo modprobe br_netfilter lsmod | grep br_netfilter为了让 Linux 节点的 iptables 能够正确查看桥接流量请确认 sysctl 配置中的 net.bridge.bridge-nf-call-iptables 设置为 1。 例如 cat EOF | sudo tee /etc/modules-load.d/k8s.conf overlay br_netfilter EOFsudo modprobe overlay sudo modprobe br_netfilter# 设置所需的 sysctl 参数参数在重新启动后保持不变 cat EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-iptables 1 net.bridge.bridge-nf-call-ip6tables 1 net.ipv4.ip_forward 1 EOF# 应用 sysctl 参数而不重新启动 sudo sysctl --system三、开始部署 下载地址https://download.docker.com/linux/static/stable/x86_64/ 镜像、安装包、kube-flannel.yml、deploy.yaml等资源可关注我的公众号【大数据与云原生技术分享】回复【k8s】即可获取。 1离线安装 docker 1、下载 # 下载 wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.20.tgz # 解压 tar -zxvf docker-20.10.20.tgz2、解压的docker文件夹全部移动至/usr/bin目录 cp -p docker/* /usr/bin3、配置 docker 启动文件 在/usr/lib/systemd/system/目录下创建docker.service文件 cat /usr/lib/systemd/system/docker.service EOF [Unit] DescriptionDocker Application Container Engine Documentationhttp://docs.docker.com Afternetwork.target docker.socket [Service] Typenotify EnvironmentFile-/run/flannel/docker WorkingDirectory/usr/local/bin ExecStart/usr/bin/dockerd \-H tcp://0.0.0.0:4243 \-H unix:///var/run/docker.sock \--selinux-enabledfalse \--log-opt max-size1g ExecReload/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILEinfinity LimitNPROCinfinity LimitCOREinfinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. #TasksMaxinfinity TimeoutStartSec0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegateyes # kill only the docker process, not all processes in the cgroup KillModeprocess Restarton-failure [Install] WantedBymulti-user.target EOF4、启动 docker 服务 systemctl daemon-reload# 设置为开机自启并现在立刻启动服务 --now立刻启动服务 systemctl enable --now docker# 查看容器状态 systemctl status docker5、配置镜像下载加速器和 cgroupdriver cat /etc/docker/daemon.jsonEOF {registry-mirrors: [http://hub-mirror.c.163.com],exec-opts: [native.cgroupdriversystemd] } EOFsystemctl restart docker2离线安装 kubeadm, kubelet, kubectl 1、下载 下载地址https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG wget https://dl.k8s.io/v1.23.6/kubernetes-server-linux-amd64.tar.gztar -xf kubernetes-server-linux-amd64.tar.gz ​ cd kubernetes/server/bin cp -ar kubelet kubeadm kubectl /usr/bin/2、配置 kubeadm 启动文件 cat /usr/lib/systemd/system/kubelet.service EOF [Unit] Descriptionkubelet: The Kubernetes Node Agent Documentationhttps://kubernetes.io/docs/ ​ [Service] ExecStart/usr/bin/kubelet Restartalways StartLimitInterval0 RestartSec10 ​ [Install] WantedBymulti-user.target EOF ​ #注意ExecStart内容换行 mkdir -p /usr/lib/systemd/system/kubelet.service.d/ cat /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf EOF [Service] EnvironmentKUBELET_KUBECONFIG_ARGS--bootstrap-kubeconfig/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig/etc/kubernetes/kubelet.conf EnvironmentKUBELET_CONFIG_ARGS--config/var/lib/kubelet/config.yaml EnvironmentFile-/var/lib/kubelet/kubeadm-flags.env EnvironmentFile-/etc/sysconfig/kubelet ExecStart ExecStart/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS EOF3、导入镜像 下载资源包解压进入images目录执行以下命令就可以导入镜像了 sh image_load.sh4、启动 kubelet # 设置为开机自启并现在立刻启动服务 --now立刻启动服务 systemctl enable --now kubelet3集群初始化 1、安装 keepalived 生成 VIP 实现高可用 【1】下载 下载地址https://www.keepalived.org/download.html wget https://www.keepalived.org/software/keepalived-2.2.7.tar.gz --no-check-certificatetar -zxvf keepalived-2.2.7.tar.gz# 安装openssl编译keepalived需要 yum -y install openssl openssl-devel# 编译 keepalived yum install gcc -ycd keepalived-2.2.7 ./configure --prefix/usr/local/keepalived --sysconf/etc make make install# 配置环境变量 cp /usr/local/keepalived/sbin/keepalived /usr/sbin/keepalived【2】master 配置 cat /etc/keepalived/keepalived.confEOF ! Configuration File for keepalived global_defs {#每个keepalived取个不同名称router_id 56 } vrrp_instance VI_1 {# MASTER为主实例,BACKUP 为从实例state MASTER# 网卡名称interface ens33# 主备这里要配置为同样的 virtual_router_id 68# 优先级,主要高于备. 一般主配置为100 备配置为80priority 100advert_int 1# 主动抢占,主备都开启的话,服务器抢占过去后,要等这个服务器keepalived停掉才会漂移到另一台nopreemptauthentication {# 主备必须配置成同样的auth_type PASS# 主备必须配置成同样的auth_pass 1111}virtual_ipaddress {# vip,主备必须配置一样192.168.182.211} } EOF【3】backend 配置 cat /etc/keepalived/keepalived.confEOF ! Configuration File for keepalived global_defs {#每个keepalived取个不同名称router_id 56 } vrrp_instance VI_1 {# MASTER为主实例,BACKUP 为从实例state BACKUP# 网卡名称interface ens33# 主备这里要配置为同样的 virtual_router_id 68# 优先级,主要高于备. 一般主配置为100 备配置为80priority 80advert_int 1# 主动抢占,主备都开启的话,服务器抢占过去后,要等这个服务器keepalived停掉才会漂移到另一台nopreemptauthentication {# 主备必须配置成同样的auth_type PASS# 主备必须配置成同样的auth_pass 1111}virtual_ipaddress {# vip,主备必须配置一样192.168.182.211} } EOF【4】配置服务启动 cat /usr/lib/systemd/system/keepalived.service EOF [Unit] DescriptionLVS and VRRP High Availability Monitor Afternetwork-online.target syslog.target Wantsnetwork-online.target Documentationman:keepalived(8) Documentationman:keepalived.conf(5) Documentationman:genhash(1) Documentationhttps://keepalived.org[Service] Typeforking PIDFile/run/keepalived.pid KillModeprocess EnvironmentFile-/usr/local/keepalived/sysconfig/keepalived ExecStart/usr/local/keepalived/sbin/keepalived $KEEPALIVED_OPTIONS ExecReload/bin/kill -HUP $MAINPID[Install] WantedBymulti-user.targetEOF【5】启动 keepalived systemctl daemon-reload systemctl enable --now keepalived2、创建初始化配置文件 注意这里使用VIP kubeadm config print init-defaults kubeadm-config.yaml3、k8s 集群初始化 这里追加tee命令将初始化日志输出到kubeadm-init.log中以备用可选。 kubeadm init --configkubeadm-config.yaml --experimental-upload-certs | tee kubeadm-init.log或者直接初始化 kubeadm init \--apiserver-advertise-address192.168.182.211 \--image-repository registry.aliyuncs.com/google_containers \--control-plane-endpointcluster-endpoint \--kubernetes-version v1.23.6 \--service-cidr10.1.0.0/16 \--pod-network-cidr10.244.0.0/16 \--v54、安装 cni 插件flannel # wget https://raw.githubusercontent.com/flannel-io/flannel/v0.20.2/Documentation/kube-flannel.yml kubeclt apply -f kube-flannel.yml4添加 master 节点 # 在需要添加的master节点上执行CERT_KEYssh cluster-endpoint kubeadm init phase upload-certs --upload-certs|tail -1join_strssh cluster-endpoint kubeadm token create --print-join-commandecho $join_str --control-plane --certificate-key $CERT_KEY --v5# 拿到上面打印的命令在需要添加的节点上执行# --control-plane 标志通知 kubeadm join 创建一个新的控制平面。加入master必须加这个标记 # --certificate-key ... 将导致从集群中的 kubeadm-certs Secret 下载控制平面证书并使用给定的密钥进行解密。这里的值就是上面这个命令kubeadm init phase upload-certs --upload-certs打印出的key。mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config# 去掉master污点 # kubectl taint nodes hostname node-role.kubernetes.io/master:NoSchedule- 2/dev/null # kubectl taint nodes hostname node.kubernetes.io/not-ready:NoSchedule- 2/dev/null5添加 node 节点 CERT_KEYssh cluster-endpoint kubeadm init phase upload-certs --upload-certs|tail -1join_strssh cluster-endpoint kubeadm token create --print-join-commandecho $join_str --certificate-key $CERT_KEY --v56配置 IPVS 1、加载ip_vs相关内核模块 modprobe -- ip_vs modprobe -- ip_vs_sh modprobe -- ip_vs_rr modprobe -- ip_vs_wrr # 验证开启了ipvs lsmod |grep ip_vs2、离线安装 ipvsadm 工具 在线安装就非常简单了 yum install ipvsadm -y下载地址http://www.linuxvirtualserver.org/software/ipvs.html wget https://kernel.org/pub/linux/utils/kernel/ipvsadm/ipvsadm-1.31.tar.gz --no-check-certificate tar -xzvf ipvsadm-1.31.tar.gz cd ipvsadm-1.31# 先安装依赖包 yum install -y libnl libnl-devel gcc # 编译安装 make make install# 查看版本号 ipvsadm -version3、编辑kube-proxy配置文件mode修改成ipvs kubectl edit configmap -n kube-system kube-proxy4、重启kube-proxy # 先查看 kubectl get pod -n kube-system | grep kube-proxy # 再delete让它自拉起 kubectl get pod -n kube-system | grep kube-proxy |awk {system(kubectl delete pod $1 -n kube-system)} # 再查看 kubectl get pod -n kube-system | grep kube-proxy7安装 ingress-nginx # wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.2.0/deploy/static/provider/cloud/deploy.yaml -O /tmp/deploy.yamlkubectl apply -f /tmp/deploy.yaml8安装 nfs provisioner 1、安装helm helm安装包在提供的资源包里也是有的可以不用再去外网下载的。 # 下载包 wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz -O /tmp/helm-v3.7.1-linux-amd64.tar.gz # 解压压缩包 tar -xf /tmp/helm-v3.7.1-linux-amd64.tar.gz -C /root/ # 制作软连接 ln -s /root/linux-amd64/helm /usr/local/bin/helm2、添加helm仓库源 # 添加helm仓库源 helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/3、安装 nfs 【服务端】 #### 安装nfs yum -y install nfs-utils rpcbind# 服务端 mkdir -p /opt/nfsdata # 授权共享目录 chmod 666 /opt/nfsdata cat /etc/exportsEOF /opt/nfsdata *(rw,no_root_squash,no_all_squash,sync) EOF # 配置生效 exportfs -rsystemctl enable --now rpcbind systemctl enable --now nfs-server【客户端】 yum -y install rpcbind systemctl enable --now rpcbind3、nfs provisioner ### helm安装nfs provisioner安装包在提供的资源里也有可以不用再去外网下载 helm install nfs-subdir-external-provisioner ./nfs-subdir-external-provisioner-4.0.17.tgz \--namespacenfs-provisioner \--create-namespace \--set image.repositorywilldockerhub/nfs-subdir-external-provisioner \--set image.tagv4.0.2 \--set replicaCount2 \--set storageClass.namenfs-client \--set storageClass.defaultClasstrue \--set nfs.servercluster-endpoint \--set nfs.path/opt/nfsdata# 查看 kubectl get pods,deploy,sc -n nfs-provisioner9安装 Dashboard 1、安装 GitHub地址https://github.com/kubernetes/dashboard kubectl apply -f dashboard.yaml # 查看 kubectl get pods,svc -n kubernetes-dashboard2、创建登录用户 cat ServiceAccount.yamlEOF apiVersion: v1 kind: ServiceAccount metadata:name: admin-usernamespace: kubernetes-dashboard --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata:name: admin-user roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin subjects: - kind: ServiceAccountname: admin-usernamespace: kubernetes-dashboard EOF kubectl apply -f ServiceAccount.yaml3、创建并获取登录token kubectl -n kubernetes-dashboard create token admin-user4、登录 web 登录地址https://ip:31443/如果提示如下建议换成火狐浏览器试试。如果有证书情况下是不会有种问题的。 火狐浏览器访问web 10安装镜像仓库 Harbor 1、创建证书 mkdir stl cd stl # 生成 CA 证书私钥 openssl genrsa -out ca.key 4096 # 生成 CA 证书 openssl req -x509 -new -nodes -sha512 -days 3650 \-subj /CCN/STGuangdong/LShenzhen/Oharbor/OUharbor/CNmyharbor.com \-key ca.key \-out ca.crt # 创建域名证书生成私钥 openssl genrsa -out myharbor.com.key 4096 # 生成证书签名请求 CSR openssl req -sha512 -new \-subj /CCN/STGuangdong/LShenzhen/Oharbor/OUharbor/CNmyharbor.com \-key myharbor.com.key \-out myharbor.com.csr # 生成 x509 v3 扩展 cat v3.ext -EOF authorityKeyIdentifierkeyid,issuer basicConstraintsCA:FALSE keyUsage digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment extendedKeyUsage serverAuth subjectAltName alt_names[alt_names] DNS.1myharbor.com DNS.2*.myharbor.com DNS.3hostname EOF #创建 Harbor 访问证书 openssl x509 -req -sha512 -days 3650 \-extfile v3.ext \-CA ca.crt -CAkey ca.key -CAcreateserial \-in myharbor.com.csr \-out myharbor.com.crt2、创建证书秘钥 kubectl create secret tls myharbor.com --key myharbor.com.key --cert myharbor.com.crt -n harbor kubectl get secret myharbor.com -n harbor3、添加 Chart 库 helm repo add harbor https://helm.goharbor.io4、开始部署 harbor # 下载安装包 helm pull harbor/harbor # harbor-1.11.1.tgz 安装包在提供的资源包里是有的可以不用再去外网下载的。 helm install myharbor ./harbor-1.11.1.tgz \--namespaceharbor --create-namespace \--set expose.ingress.hosts.coremyharbor.com \--set expose.ingress.hosts.notarynotary.myharbor.com \--set-string expose.ingress.annotations.nginx\.org/client-max-body-size1024m \--set expose.tls.secretNamemyharbor.com \--set persistence.persistentVolumeClaim.registry.storageClassnfs-client \--set persistence.persistentVolumeClaim.jobservice.storageClassnfs-client \--set persistence.persistentVolumeClaim.database.storageClassnfs-client \--set persistence.persistentVolumeClaim.redis.storageClassnfs-client \--set persistence.persistentVolumeClaim.trivy.storageClassnfs-client \--set persistence.persistentVolumeClaim.chartmuseum.storageClassnfs-client \--set persistence.enabledtrue \--set externalURLhttps://myharbor.com \--set harborAdminPasswordHarbor123455、查看 kubectl get pods,ingress -n harbor5、web 访问 配置hosts如果是真实的域名就可以不用配置hosts了 192.168.182.110 myharbor.com访问地址https://myharbor.com/ 账号/密码admin/Harbor12345注意这里的密码是上面安装时自定义的 【云原生】k8s 离线部署详解过程就到这里有不明白或者部署过程中有问题的小伙伴欢迎给我留言哦后续会持续更新相关技术文章的离线部署包资源关注我的公众号【大数据与云原生技术分享】回复【k8s】即可获取~
http://www.w-s-a.com/news/956128/

相关文章:

  • 广州微网站建设平台阿里云国外服务器
  • 如何把做好的网站代码变成网页wordpress shortcode土豆 视频
  • 网站改版竞品分析怎么做中山网站建设文化价格
  • 玉林市网站开发公司电话做网站空间 阿里云
  • 南充做网站略奥网络免费的正能量视频素材网站
  • 电子商务网站开发的基本原则汕头网站制作流程
  • 网站访问量突然增加合肥宣传片制作公司六维时空
  • 建设购物网站流程图怎么找网站
  • 阿里云部署多个网站制作小程序网站源码
  • 博罗东莞网站建设网站免费源代码
  • 网站规划与设计范文桂平网站建设
  • 网站备案号密码wordpress邮箱发送信息错误
  • 模板的网站都有哪些关键词搜索工具爱站网
  • 鲜花网站建设的利息分析企业网站建设方案书
  • 深圳网站平台石家庄做商城网站的公司
  • 微网站营销是什么私人订制网站有哪些
  • 浙江建设工程合同备案网站新手做网站教程
  • 网站优化关键词排名自己怎么做wordpress安装主题失败
  • 成都建设银行招聘网站网站的切换语言都是怎么做的
  • 网站网业设计wordpress 很差
  • 网站开发软件著作权归谁网站悬浮窗广告
  • 如何提升网站alexa排名货运网站源码
  • 如何看自己网站流量梧州网站设计理念
  • 商城网站建设特点有哪些信息门户
  • 弄一个网站临沂有哪几家做网站的
  • 广州个人网站制作公司网站建设公司价
  • 免费建设网站赚钱小程序开发文档pdf
  • ucenter 整合两个数据库网站网店推广技巧
  • 网站优化排名提升百度wap
  • 八里河风景区网站建设内容摘要网站开发基础学习