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

哪些网站做的比较好常用的网站建设技术

哪些网站做的比较好,常用的网站建设技术,中心网站建设,dw制作网页版面教程视频一、资源准备 mac下虚拟机环境搭建 1、使用搜狐的iso源 http://mirrors.sohu.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso 下载 iso镜像。 2、https://www.macwk.com/soft/vmware 下载 mac vm虚拟机 3、搭建一主两从集群所需虚拟机 4、新建虚拟机… 一、资源准备 mac下虚拟机环境搭建 1、使用搜狐的iso源 http://mirrors.sohu.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso 下载 iso镜像。 2、https://www.macwk.com/soft/vmware 下载 mac vm虚拟机 3、搭建一主两从集群所需虚拟机 4、新建虚拟机 5、创建自定虚拟机先把配置修改好 6、选择安装的linux系统 7、传统BIOS 引导 8、新建虚拟磁盘 9、完成 此时创建了一个虚拟机空壳环境 10、调整配置 需要先把虚拟机关机 12、选择iso镜像文件 然后启动虚拟机完成安装。 安装过程中自己选择一些定制化配置比如以太网配置静态ip要求可以ping通百度 二、集群环境搭建前准备 下述所有操作完成后重启系统即可。 集群中的服务器都需要进行下述配置 1、查看linux系统版本信息 [rootmaster ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 2、配置主机名解析,企业内部使用 dns 服务器, 实际IP修改为自己机器的IP即可 [rootmaster ~]# vim /etc/hosts 192.168.171.2 master 192.168.171.3 node1 192.168.171.4 node2 3、k8s 要求集群中的节点时间必须精确一致可以直接使用 chronyd 服务从网络同步时间 企业中建议配置内部的时间同步服务器     yum -y install chrony 启动 chronyd 服务 [rootmaster ~]# systemctl start chronyd 设置为开机启动 [rootmaster ~]# systemctl enable chronyd 三台服务都配置好之后 使用 date 验证时间 [rootmaster ~]# date[rootk8s-master ~]# systemctl start chronyd systemctl enable chronyd date --- 上述用不了使用 ntp yum -y install ntp date ntpdate time.nist.gov crontab -e */10 * * * * ntpdate time.nist.gov #域名或IP 4、禁用 iptables 和 firewalld 服务 关闭防火墙 k8s 和 docker 运行中会产生大量的 iptabls 规则。 [rootmaster ~]# systemctl stop firewalld [rootmaster ~]# systemctl disable firewalld [rootmaster ~]# systemctl stop iptables [rootmaster ~]# systemctl disable iptables[rootk8s-master ~]# systemctl stop firewalld systemctl disable firewalld systemctl stop iptables systemctl disable iptables 5、禁用 selinux selinux 是 linux 系统下的一个安全服务如果不关闭它在安装集群中会有各种各样的问题 [rootmaster ~]# vim /etc/selinux/config 设置 selinux 值为 disabled SELINUXdisabled 修改完成后需要重启linux 6、禁用 swap 分区 swap 分区指的是虚拟内存分区它的作用是在物理内存使用完之后将磁盘空间虚拟成内存来使用 启用swap设备会对系统的性能产生非常负面的影响因此 kubernetes 要求每个节点都要禁用swap设备 但是如果因为某些原因确实不能关闭swap分区就需要在集群安装过程中通过明确的参数进行配置说明 [rootmaster ~]# vim /etc/fstab 重启 linux 7、修改 linux 内核参数 [rootmaster ~]# vim /etc/sysctl.d/kubernetes.conf# 添加下面参数 net.bridge.bridge-nf-call-ip6tables1 net.bridge.bridge-nf-call-iptables1 net.ipv4.ip_forward1# 重新加载 [rootmaster ~]# sysctl -p# 加载网桥过滤模块 [rootmaster ~]# modprobe br_netfilteryum install bridge-utils -y echo br_netfilter /etc/modules-load.d/br_netfilter.conf modprobe br_netfilter 需要重启生效!!!# 查看网桥过滤模块是否加载成功 [rootmaster ~]# lsmod | grep br_netfilter[rootk8s-master ~]# sysctl -p modprobe br_netfilter lsmod | grep br_netfilter 8、配置 ipvs 功能 在 kubernetes 中 service 有两种代理模型一种是基于 iptables 的一种是基于 ipvs 的 两者比较ipvs 性能明显高一些但是需要使用它需要手动载入 ipvs 模块 # 安装 ipset 和 ipvsadmin [rootmaster ~]# yum install ipset ipvsadmin -y # 添加需要加载的模块写入到脚本文件 [rootmaster ~]# cat EOF /etc/sysconfig/modules/ipvs.modules #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack_ipv4 EOF# 为脚本文件添加执行权限 [rootmaster ~]# chmod x /etc/sysconfig/modules/ipvs.modules# 执行脚本文件 [rootmaster ~]# /bin/bash /etc/sysconfig/modules/ipvs.modules# 查看对应模块是否加载成功 [rootmaster ~]# lsmod | grep -e ip_vs -e nf_conntrack_ipv4 9、上述操作完成后重启linux系统 三、集群组件安装 1、安装 docker # 切换镜像源 [rootmaster ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo# 查看可安装的包 [rootmaster ~]# yum list docker-ce —showduplicates# 安装指定版本的docker —setoptobsoletes0 需要指定否则 yum 会自动安装更高版本 [rootmaster ~]# yum -y install --setoptobsoletes docker-ce-18.06.3.ce-3.el7# 添加一个配置文件 # docker 默认情况下使用的 Cgroup Driver 为 cgroupfs而 kubernetes 推荐使用 systemd 来代替 cgroupfs [rootmaster ~]# mkdir /etc/docker [rootmaster ~]# cat EOF /etc/docker/daemon.json {exec-opts:[native.cgroupdriversystemd],registry-mirrors:[https://kn0t2bca.mirror.aliyuncs.com] } EOFsystemctl daemon-reload# 启动docker [rootmaster ~]# systemctl restart docker [rootmaster ~]# systemctl enable docker# 验证docker版本 [rootmaster ~]# docker version2、安装 kubernetes 组件 # 切换国内镜像源 [rootmaster ~]# vim /etc/yum.repos.d/kubernetes.repo # 阿里云k8s源 [kubernetes] nameKubernetes baseurlhttps://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled1 gpgcheck1 repo_gpgcheck1 gpgkeyhttps://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg# 查看可安装版本 [rootmaster ~]# # 安装 kubeadm kubelet kubect1 [rootmaster ~]# yum install --setoptobsoletes0 kubeadm-1.17.4-0 kubelet-1.17.4-0 kubectl-1.17.4-0 -y# 配置 k8s 的 cgroup [rootmaster ~]# vim /etc/sysconfig/kubelet KUBELET_EXTRA_ARGS--cgroup-driversystemd KUBE_PROXY_MODE“ipvs# 设置 kubelet 开机启动 [rootmaster ~]# systemctl enable kubelet 四、集群安装 1、准备 kubernetes 集群镜像 # 查看需要的镜像信息 [rootmaster ~]# kubeadm config images list # 由于 kubernetes 镜像国外源加载慢所以可以替换镜像的方式。进行快速安装 # 定义 images [rootmaster ~]# images( kube-apiserver:v1.17.4 kube-controller-manager:v1.17.4 kube-scheduler:v1.17.4 kube-proxy:v1.17.4 pause:3.1 etcd:3.4.3-0 coredns:1.6.5 ) # 使用docker拉取镜像 [rootmaster ~]# for imageName in ${images[]} ; dodocker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageNamedocker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageNamedocker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName done# 查看镜像信息验证 tag 是否已经与 k8s 组件名称版本映射 [rootnode1 ~]# docker images 2、创建集群 这个初始化只需要在 master 节点执行 [rootmaster ~]# kubeadm init --kubernetes-versionv1.17.4 --pod-network-cidr10.244.0.0/16 --service-cidr10.96.0.0/12 --apiserver-advertise-address192.168.171.2你的IP 3、Your Kubernetes control-plane has initialized successfully! 代表集群master初始化好了 按照说明往下执行命令 Your Kubernetes control-plane has initialized successfully!To start using your cluster, you need to run the following as a regular user:mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/configYou should now deploy a pod network to the cluster. Run kubectl apply -f [podnetwork].yaml with one of the options listed at:https://kubernetes.io/docs/concepts/cluster-administration/addons/Then you can join any number of worker nodes by running the following on each as root:kubeadm join 192.168.171.2:6443 --token 2vlxfg.jemb8gja7dvohduc \--discovery-token-ca-cert-hash sha256:c29472cfaa5f84c7178395806480e2fa8225767d720890977481ad11f86839f5 [rootmaster ~]# mkdir -p $HOME/.kube [rootmaster ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config [rootmaster ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config# 查看集群节点信息 [rootmaster ~]# kubectl get nodes # 将 nodes 节点加入到 k8s 集群中 kubeadm join 192.168.171.2:6443 --token 2vlxfg.jemb8gja7dvohduc \--discovery-token-ca-cert-hash sha256:c29472cfaa5f84c7178395806480e2fa8225767d720890977481ad11f86839f5 如果想在 node 节点执行 kubectl get nodes /etc/kubernetes/admin.conf 拷贝到节点对应的目录下。 然后配置 echo export KUBECONFIG/etc/kubernetes/admin.conf ~/.bash_profile source ~/.bash_profile 五、集群安装网络插件 kubernetes 支持多种网络插件比如 flannel calico canal 等任选一种本次选择 flannel  下述操作还是在 master 节点执行即可, 插件使用 DaemonSet 的控制器会在每个节点上都运行 # 哎 一言难尽或者使用 vim [rootmaster ~]# wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml or [rootmaster ~]# vim kube-flannel.yml --- apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata:name: psp.flannel.unprivilegedannotations:seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/defaultseccomp.security.alpha.kubernetes.io/defaultProfileName: docker/defaultapparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/defaultapparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default spec:privileged: falsevolumes:- configMap- secret- emptyDir- hostPathallowedHostPaths:- pathPrefix: /etc/cni/net.d- pathPrefix: /etc/kube-flannel- pathPrefix: /run/flannelreadOnlyRootFilesystem: false# Users and groupsrunAsUser:rule: RunAsAnysupplementalGroups:rule: RunAsAnyfsGroup:rule: RunAsAny# Privilege EscalationallowPrivilegeEscalation: falsedefaultAllowPrivilegeEscalation: false# CapabilitiesallowedCapabilities: [NET_ADMIN, NET_RAW]defaultAddCapabilities: []requiredDropCapabilities: []# Host namespaceshostPID: falsehostIPC: falsehostNetwork: truehostPorts:- min: 0max: 65535# SELinuxseLinux:# SELinux is unused in CaaSPrule: RunAsAny --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata:name: flannel rules: - apiGroups: [extensions]resources: [podsecuritypolicies]verbs: [use]resourceNames: [psp.flannel.unprivileged] - apiGroups:- resources:- podsverbs:- get - apiGroups:- resources:- nodesverbs:- list- watch - apiGroups:- resources:- nodes/statusverbs:- patch --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata:name: flannel roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: flannel subjects: - kind: ServiceAccountname: flannelnamespace: kube-system --- apiVersion: v1 kind: ServiceAccount metadata:name: flannelnamespace: kube-system --- kind: ConfigMap apiVersion: v1 metadata:name: kube-flannel-cfgnamespace: kube-systemlabels:tier: nodeapp: flannel data:cni-conf.json: |{name: cbr0,cniVersion: 0.3.1,plugins: [{type: flannel,delegate: {hairpinMode: true,isDefaultGateway: true}},{type: portmap,capabilities: {portMappings: true}}]}net-conf.json: |{Network: 10.244.0.0/16,Backend: {Type: vxlan}} --- apiVersion: apps/v1 kind: DaemonSet metadata:name: kube-flannel-dsnamespace: kube-systemlabels:tier: nodeapp: flannel spec:selector:matchLabels:app: flanneltemplate:metadata:labels:tier: nodeapp: flannelspec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/osoperator: Invalues:- linuxhostNetwork: truepriorityClassName: system-node-criticaltolerations:- operator: Existseffect: NoScheduleserviceAccountName: flannelinitContainers:- name: install-cniimage: quay.io/coreos/flannel:v0.14.0command:- cpargs:- -f- /etc/kube-flannel/cni-conf.json- /etc/cni/net.d/10-flannel.conflistvolumeMounts:- name: cnimountPath: /etc/cni/net.d- name: flannel-cfgmountPath: /etc/kube-flannel/containers:- name: kube-flannelimage: quay.io/coreos/flannel:v0.14.0command:- /opt/bin/flanneldargs:- --ip-masq- --kube-subnet-mgrresources:requests:cpu: 100mmemory: 50Milimits:cpu: 100mmemory: 50MisecurityContext:privileged: falsecapabilities:add: [NET_ADMIN, NET_RAW]env:- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: POD_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespacevolumeMounts:- name: runmountPath: /run/flannel- name: flannel-cfgmountPath: /etc/kube-flannel/volumes:- name: runhostPath:path: /run/flannel- name: cnihostPath:path: /etc/cni/net.d- name: flannel-cfgconfigMap:name: kube-flannel-cfg# 使用配置文件启动 flannel [rootmaster ~]# kubectl apply -f kube-flannel.yml 集群网络失败问题处理 kubectl get nodes # 查看是哪个 pod 没启动起来 kubectl get pod -n kube-system # 查看失败原因 kubectl describe pod [镜像名称] -n kube-system # 手动拉取镜像 docker pull quay.io/coreos/flannel:v0.10.0-amd64 # 修改 tag 与 k8s 对应 docker tag quay.io/coreos/flannel:v0.10.0-amd64 quay.io/coreos/flannel:v0.14.0过一会查看 节点状态 都为 Ready 了 六、服务部署 在 master 节点操作即可 部署 nginx [rootmaster ~]# kubectl create deployment nginx --imagenginx:1.14-alpine 暴露端口 # --typeNodePort 集群之外的应用访问 端口为 80 [rootmaster ~]# kubectl expose deployment nginx --port80 --typeNodePort 查看 pod service 状态 [rootmaster ~]# kubectl get pod [rootmaster ~]# kubectl get service 使用 集群主节点的ip 端口进行 nginx 访问 192.168.171.2:30324 这是我部署的端口映射 七、资源管理 yaml 2 json 网站https://www.json2yaml.com/convert-yaml-to-json 1、命令式对象管理 2、命令式对象配置 3、声明式对象配置
http://www.hkea.cn/news/14419872/

相关文章:

  • 唐山seo网站建设可以做cps合作的棋牌网站
  • 用dw怎麼做网站四川做网站的
  • 建设一个类似淘宝的网站宁波seo 外包代运营
  • 炫酷网站界面设计网站域名需要购买吗
  • 有那些可以自己做壁纸的网站深圳微信公众号
  • 万能搜索引擎网站浙江省建设厅干部学校门户网站
  • 京东网站建设项目需求分析报告宿迁手机网站建设公司
  • 企业做网站的坏处做桂林网站的图片
  • 两学一做网站 新闻软件开发活动的顺序应该是
  • 网站运营暂停什么是网络营销的概率
  • 学校安全教育网站建设国内设计大神网站
  • 2015做导航网站好百度提交入口网址是什么
  • 网站建站 优化辽宁建设工程招标网
  • 淄博网站建设 华夏国际四种基本营销模式
  • 网页设计制作一个餐饮网站做企业网站的字体大小要求
  • 网站建设 案例网站页面效果图怎么做
  • 锦江区建设和交通局网站绵阳城乡住房建设厅网站
  • 个人建站模板网站图片特效源码
  • 基于wordpress的英文小游戏站外贸网站开发
  • 怎样用ps做网站首页图片如何搭建一个论坛网站
  • 高端网络建站jpress 和wordpress
  • 网站字号网络服务器租赁费一般多少钱
  • 建设银行网站注册用户名不通过“网站制作”
  • 新浪网站是什么程序做的网站服务器租用一般费用
  • 怎样做才能让网站帮忙送东西wordpress 系统环境
  • 丹东网站建设公司wordpress文章伪静态
  • 长沙房地产信息网官网seo如何优化排名
  • 499可以做网站外贸网站设计公司
  • 一个网站可以做多少个小程序centos 安装 wordpress
  • 电子商务网站的开发原则包括那些网站能够做推广