幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

K8S安装和创建集群终极教程(单master多worker)

  前言
  本文会以最简单、最直接、最完整的方式记录kubernetes(下面统称K8S)单master多工作节点(workernodes)的集群步骤基本概念
  首先要简单了解一下本文的3个核心概念:Kubelet:K8S工作节点上的重要组件,它的作用是管理Pod,引用官方的一句描述ThekubeletworksintermsofaPodSpec;Kubeadm:官方提供的快速创建集群工具;Kubectl:kubectl是K8S的命令行工具,可以管理集群。工作流程我们的工作流程分三大步安装Kubeadm创建集群安装dashboard第一步安装Kubeadm环境准备
  Linux主机,配置要求至少拥有2CPU和2GB的内存,本文使用的系统版本是CentOS7。6
  内存建议至少4G
  为了完成集群的测试,应准备2台或2台以上的主机,本文使用1台master和2台work
  集群中所有机器的网络连接都是完整的(公网或者内网都可以)
  每个节点拥有唯一主机名、MAC地址和productuuid
  问:如何查看主机名?
  答:执行命令hostname
  问:如何修改主机名?
  答:永久生效的做法:执行命令vietchostname,把第一行去掉(不能注释掉,要去掉),然后重新写上自定义的主机名(注意命名规范),保存并重启后生效;
  临时生效的做法:执行以下命令hostname你自定义的主机名
  问:如何查看MAC地址?
  答:执行命令iplink,然后看你的第一网卡
  问:如何查看productuuid?
  答:执行命令sudocatsysclassdmiidproductuuid
  根据你对不同组件的使用情况需要开放以下端口,并使用telnet测试端口是否打开(如果目的只是为了测试或者条件允许的情况下,直接关闭防火墙即可)master主机(又称为控制平面或者Controlplane)需要打开的端口
  Protocol
  方向
  PortRange
  Purpose
  UsedBy
  TCP
  入站
  6443hrKubernetesAPIserver
  All
  TCP
  入站
  23792380
  etcdserverclientAPI
  kubeapiserver,etcd
  TCP
  入站
  10250hrKubeletAPI
  Self,Controlplane
  TCP
  入站
  10259hrkubescheduler
  Self
  TCP
  入站
  10257hrkubecontrollermanager
  Self工作节点(又称为workerNode)需要打开的端口
  Protocol
  方向
  PortRange
  Purpose
  UsedBy
  TCP
  入站
  10250hrKubeletAPI
  Self,Controlplane
  TCP
  入站
  3000032767
  NodePortServices
  All
  注意:3000032767这个端口范围是我们创建服务的端口必须要设置的一个范围(如果设置范围以外的会有限制提示并创建失败),这是K8S规定的。
  另外,如果你要直接关闭防火墙可以执行systemctlstopfirewalld。servicesystemctldisablefirewalld。service
  必须禁用Swap〔roottestmachine01〕freetotalusedfreesharedbuffcacheavailableMem:186325275961692032257361011604818296Swap:209817202098172
  Swaptotal大于0,说明Swap分区是开启的
  问:如何关闭Swap?
  答:编辑文件etcfstab,在swap行前面加上号注释,保存并重启服务器〔roottestmachine01〕vietcfstabUUIDfa5df00e8eb84fd19376ccfc15e32848swapswapdefaults00
  再次查看分区状态,已生效〔roottestmachine01〕freetotalusedfreesharedbuffcacheavailableMem:1863252726388123116309681013748848484Swap:000
  安装容器引擎
  常见的容器引擎(Containerruntime,简称runtime):containerdCRIODocker
  本文使用的容器引擎是Docker
  安装命令sudoyuminstallyyumutilssudoyumconfigmanageraddrepohttps:download。docker。comlinuxcentosdockerce。reposudoyuminstallydockercedockerceclicontainerd。iosystemctlstartdockersystemctlenabledocker。service
  安装完成后查看版本:〔roottestmachine01〕dockervDockerversion20。10。11,builddea9396
  如果需要删除旧版本sudoyumremovedockerdockerclientdockerclientlatestdockercommondockerlatestdockerlatestlogrotatedockerlogrotatedockerengine
  如果需要卸载Docker引擎
  当出现可能跟Docker引擎相关的奇怪异常时可以尝试把Docker卸载干净并重新安装,但一定要注意镜像、容器、卷或配置文件这些是否需要备份。
  下面记录卸载Docker引擎的步骤:
  卸载DockerEngine、CLI和Containerd包:sudoyumremovedockercedockerceclicontainerd。io
  主机上的映像、容器、卷或自定义配置文件不会自动删除。删除所有镜像、容器和卷:sudormrfvarlibdockersudormrfvarlibcontainerd
  配置文件如果有不合法的字符时会导致启动失败,我们需要将其删除然后重建〔roottestmachine01〕rmrfetcdockerdaemon。json
  此时Docker引擎已卸载干净
  安装kubeadm,kubeletandkubectl
  安装yum源catEOFsudoteeetcyum。repos。dkubernetes。repo〔kubernetes〕nameKubernetesbaseurlhttps:mirrors。aliyun。comkubernetesyumreposkubernetesel7x8664enabled1gpgcheck1repogpgcheck1gpgkeyhttps:mirrors。aliyun。comkubernetesyumdocyumkey。gpghttps:mirrors。aliyun。comkubernetesyumdocrpmpackagekey。gpgexcludekubeletkubeadmkubectlEOF
  官网用的是谷歌的yum源,因为国内是连不上的,所以这里替换成阿里提供的yum源
  禁用SELinux〔roottestmachine01〕sudosetenforce0sudosedisSELINUXenforcingSELINUXpermissiveetcselinuxconfig
  安装和启动
  安装sudoyuminstallykubeletkubeadmkubectldisableexcludeskubernetes
  从安装信息中可以看到版本号是1。22
  Installing:
  kubeadmx86641。22。40kubernetes9。3M
  kubectlx86641。22。40kubernetes9。7M
  kubeletx86641。22。40kubernetes20M
  启动〔roottestmachine01〕sudosystemctlenablenowkubeletCreatedsymlinkfrometcsystemdsystemmultiuser。target。wantskubelet。servicetousrlibsystemdsystemkubelet。service。
  让iptables看到桥接流量catEOFsudoteeetcmodulesload。dk8s。confbrnetfilterEOFcatEOFsudoteeetcsysctl。dk8s。confnet。bridge。bridgenfcallip6tables1net。bridge。bridgenfcalliptables1EOFsudosysctlsystem
  配置cgroup驱动程序
  这就是一个驱动程序,注意cgroup和cgroupfs不要混淆了
  引用官方的一段话
  由于kubeadm把kubelet视为一个系统服务来管理,所以对基于kubeadm的安装,我们推荐使用systemd驱动,不推荐cgroupfs驱动。
  kubeadm默认是使用systemd驱动,而我们的Docker默认驱动是cgroupfs(dockerinfo可以查看),所以需要将Docker的驱动改成systemd
  编辑Docker配置文件〔roottestmachine01〕vietcdockerdaemon。json{execopts:〔native。cgroupdriversystemd〕}
  重启Docker服务〔roottestmachine01〕systemctldaemonreloadsystemctlrestartdocker
  再次dockerinfo查看驱动信息已变成了systemd
  工作节点(workernodes)的最小配置就到这里了
  第二步创建集群
  镜像源参数说明
  默认情况下,kubeadm会从k8s。gcr。io仓库拉取镜像,国内是拉不了的。官方文档明确表示允许你使用其他的imageRepository来代替k8s。gcr。io。
  imagerepository你的镜像仓库地址
  接下来我找了一些国内的镜像源,并简单做了下分析
  可访问站点
  搜索结果
  推荐程度
  华为云
  没有
  阿里云用户公开镜像,但一直在持续更新,新版本的都有
  https:cr。console。aliyun。comimagescnhangzhougooglecontainerskubecontrollermanagerdetail
  比较推荐
  dockerhub
  个人用户上传,版本很旧
  不推荐
  百度云
  没有
  腾讯云
  个人用户上传,版本很旧
  不推荐
  自建
  条件允许的情况下,自建是比较好的,但有一定的成本
  推荐
  综合上述统计,我选择阿里云的镜像源
  ip地址范围参数说明
  podnetworkcidr192。168。0。016
  注意:如果192。168。0。016已经在您的网络中使用,您必须选择一个不同的pod网络CIDR,在上面的命令中替换192。168。0。016。集群初始化
  集群初始化命令:kubeadminitimagerepository你的镜像仓库地址podnetworkcidr你的ip地址范围
  因为我用的是演示机器,所以这里把完整的执行信息都贴出来方便查阅,平时工作中一定要注意保护好敏感的信息(我的ip地址范围是自定义的便于下面的功能演示,另外初次init需要下载镜像文件,一般需要等几分钟)〔roottestmachine01〕kubeadminitimagerepositoryregistry。cnhangzhou。aliyuncs。comgooglecontainerspodnetworkcidr192。100。0。016〔init〕UsingKubernetesversion:v1。22。4〔preflight〕Runningpreflightchecks〔preflight〕PullingimagesrequiredforsettingupaKubernetescluster〔preflight〕Thismighttakeaminuteortwo,dependingonthespeedofyourinternetconnection〔preflight〕Youcanalsoperformthisactioninbeforehandusingkubeadmconfigimagespull〔certs〕UsingcertificateDirfolderetckubernetespki〔certs〕Generatingcacertificateandkey〔certs〕Generatingapiservercertificateandkey〔certs〕apiserverservingcertissignedforDNSnames〔kuberneteskubernetes。defaultkubernetes。default。svckubernetes。default。svc。cluster。localtestmachine01〕andIPs〔10。96。0。1192。168。189。128〕〔certs〕Generatingapiserverkubeletclientcertificateandkey〔certs〕Generatingfrontproxycacertificateandkey〔certs〕Generatingfrontproxyclientcertificateandkey〔certs〕Generatingetcdcacertificateandkey〔certs〕Generatingetcdservercertificateandkey〔certs〕etcdserverservingcertissignedforDNSnames〔localhosttestmachine01〕andIPs〔192。168。189。128127。0。0。1::1〕〔certs〕Generatingetcdpeercertificateandkey〔certs〕etcdpeerservingcertissignedforDNSnames〔localhosttestmachine01〕andIPs〔192。168。189。128127。0。0。1::1〕〔certs〕Generatingetcdhealthcheckclientcertificateandkey〔certs〕Generatingapiserveretcdclientcertificateandkey〔certs〕Generatingsakeyandpublickey〔kubeconfig〕Usingkubeconfigfolderetckubernetes〔kubeconfig〕Writingadmin。confkubeconfigfile〔kubeconfig〕Writingkubelet。confkubeconfigfile〔kubeconfig〕Writingcontrollermanager。confkubeconfigfile〔kubeconfig〕Writingscheduler。confkubeconfigfile〔kubeletstart〕Writingkubeletenvironmentfilewithflagstofilevarlibkubeletkubeadmflags。env〔kubeletstart〕Writingkubeletconfigurationtofilevarlibkubeletconfig。yaml〔kubeletstart〕Startingthekubelet〔controlplane〕Usingmanifestfolderetckubernetesmanifests〔controlplane〕CreatingstaticPodmanifestforkubeapiserver〔controlplane〕CreatingstaticPodmanifestforkubecontrollermanager〔controlplane〕CreatingstaticPodmanifestforkubescheduler〔etcd〕CreatingstaticPodmanifestforlocaletcdinetckubernetesmanifests〔waitcontrolplane〕WaitingforthekubelettobootupthecontrolplaneasstaticPodsfromdirectoryetckubernetesmanifests。Thiscantakeupto4m0s〔apiclient〕Allcontrolplanecomponentsarehealthyafter31。006106seconds〔uploadconfig〕StoringtheconfigurationusedinConfigMapkubeadmconfiginthekubesystemNamespace〔kubelet〕CreatingaConfigMapkubeletconfig1。22innamespacekubesystemwiththeconfigurationforthekubeletsinthecluster〔uploadcerts〕Skippingphase。Pleaseseeuploadcerts〔markcontrolplane〕Markingthenodetestmachine01ascontrolplanebyaddingthelabels:〔noderole。kubernetes。iomaster(deprecated)noderole。kubernetes。iocontrolplanenode。kubernetes。ioexcludefromexternalloadbalancers〕〔markcontrolplane〕Markingthenodetestmachine01ascontrolplanebyaddingthetaints〔noderole。kubernetes。iomaster:NoSchedule〕〔bootstraptoken〕Usingtoken:nhsbf0。r3wr6iyd3ico6sox〔bootstraptoken〕Configuringbootstraptokens,clusterinfoConfigMap,RBACRoles〔bootstraptoken〕configuredRBACrulestoallowNodeBootstraptokenstogetnodes〔bootstraptoken〕configuredRBACrulestoallowNodeBootstraptokenstopostCSRsinorderfornodestogetlongtermcertificatecredentials〔bootstraptoken〕configuredRBACrulestoallowthecsrapprovercontrollerautomaticallyapproveCSRsfromaNodeBootstrapToken〔bootstraptoken〕configuredRBACrulestoallowcertificaterotationforallnodeclientcertificatesinthecluster〔bootstraptoken〕CreatingtheclusterinfoConfigMapinthekubepublicnamespace〔kubeletfinalize〕Updatingetckuberneteskubelet。conftopointtoarotatablekubeletclientcertificateandkey〔addons〕Appliedessentialaddon:CoreDNS〔addons〕Appliedessentialaddon:kubeproxyYourKubernetescontrolplanehasinitializedsuccessfully!步骤1:用户配置Tostartusingyourcluster,youneedtorunthefollowingasaregularuser:mkdirpHOME。kubesudocpietckubernetesadmin。confHOME。kubeconfigsudochown(idu):(idg)HOME。kubeconfigAlternatively,ifyouaretherootuser,youcanrun:exportKUBECONFIGetckubernetesadmin。conf步骤2:网络配置Youshouldnowdeployapodnetworktothecluster。Runkubectlapplyf〔podnetwork〕。yamlwithoneoftheoptionslistedat:https:kubernetes。iodocsconceptsclusteradministrationaddons步骤3:工作节点加入集群Thenyoucanjoinanynumberofworkernodesbyrunningthefollowingoneachasroot:kubeadmjoin192。168。189。128:6443tokennhsbf0。r3wr6iyd3ico6soxdiscoverytokencacerthashsha256:0ab5863d0b42a36e8ef04f174106a9ccfb6927fba3c884052d5a2c9e0de76185
  如上所示,集群初始化成功,此时一定要注意看上面执行结果最后的那部分操作提示,我已用标明了初始化成功后还需要执行的3个步骤
  注意:如果init成功后发现参数需要调整,可以执行kubeadmreset,它的作用是尽最大努力恢复kubeadminit或者kubeadmjoin所做的更改。用户配置
  Tostartusingyourcluster,youneedtorunthefollowingasaregularuser:
  翻译:开始使用集群前,如果你是普通用户(非root),你需要执行以下的命令:mkdirpHOME。kubesudocpietckubernetesadmin。confHOME。kubeconfigsudochown(idu):(idg)HOME。kubeconfig
  Alternatively,ifyouaretherootuser,youcanrun:
  翻译:或者,如果你使用的是root,你可以执行以下命令:
  (注意:export只是临时生效,意味着每次登录你都需要执行一次)exportKUBECONFIGetckubernetesadmin。conf网络配置
  网络配置配的就是Pod的网络,我的网络插件选用calico
  下载KubernetesAPI数据存储的Calico网络清单〔roottestmachine01〕curlhttps:docs。projectcalico。orgmanifestscalico。yamlOTotalReceivedXferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftSpeed100212k100212k009625500:00:020:00:02::96292
  修改CIDR
  cidr就是ip地址范围,如果您使用podCIDR192。168。0。016,请跳到下一步。
  但本文中使用的podCIDR是192。100。0。016,所以我需要取消对清单中的CALICOIPV4POOLCIDR变量的注释,并将其设置为与我选择的podCIDR相同的值。(注意一定要注意好格式,注意对齐)
  根据需要自定义清单
  可根据需求自定义清单,一般不需要的就直接跳过这步
  应用清单〔roottestmachine01〕kubectlapplyfcalico。yaml
  为了使Nodes之间的Pod可以相互访问,内核必须开启ip转发(内核将处理桥接容器的数据包)
  内核参数配置〔roottestmachine01〕vietcsysctl。confnet。ipv4。ipforward1net。bridge。bridgenfcallip6tables1net。bridge。bridgenfcalliptables1
  使新的内核参数生效sysctlp工作节点加入集群
  在所有的工作节点上执行join命令(复制之前初始化成功后返回的加入集群命令到所有的工作节点执行即可)〔roottestmachine03〕kubeadmjoin192。168。189。128:6443tokennhsbf0。r3wr6iyd3ico6soxdiscoverytokencacerthashsha256:0ab5863d0b42a36e8ef04f174106a9ccfb6927fba3c884052d5a2c9e0de76185〔preflight〕Runningpreflightchecks〔preflight〕Readingconfigurationfromthecluster。。。〔preflight〕FYI:Youcanlookatthisconfigfilewithkubectlnkubesystemgetcmkubeadmconfigoyaml〔kubeletstart〕Writingkubeletconfigurationtofilevarlibkubeletconfig。yaml〔kubeletstart〕Writingkubeletenvironmentfilewithflagstofilevarlibkubeletkubeadmflags。env〔kubeletstart〕Startingthekubelet〔kubeletstart〕WaitingforthekubelettoperformtheTLSBootstrap。。。Thisnodehasjoinedthecluster:Certificatesigningrequestwassenttoapiserverandaresponsewasreceived。TheKubeletwasinformedofthenewsecureconnectiondetails。Runkubectlgetnodesonthecontrolplanetoseethisnodejointhecluster。
  master上查看所有节点的状态〔roottestmachine01〕kubectlgetnodesowideNAMESTATUSROLESAGEVERSIONINTERNALIPEXTERNALIPOSIMAGEKERNELVERSIONCONTAINERRUNTIMEtestmachine01Readycontrolplane,master6h7mv1。22。4192。168。189。128noneCentOSLinux7(Core)3。10。0957。el7。x8664docker:20。10。11testmachine02Readynone59mv1。22。4192。168。189。130noneCentOSLinux7(Core)3。10。0957。el7。x8664docker:20。10。11testmachine03Readynone17mv1。22。4192。168。189。131noneCentOSLinux7(Core)3。10。0957。el7。x8664docker:20。10。11
  到这里集群已经创建完成
  最后一步安装dashboard
  最后我再安装K8S的可视化界面kubernetesdashboard,方便我们日常使用
  下载yaml文件wgethttps:raw。githubusercontent。comkubernetesdashboardv2。4。0aiodeployrecommended。yamlnocheckcertificate
  修改yaml文件,新增type和nodePort,使服务能够被外部访问〔roottestmachine01〕virecommended。yamlkind:ServiceapiVersion:v1metadata:labels:k8sapp:kubernetesdashboardname:kubernetesdashboardnamespace:kubernetesdashboardspec:type:NodePortports:port:443targetPort:8443nodePort:31437selector:k8sapp:kubernetesdashboard
  安装并查看运行情况〔roottestmachine01〕kubectlapplyfrecommended。yaml〔roottestmachine01〕watchkubectlgetpodsnkubernetesdashboard
  新建用户〔roottestmachine01〕vidashboardadminuser。yamlapiVersion:v1kind:ServiceAccountmetadata:name:adminusernamespace:kubernetesdashboardapiVersion:rbac。authorization。k8s。iov1kind:ClusterRoleBindingmetadata:name:adminuserroleRef:apiGroup:rbac。authorization。k8s。iokind:ClusterRolename:clusteradminsubjects:kind:ServiceAccountname:adminusernamespace:kubernetesdashboard
  文件创建完成后保存并applykubectlapplyfdashboardadminuser。yaml
  获取Token,用于界面登录kubectlnkubernetesdashboardgetsecret(kubectlnkubernetesdashboardgetsaadminuserojsonpath{。secrets〔0〕。name})ogotemplate{{。data。tokenbase64decode}}
  登录dashboard
  192。168。189。128是我的master服务器ip,另外要注意必须使用https,并且不能使用ie内核模式
  复制生成的token到输入框,点击登录
  dashboard安装配置完成
  QA
  问:如何在查看资源情况?
  答:在master上执行以下命令可查看资源情况(owide是显示更详细的信息),
  查看所有节点kubectlgetnodesowide
  查看所有命名空间kubectlgetnamespacesowide
  查看命名空间下的podkubectlgetpodsn你的命名空间owide
  查看所有命名空间的podkubectlgetpodsallnamespacesowide
  实时查看查看命名空间下的pod运行情况watchkubectlgetpodsn你的命名空间
  问:kubeadmjoin出现异常〔ERRORPort10250〕:Port10250isinuse,如何解决?
  答:这是因为你之前join失败过了,需要先执行kubeadmreset再重新join
  问:虚拟机上测试时网卡突然消失如何解决(题外问题记录)?
  答:
  确认丢失的网卡信息,ens开头(可选步骤)
  ifconfiga
  执行以下命令解决systemctlstopNetworkManagersystemctldisableNetworkManagersystemctlrestartnetwork。serviceservicenetworkrestart
  问:如何查看K8S版本?
  答:kubectlversion
  问:join命令忘记或者过期了怎么办?
  答:
  生成永不过期的kubeadmtokencreatettl0printjoincommand
  生成时效24小时的kubeadmtokencreateprintjoincommand
  问:Pod不断重启并且无其它报错信息时怎么办?
  答:这种情况通常是因为你的集群中只有master,没有worker节点,master的创建默认是有污点的,即不允许调度新的Pod,如果你需要(当然这并不推荐),就需要删除master上的污点。删除污点可以执行以下命令,kubectltaintnodesallnoderole。kubernetes。iomaster
  它应该返回以下内容。nodeyourhostnameuntainted

两头挨骂!胡锡进易烊千玺放弃事业编制再进国剧院被批和稀泥下面这张截图,是网络大V、环球时报原总编辑胡锡进的一篇文章。在这篇文章里面,胡锡进给出了一个建议:由于易烊千玺等几位明星考取中国国家话剧院事业编制的事情愈演愈烈,建议易烊……使其迷失迷失待业两年后。。。失败太正常了,甚至都不需要去做就能预测到,自降身价变得理所当然。我养成了一个非常不好的习惯,那就是见人就躲,专挑无人的地带行动。这样就不会碰上任何人,……拼不过巴黎,就欺负曼城?西媒皇马挖角瓜帅,酝酿1。8亿欧豪购银河战舰皇家马德里作为欧洲足坛的顶级豪门,一直都将最出色的球员带到伯纳乌视为自己的使命,随着梅罗绝代双骄时代落幕,伯纳乌高层也在寻找球队未来的领军人物,之前法国前锋姆巴佩一直都……当前银保渠道面临的机遇与挑战保观聚焦保险创新虽然公布半年报不久,太平洋寿险很多地方机构的银保渠道负责人,恐怕已经开始盘算,如何分配部门的年终奖了。上半年,太保寿险来自于银保渠道的保险业务收入,同比大……吹卷发技巧(三)1问:为什么在吹大花时,梳子卷上后,不易取下来?答:从发尾向上卷时手的平衡度不稳,造成一边高一边低,张力不均匀,头发会交错在一起;另一种原因是向上卷的时候张力较紧,速度感……不喜欢串门,也不喜欢别人来自己家的,往往是这三种人现实生活中为了维持人际关系,经常请人来家里做客,或是去对方家里串门。因为只有一来一回,礼来我往,感情才会越来越密,增进感情。但是生活中有些人,不喜欢请客或串门。他们并非薄情或冷……活下去,有寓意刚过处暑,任正非一阵吹风,市场仿佛一夜成冬。尽管股市那一片绿油油并非任掌门刷的油漆,但还是有人义愤填膺了:华为大块儿头都要活下去,那我们是死到临头了!作为一个……10月换手机优选这5款,性能强颜值高,价格还很良心,再用4年10月换手机优选这5款,性能强颜值高,价格还很良心,再用5年第一款:一加AcePro优势:价格低,配置均衡电池容量为4800mAh,配备150W充电器,能够2……拼多多购买笔记本收到用了半年的二手电脑维权记录2022年9月16日,在拼多多购买了一台华为MateBookD14SE2022款笔记本电脑,花费3488元。9月18日收到货!激活系统后通过电脑自带的软件华为电脑管家查看到,电……手机内存不足清理众所周知,手机和电脑一样,使用久了,就避免不了积累越来越多的垃圾。这些碎片化的数据文件,会占用存储空间,甚至拖慢系统运行效率。因此,偶尔清理下手机垃圾,还是很有必要的,这无关乎……1个中药经典验方,益肾健脾,活血清利,治糖尿病肾病引起的肾衰组成:生黄芪,制大黄,党参,制苍术,紫苏梗,虎杖,积雪草,鬼箭羽,穿山龙,白花蛇舌草,石韦,土茯苓,六月雪,陈葫芦,玉米须,杜仲,菟丝子。鬼箭羽【功效】益肾健脾,活……曝光颜值非常优秀三星S23,三星S22加速沦为弃机,福利满满曝光98。2屏占比18G运存版本的三星S23概念机比华为P50Pocket所使用的副屏尺寸更大,视觉效果更佳,如主流的智能手表一样,曝光98。2屏占比18G运存版本的三星S23……
用生命的长度践行中医健康给我身边的人带来健康5个错的养生方法有你吗?多喝水多运动,你以为是在养生,但其实可能是在养病。现在越来越多的人开始注重养生,但是5个流传最为广的养生之道都是错。越养病越多,看看你和家人是不是……火遍全国的他,来武汉了!樱花盛开的最美季节新疆牧民大叔阿布都加帕尔猛德跨越4600多公里来武汉了!此前他帮助武汉游客脱困拒绝金钱报酬亮出党员徽章的举动曾火遍全网……dido智能健康手表火了,到底哪款好?看看我使用过的两款疫情终于结束了,可生活的各种压力、各种状态。。。都要比从前更严峻。虽然生活环境比老一辈好了很多,但同样需要面对着不同的生活压力。我要生活、我要还贷、我的孩子还小。。。。。心情不……四问张继科事件中国乒协相关人士证实其已退役大皖新闻讯连日来,知名乒乓球运动员张继科深陷舆论风波。巨额赌债女星私密视频敲诈勒索对于被爆出的上述争议话题,张继科及其团队否认,并发出律师声明称将提起诉讼。尽管事情尚未有定论,……CBA季后赛,广州20横扫山东,将战浙江,大王伤缺,江苏11CBA联赛12进8G2今晚再战两场,陈盈骏2645,崔永熙1715,吉伦沃特64,广州龙狮89:80战胜山东高速,完成了2:0的横扫,14决赛将对阵浙江队。王哲林伤缺,布……河北蔚县壶流河畔鸟翩跹近日,蔚县壶流河畔碧波荡漾,群鸟翩跹,经观察,有大天鹅、灰头麦鸡、黑觀、苍鹭、凤头鸊鷉、黑翅长脚鹬、银鸥、绿头鸭、白骨顶鸡等。它们时而轻舞飞扬,时而戏水觅食绘就一幅人与自然和谐……肉丝炝锅面的家常做法,鲜香美味,三碗不够吃食材:面条、肉丝、西红柿、青菜做法:1切好的肉丝加生抽,老抽,胡椒粉,少量淀粉水抓匀腌制十分钟2热锅凉油,放入肉丝划散,炒至变色,然后放葱、姜、蒜,干辣椒炒出……创绿色工厂助绿色发展来源:人民网人民日报冀东水泥璧山公司厂区鸟瞰。冀东水泥璧山有限责任公司供图核心阅读绿色工厂是实现了用地集约化、原料无害化、生产洁净化、废物资源化、能源低碳化的……宝宝NT异常长沙百佳玛丽亚关怀备至长沙女子终获健康宝宝长沙百佳玛丽亚妇产医院王莉萍教授喜获锦旗。红网时刻新闻4月3日讯(通讯员黄颖)2023年3月27日,长沙百佳玛丽亚妇产医院收到了宝妈姚女士赠送的锦旗,锦旗上写着身着白衣身……来自俄罗斯圣彼得堡市的时尚男模特提木尔瓦加波夫最近,来自俄罗斯圣彼得堡市的时尚男模特TimurVagapov(提木尔瓦加波夫)穿了一件印有SEXWITHYOUSUCKS的衣服上街。我觉得他很好看,我想要亲口听他说SE……马斯克同题推文浏览量低于拜登,连夜要求员工改算法优先推荐自己推特首席执行官伊隆马斯克近日要求工程师采取措施,让他的推文优先显示在关注者的页面上。根据科技媒体Platformer对知情人士的采访和获得的文件,在马斯克关于超级碗的推文……感受春日魅力!一起来迪士尼体验这些全新活动春暖花开,上海迪士尼度假区处处皆是春日好风景。和春天一同到来的还有上海迪士尼度假区丰富的主题庆典和活动。除了传统的迪士尼朋友互动体验,还有更多经典迪士尼体验也即将陆续回归。一系……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网