首页 文章 精选 留言 我的

精选列表

搜索[快速],共10000篇文章
优秀的个人博客,低调大师

使用kubeadm快速部署K8S V1.18

1、基础环境,至少1个Master和1个Worker;2、基本配置 1) 服务器开启硬件虚拟化支持; 2) 操作系统版本大于CentOS7.5,Minimal模式,可update到最新版本; 3) 关闭SElinux和Firewalld服务; #sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux #setenforce 0 #systemctl disable firewalld #systemctl stop firewalld 4) 设置hostname并在/etc/hosts配置本地解析; #hostnamectl set-hostname master1.lab.com 5) 关闭Swap服务 #swapoff -a #sed -i '/swap/d' /etc/fstab 6) 修改sysctl.conf #echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf #echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.conf #echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf #sysctl -p 若提示cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: No such file or directory #modprobe net_brfilter #sysctl -p 3、所有节点安装Docker服务 1) 如果已安装过旧版本需要删除: #yum -y remove docker-client docker-client-latest docker-common docker-latest docker-logrotate docker-latest-logrotate \ docker-selinux docker-engine-selinux docker-engine 2) 设置阿里云docker仓库,并安装Docker服务; #yum -y install yum-utils lvm2 device-mapper-persistent-data nfs-utils xfsprogs wget #yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #yum -y install docker-ce docker-ce-cli containerd.io #systemctl enable docker #systemctl start docker 4、所有节点安装K8S服务 1) 如果已安装过旧版本,需要删除: #yum -y remove kubelet kubadm kubctl 2) 设置阿里云的仓库,并安装新版本 #cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF #yum -y install kubelet kubeadm kubectl Node节点不需要按照kubectl 3) 修改Docker Cgroup Driver为systemd,如果不修改则在后续添加Worker节点时可能会遇到“detected cgroupfs as ths Docker driver.xx”的报错信息,并配置Docker本地镜像库; cat > /etc/docker/daemon.json <<EOF { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "registry-mirrors":[ "https://kfwkfulq.mirror.aliyuncs.com", "https://2lqq34jg.mirror.aliyuncs.com", "https://pee6w651.mirror.aliyuncs.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com" ] } 4) 重启Docker,并启动Kubelet #systemctl daemon-reload #systemctl restart docker #systemctl enable kubelet #systemctl start kubelet 5、Master节点部署 1) 如果需要初始化Master节点,请执行#kubeadm reset; 2) 配置环境变量: #echo export MASTER_IP=10.33.0.51 > k8s.env.sh #echo export APISERVER_NAME=master1.lab.com >> k8s.env.sh #sh k8s.env.sh 3) Master节点初始化: #kubeadm init \ --apiserver-advertise-address 0.0.0.0 \ --apiserver-bind-port 6443 \ --cert-dir /etc/kubernetes/pki \ --control-plane-endpoint master1.lab.com \ --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \ --kubernetes-version 1.18.2 \ --pod-network-cidr 10.11.0.0/16 \ --service-cidr 10.20.0.0/16 \ --service-dns-domain cluster.local \ --upload-certs # 初始化 Control-plane/Master 节点,命名参数说明 kubeadm init \ --apiserver-advertise-address 0.0.0.0 \ # API 服务器所公布的其正在监听的 IP 地址,指定“0.0.0.0”以使用默认网络接口的地址 # 切记只可以是内网IP,不能是外网IP,如果有多网卡,可以使用此选项指定某个网卡 --apiserver-bind-port 6443 \ # API 服务器绑定的端口,默认 6443 --cert-dir /etc/kubernetes/pki \ # 保存和存储证书的路径,默认值:"/etc/kubernetes/pki" --control-plane-endpoint kuber4s.api \ # 为控制平面指定一个稳定的 IP 地址或 DNS 名称, # 这里指定的 kuber4s.api 已经在 /etc/hosts 配置解析为本机IP --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \ # 选择用于拉取Control-plane的镜像的容器仓库,默认值:"k8s.gcr.io" # 因 Google被墙,这里选择国内仓库 --kubernetes-version 1.17.3 \ # 为Control-plane选择一个特定的 Kubernetes 版本, 默认值:"stable-1" --node-name master01 \ # 指定节点的名称,不指定的话为主机hostname,默认可以不指定 --pod-network-cidr 10.10.0.0/16 \ # 指定pod的IP地址范围 --service-cidr 10.20.0.0/16 \ # 指定Service的VIP地址范围 --service-dns-domain cluster.local \ # 为Service另外指定域名,默认"cluster.local" --upload-certs # 将 Control-plane 证书上传到 kubeadm-certs Secret 4) 配置kubectl: #rm -f .kube && mkdir .kube #cp -i /etc/kubernets/admin.conf .kube/config #chown $(id -u):$(id -g) $HOME/.kube/config //可用于为普通用户分配kubectl权限 6、安装Calico网络插件: 集群必须安装网络插件以实现Pod间通信,只需要在Master节点操作,其他Node节点会自动创建相关Pod; #wget https://docs.projectcalico.org/v3.8/manifests/calico.yaml 该配置文件默认采用的Pod的IP地址为192.168.0.0/16,需要修改为集群初始化参数中采用的值,本例中为10.10.0.0/16; #sed -i "s#192\.168\.0\.0/16#10\.10\.0\.0/16#" calico.yaml #kubectl apply -f calico.yaml 1) 等待所有容器状态处于Running状态: #watch -n 2 kubectl get pods -n kube-system -o wide #kubectl get nodes -o wide //查看所有node状态 2) 获取join命令参数,并保存输出结果: #kubeadm token create --print-join-command > node.join.sh 7、Worker节点部署 1) 如果需要初始化Worker节点,请执行#kubeadm reset; 2) 从Master复制环境变量和加入集群脚本: #scp master:/root/k8s.env.sh master:/root/mode.join.sh . #sh k8s.env.sh #sh node.join.sh 或直接执行 #kubeadm join master1.lab.com:6443 --token e1xszv.7fa46uw7intwcbwi \ --discovery-token-ca-cert-hash sha256:2637022ef0928d0b390bf10b246ccf20e00f73966667bc711d683a8d71492e5a 3) 在Master节点查看Worker状态: #kubectl get nodes -o wide 4) 移除Worker节点: 在Worker节点执行 #kubeadm reset -f 在Master节点执行 #kubectl delete node <worker节点主机名> 7、增加Master节点 1) 在待增加Master节点执行 #kubeadm join master1.lab.com:6443 --token e1xszv.7fa46uw7intwcbwi \ --discovery-token-ca-cert-hash sha256:2637022ef0928d0b390bf10b246ccf20e00f73966667bc711d683a8d71492e5a\ --control-plane --certificate-key 5253fc7e9a4e6204d0683ed2d60db336b3ff64ddad30ba59b4c0bf40d8ccadcd 8、安装Ingress Controller 1) 在Master节点执行,具体可以参考https://github.com/nginxinc/kubernetes-ingress/blob/v1.5.3/docs/installation.md #kubectl apply -f https://kuboard.cn/install-script/v1.16.0/nginx-ingress.yaml 9、安装Kuboard图形化管理界面 1) 在Master节点执行 #kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml 查看运行状态,可能需要几分钟才能成为Running状态: #kubectl get pods -l k8s.eip.work/name=kuboard -n kube-system 2) 获取Token权限,用于界面登录 #kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d > admin-token.txt #kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-viewer | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d > read-only-token.txt 3) 管理节目访问 http://任意一个Worker节点的IP地址:32567 备注:本文部分内容参考 https://www.kubernetes.org.cn/7315.html,感谢原文作者!

优秀的个人博客,低调大师

如何在年轻的时候快速成长(认知升级)

前言 最近一直在思考一些关于成长认知的事情,可能一看标题就感觉又是一篇鸡汤文,发现“鸡汤谁都懂,但依然过不好这一生”,但我相信这份鸡汤如果你细细品味,那么你会发现它是带着勺子的,希望喝完这碗汤你能够让自己逐渐变得自律,变得有思考,成长复利慢慢变厚,感受到认知升级的价值。建议只字不差阅读。 目录 所谓习惯成自然,就是在触发条件发生进入下一个行为前,做对选择题; 所谓时间管理,就是找到不被打扰的时间用于投资自己; 所谓注意力,就是专注在目标事务上,直到产生期望结果; 所谓执行力,就是让自己先想明白,然后一步一步走下去; 所谓贵人,就是能够持续陪你一起输出高质量内容的人; 所谓职业规划,就是提升工作需要的能力; 下面我将对这六点进行进一步的说明。 习惯成自然 习惯的力量很大,大到可以改变一个人的一生,但是一般人的习惯了都是及时行乐,超前享受,习惯性的舒适,例如:现在大部分人晚上下班回家洗完澡这件事情结束后,肯定会开始下一件我们最习惯的事情,比如盯手机看剧或者刷抖音,当这件最习惯的事情结束后,大脑会产生精神上的及时享受,内容很丰富、很精彩。短期看是享受,长期看是灾难,因为对未来帮助意义不大,但是却消耗了我们大把时间。而且看剧或者刷八卦带来的信息积累只能称的上是饭后谈资,或者有些根本没机会谈。 了解习惯产生的机制后,改变习惯就变得很简单,每次在触发条件发生时,弹出一道选择题,选择做无效事情,还是学习?多次以这种方式不断强化自己做对选择题。久而久之,正确的行为被训练得多了,就成为顺其自然的习惯了。所以改变习 惯,就是在触发条件发生时,让自己做对选择题,打破旧有习惯回路,建立新的习惯回路。相信这句话“精英之所以精英,是不间断的正向行为习惯的驱使”。 时间管理 世界上有 2 种人不做时间管理,一种是有时间不管理,另外一种是没时间不管理,既有主观原因,又有客观原因。客观原因是工作太忙,确实很难有时间用于学习;主观原因是做其他事情有时间,学习和思考没时间。不管哪种人,他们内心深处 对于时间管理的需求一直存在,只是一直没找到好用的时间管理方法,最后放弃了。 现在很多专门研究时间管理这门学科的,各种方法,对于我们来说主要还是规划时间、找出个人不被打扰的空闲时间,同时充分利用这些时间。 空闲时间利用 时间的利用主要分为三块:消费、交易、投资以下就是相关解释 下班空闲时间,用于消费,比如刷新闻,刷抖音,刷朋友圈,产生及时享受,没产生成长,钱还是那些钱,职位还是原来职位; 下班空闲时间,用于交易,接个外快,赚点辛苦钱,产生金钱,没产生成长,钱没多多少,职位却还是原来职位; 下班空闲时间,用于投资,以终为始,相信“慢慢来,成长最快”的认知,持续不断投入多维领域的学习,沉淀能力,获得成长,从成长中获得金钱,名誉的升级; 看完时间的消费、交易、投资的解释,在看看习惯成自然中做选择题的重要性,做对选择题其实就是投资,投资自己的成长,投资自己的学习,人生的不同不就是因为投资自己而变得不一样吗?但是投资需要时间,时间怎么来?“找到不被打扰的时间”。只有找到了不被打扰的时间用于投资自己的成长才能发生复利效应。 但是如果想从工作中省点时间,想从周末挤点时间用于学习,这叫成长的断崖,我相信不能持续,学习必须是每日的必修课,必须是日拱一卒,持之以恒,有不断的输入,也有不断的输出,持续地沉淀,在关键时刻输出解决问题能力,从而获得能力认可。 不被打扰时间建议 睡前:晚上回家到睡觉前,这段时间每个人都有,这里至少可以抽出 40 分钟学习,建议 12点之前必须睡觉,为了早起做准备; 早起:如果按照12点睡觉,年轻人一天睡 6-7 个小时是够的,如果想利用早起的时间,那么你就需要6.出头起床,这样就会产生 1~1.5 个小时学习时间,平时哪有这么长的时间用于学习啊;然后中午睡个午觉,时间睡眠时间也是够的。 通勤路上:在几个一线城市,一般上下班每天通勤时间都差不多要 2-3 个小时,这类时间 可以用来学习快餐知识,找知识服务平台花钱买知识,学习人家总结好的知识。例如极客时间、得到等平台。 注意力 在时间管理的认知升级中,我们已经具备了认知:“找到不被打扰的时间用于投资自己”。本节以我们的第2大宝贵财富注意力进行认知升级,让自己的注意力在不被打扰的时间里用在投资自己的成长道路上,时间是容器,注意力是武器,搭配得 好,成长可期待。 我们以为做大家正在做的事,就找到了归属感,找到了安全感,但实际上真正的安全感、成就感,归属感来自自我成长,自我沉淀。对生活在信息量爆炸时代里的我们,用好自己的注意力非常难,处处都是陷阱,处处都是诱惑,处处降低我们的思 考,让我们轻易获得成品,带来的结果是表面上我们懂的很多,但其实理解非常浅。 对于这些巨坑,不建议大家100%放弃,对于群居物种的人类来说,还是要和外面世界建立连接,和身边人有话题交流,但是我们要调整注意力,把原先可能100% 的注意力变成37 分配,根据自己对自己的掌控力度,让大部 分注意力投资在自己的成长上,减少朋友圈,减少新闻娱乐投入。而不是看到一个热点就一直花比较多的时间投入,从而让自己成为话题讨论的中心。 注意力和时间管理的认知一旦结合,我们可以兴奋地这么说:“在不被打扰的时间里,用好注意力投资在自己成长上,我们的人生会不一样,在未来会遇到更好的自己”。 执行力 每个人身体内至少有多个角色,从认知的角度来看,有两个角色,一个是投资者,投资自己的成长;另外一个是消费者,消费自己的时间和注意力,很少关注自己成长。我们一生一直在扮演这两个角色,互相博弈,成长者获胜持续成长,消费者获 胜原地踏步。但是,往往消费者获胜,因为消费者在消费时间和注意力去刷朋友圈、看新闻娱乐,做大家正在做的事情,感觉找到了归属感,安全感,大脑能立马获得及时的奖励,而大脑又是控制我们思考和行为,一旦消费者占领了大脑,也就控制了我们日常的思考和行为。就会让这种消费的习惯根深蒂固。 当我们选择让自己成为投资者时,下一步就是如何提升执行力了。 提升执行力的方法 提升执行力,执行力的前提就是习惯成自然的选择题是选择先让自己成为投资者,投资自己的成长,投资在正确的事情上, 此时去认知执行力才有意义,我对执行力的认知:“想明白,然后一步一步做下去”,如果想不明白,根本谈不上执行力。同时提升执行力的时候,还需要自律,通过自律让执行力得到持续,要相信持续投资自己的成长,可以实现“慢慢来,成长最快”的卓越效果。 贵人 但是很多时候我们会觉得身边缺少贵人,或者有贵人但离自己太远。产生这种认知离不开 4 个方面: 自己不自信,不相信自己能够影响他人,导致缺乏主动沟通,长期沟通,沟通的延续性和习惯没有建立。 自己心态问题,自己的心态若是不够积极正向,没有贵人敢进入你的思维空间,因为价值观不匹配,很难形成认知共识。 职场原因,很多时候可能你的老板就是你的贵人,但是因为职场,因为上下级,碍于面子,碍于工作,不敢多交流,多请教。 贵人来了又走了,有贵人帮你改变,帮你进步,但是自己不努力,抱着过去做事的心态和方法在职场上浪迹天涯,进步不明显,否定了他作为贵人的价值和意义。 其实在生活中不是自己身边没有贵人,而是你要善于发现,而且发现之后注意把握,就像法国雕塑艺术家罗丹说过:“在生活中,美是到处都有的,但对于我们的眼睛,不是缺少美,而是缺少发现。 如果恰好有这么一位贵人,应该懂得珍惜,珍惜的主要方式是用成长回报他,因为你的成长在未来可以帮助他。同时在平时需要建立有效沟通,首先让贵人真正地了解你,在确定贵人能够帮助你,影响你时,你应该大胆去承担一些有挑战的事情,哪怕遇到委屈,遇到压力,遇到失败,要相信此时的你才是真实的你,你的天花板,你的瓶颈就在于此,借助贵人助你提升能力,下次同样的事情来临时,自己就能够得心应手,这种能力的锻炼机会非常少,事情失败了没关系,但人要成,人的能力要提升。 生活需要多交流 在中国总是有这么一种观念有事没事别老是麻烦别人,欠人恩情要还的,这不是父母的错,而是中国的报答文化,因为获得帮助需要报答别人导致心里负担太重,从而教育子女不要随便麻烦别人。长期以往性格受此影响较大,越不向人求助,性格越内向,越内向越不向人求助,与他人间的交流少了,输入少了,观点碰撞少了,思考也就少了,内敛的性格也就这样逐步养成了。这样内敛、对外沟通的性格就像清朝时代闭关自首,让自己成为了信息的孤岛,怎么能够跟上时代的脚步呢。 求助和帮助别人 但是这几年的经历和变化,慢慢的意识到向人求助≠麻烦别人。求助就像一种交易,一种有着“巨大意义”的交易,你求助时,别人之所以愿意帮助你,是因为他已经看到你的价值,这种价值帮助他确定了自己的价值(他有能力帮助你),或者未来你可以帮助他。每个人应该都经历过,在你出手相助他人的那一瞬间,你得到了最重要的回报:你有能力帮助别人,同时,在帮助他人的过程中发现了自己未来可能需要更加努力的方向。帮助别人不是你赢我输,而是一个共同进步的过程,在帮助别人的过程中,巩固自己知识的同时可以发现自己理解上的偏差。 帮助别人也是在维护自己的人脉,所谓的人脉就是你帮助过的人。 贵人就应该紧紧抱住,通过和贵人建立关系,贵人的观察,反馈,双向沟通,对话,辅导等,可以帮助自己从互动的信息中生成自己的思考,行为和观点,这些思考,行为和观点会影响自我,完善自我。 职业规划 职业规划不同的人有不同的理解,我认为大部分人其实不需要做职业规划,只有那些有梦想,个人基础素质非常好的人才需要职业规划,他们会为一个目标持续不断努力多年,直到目标实现。而大部分人不需要职业规划,是因为很多时候,我们做的职业规划只是个梦想,虽然梦想还是要有的,但很多时候只是被别人实现了而已,若是恰巧因为幸运被自己实现了,可能是个误会,因为能力没到,在新的岗位和角色上会比那些早已准备好的人要付出更多的努力和汗水。 发现很多人 在做职业规划的时候,更倾向于把职业规划放在某个岗位,某个角色上。比如会把目光聚焦于经理岗位、经理能力,或者架构师角色,但是他们怎么走上该岗位,获得该角色,背后做了哪些努力,用了哪些方法,沉淀了哪些能力,一脸茫然。确实,职业规划非常难,难在他是未来的一个想象空间,这个想象空间能否实现,和当下做的事情,努力的程度分不开。 我认为职业规划不是某个岗位,某个角色,而是工作能力的提升。针对自己岗位需要的能力,职场需要的能力,然后用专家思维,多维视角重点突破 3-4 项能力,抱着120%的努力拿到结果,甚至是超出期望的结果,事情成了,能力也就被认可了,所谓的角色,岗位只是顺其自然的结果。但是真能这样做的人少之又少,既然是少之又少,成为少之又少的人才是你的机会。 总结 生活就是这样,如果不争取你自己想要的,那么你就不得不接受那些你不想要的。所以还等什么呢,赶紧行动起来,确定目标,一步一步的坚持走下去。 如果你能读到这里,我相信你还是认可里面的一些观点。可以关注公众号:科比可比克

优秀的个人博客,低调大师

快速入门ECS快照功能,助力大数据容灾保护

阿里云快照是云盘数据在某个时刻完整的只读拷贝,是一种便捷高效的数据容灾手段,常用于数据备份、制作自定义镜像、应用容灾等。 应用场景 推荐您在以下场景中使用快照: 容灾备份:为云盘创建快照,再使用快照创建云盘获取基础数据,实现同城容灾和异地容灾。 环境复制:使用系统盘快照创建自定义镜像,再使用自定义镜像创建ECS实例,实现环境复制。 数据开发:为数据挖掘、报表查询和开发测试等应用提供近实时的真实生产数据。 提高容错率:出现操作失误时,能及时回滚数据,降低操作风险,实现版本回退。 定期创建快照,避免常见的失误操作。例如,团队成员不慎在云盘上存储了错误的数据、ECS实例被误释放、应用错误导致了数据错误、或者骇客利用应用漏洞恶意删除业务数据等。 执行重要操作前创建一份快照,常见的重要运维操作包括更换操作系统、应用软件升级或业务数据迁移等。 快照类型 快照主要分为本地快照和普通快照,区别在于存储方案的不同。根据不同区别方式,快照可以细分为以下类型: 计费 快照计费项为快照容量,支持按量付费计费方式和购买存储包。更多详情,请参见快照计费方式。 使用限制 有关快照的使用限制及配额,请参见使用限制快照章节。 使用本地快照具有以下限制: 仅ESSD云盘支持创建本地快照。 单块ESSD云盘最多能保留10份本地快照。 使用本地快照创建云盘时,设置的云盘容量不能大于快照大小。 不支持通过自动快照策略创建本地快照。 不支持为加密云盘、共享块存储、本地盘创建本地快照。 优势 相比于传统存储产品的数据快照功能,ECS快照具备以下优势: 相关操作 控制台操作: 创建快照 使用快照创建云盘 使用快照回滚云盘 使用快照创建自定义镜像 使用自定义镜像创建实例 API请参见API概览快照章节。 本文来自 阿里云文档中心 云服务器ECS 快照概述 云栖号在线课堂,每天都有产品技术专家分享立即加入圈子:https://c.tb.cn/F3.Z8gvnK与专家面对面,及时了解课程最新动态!

优秀的个人博客,低调大师

一文看懂如何通过Docker镜像快速创建 Nginx

前提条件 如果您还未创建集群,您需要先创建集群。有关如何创建集群的详细信息,参见创建集群。 操作步骤 1.登录容器服务管理控制台。 2.单击左侧导航栏中的应用 并单击右上角的创建应用,如下图所示。 3.输入应用相关信息,单击使用镜像创建。 应用名称:要创建的应用的名称。本示例中,应用名称为 nginx。 应用版本:所创建应用的版本。默认为 1.0。 部署集群:要部署到的集群。 默认更新策略:应用更新的方式,您可以选择标准发布 或蓝绿发布,参见 发布策略说明。 应用描述:应用的相关信息。该信息将显示在应用列表页面。 检查最新 Docker 镜像:选中该选项后,表示当镜像 Tag 不变的情况下,也会去仓库拉取最新的镜像。 为了提高效率,容器服务会对镜像进行缓存。部署时,如果发现镜像 Tag 与本地缓存的一致,则会直接复用而不重新拉取。所以,如果您基于上层业务便利性等因素考虑,在做代码和镜像变更时没有同步修改 Tag ,就会导致部署时还是使用本地缓存内旧版本镜像。而勾选该选项后,会忽略缓存,每次部署时重新拉取镜像,确保使用的始终是最新的镜像和代码。 4.单击选择镜像。在搜索框中输入nginx,单击全局搜索。在搜索结果中选择nginx,单击确定。 容器服务会默认使用镜像的最新版本。如果您需要使用镜像的其它版本,单击选择镜像版本,单击所需版本并单击确定。 5.在端口映射中配置容器与主机的端口映射。为了能够通过公网访问容器内的 Nginx 服务器,我们还需要配置简单路由配置。 (1).配置容器的 80 和 443 的端口映射。本示例未指定主机端口。 (2).配置简单路由。 单击简单路由配置右侧的加号图标。 在容器端口框中输入80,即表示访问 nginx 容器的 80 端口。 在域名框中输入nginx。域名字段只填写了域名前缀 nginx,如果域名前缀为 XXX,会给到域名 XXX.$cluster_id.$region_id.alicontainer.com 供测试使用。本例中您获得的测试域名为 nginx.c9b424ed591eb4892a2d18dd264a6fdfb.cn-hangzhou.alicontainer.com。 6.单击创建。容器服务根据以上设置创建应用 nginx。 7.单击查看应用列表,返回应用列表 或左侧导航栏中的 应用 返回应用列表。如下图所示,单击应用名称nginx,查看应用详情。 8.在服务列表中,单击服务名称nginx,进入服务 nginx 页面。 9.单击服务 nginx 的访问端点,即可进入 Nginx 服务器的默认欢迎页面。 说明 如果您无法正常访问该页面,可以参考 访问链路问题排查进行问题排查。 本文来自 阿里云文档中心 通过镜像创建 Nginx

优秀的个人博客,低调大师

Hexo 4.2.0 发布,快速简洁且高效的博客框架

Hexo 4.2.0 发布了,更新内容如下: 特性 默认情况下,在 hexo-server 中禁用缓存 [#3963] 禁用此功能后,可以实时预览任何更改(尤其是主题布局)。 如果在生产环境中使用 hexo-server 为网站提供服务,则可以通过以下方式启用它: _config.yml server: cache: true 将min_depth:选项添加到toc() [#3997] 用法示例: <%- toc(page.content, { min_depth: 2 }) %> // table of content would only include <h2>, <h3> and above 更新说明:https://github.com/hexojs/hexo/releases/tag/4.2.0

优秀的个人博客,低调大师

Hexo 4.1.1 发布,快速简洁且高效的博客框架

Hexo 4.1.1 发布了,更新内容如下: 特性 添加trailing_html:到pretty_urls:选项以从 url 中删除 ".html" [#3917] 使用以下配置从永久链接变量中删除结尾的 ".html" _config.yml pretty_urls: trailing_html: fals 修复 为og:locale标签设置默认语言环境(以 “language_TERRITORY” 格式) [#3921] 之前只有在将language:配置为 "language-TERRITORY" 格式时才插入og:locale 使用此修复程序,如果语言为 “en”,则og:locale将默认为 “en_US” meta_generator()助手应该输出正确的 Hexo 版本 [#3925] permalink_defaults:选项应该被解析,而不是被替换 [#3926] themes/ 中的 "node_modules/" 和 ".git/" 文件夹总是被忽略 [#3918] 更新说明:https://github.com/hexojs/hexo/releases/tag/4.1.1

优秀的个人博客,低调大师

Hexo 4.1.0 发布,快速简洁且高效的博客框架

Hexo 4.1.0 发布了,更新内容如下: 特性 支持添加小时和分钟来发布固定链接 [#3629] 用法示例: _config.yml permalink: :year/:month/:day/:hour/:minute/:title/ 结果是https://yoursite.com/2019/12/09/23/59/a-post/ 插入article:published_time[#3674]article:author[#3805] 打开图标签 在与 iframe 相关的代码插件中启用延迟加载 [#3798] 影响 iframe,jsfiddle,vimeo,youtube 标记插件 需要支持的浏览器才能使用此功能 不支持的浏览器将简单地忽略该属性,因此可以安全使用并始终启用 meta_generator助手来插入元数据元素标签 [#3782] 用法示例: 在主题布局的 <head> 元素内插入以下代码段(如果使用 EJS), <%- meta_generator() %> 将输出<meta name="generator" content="Hexo 4.1.0"> Hexo 3.9.0+ 自动插入标签;为了获得性能优势,需要禁用meta_generator:选项, _config.yml meta_generator: false 在js()[#3681] 和css()[#3690] helpers中支持自定义属性 用法示例: <%- js({ src: 'script.js', integrity: 'foo', async: true }) %> // <script src="/script.js" integrity="foo" async></script> <%- css({ href: 'style.css', integrity: 'foo' }) %> // <link rel="stylesheet" href="/style.css" integrity="foo"> 支持换行:启用/禁用在 <table> 元素中换行反引号代码块的选项 [#3827] 默认情况下启用,启用 line_number 也会启用它 高亮配置: _config.yml highlight: line_number: false # must be disabled to disable wrap: wrap: false 此选项也可以传递给 codeblock() 标签插件 [#3848] {% codeblock lang:js wrap:false %} const foo = (bar) => { return bar; }; {% endcodeblock %} 更新说明:https://github.com/hexojs/hexo/releases/tag/4.1.0

优秀的个人博客,低调大师

Hexo 4.0.0 发布,快速简洁且高效的博客框架

Hexo 4.0.0已经发布,更新内容如下: chore:删除Node 6 修复 post_link和 asset_link 修复:默认情况下编码 permalink 如果你目前使用 encodeURI(post.permalink),提供三个选项:encodeURI(decdeURI(post.permalink))与 HEXO v3.9 向后兼容;HEXO-util 提供的 encodeURL() 函数,它是向后兼容的;删除encodeURI() feat:添加选项禁用元生成器标记(将 meta_generator: false 添加到 config 以禁用) 如果不想在 post.update 变量中使用文件修改时间,可在配置文件中设置 USE_DATE_FORPDATED:true feat(permalink_variable):添加 pretty_urls 选项以从 url 中删除 index.html 使用下面的配置从 permalink 变量中删除跟踪 index.html pretty_urls: trailing_index: false 修复(open_graph):从 url 删除 index.html 修复(helpers, tag plugins):默认情况下编码 url 修复:external_link使用after_render,添加了 field和exclude选项 更多详情见发布说明。

优秀的个人博客,低调大师

Firefox 70 将引入“非活跃 CSS”,快速排查 CSS 属性

在最新的 Firefox 70 Beta 版本中,引入了一项名为“Inactive CSS”(非活跃 CSS)的功能,DevTool 新工具将为开发者展示哪些 CSS 属性不会影响所选元素以及原因,这将大大节省开发者的时间。 具体情况是,当选中一个元素时,元素的 CSS 属性如果对其没有影响,那么这个属性旁边会显示一个信息框,说明其不会起作用,并且解释原因。以上图为例:flex-grow 的设置不会在 .outer-wrapper 中生效,因为它不是一个 flex 项。此外,信息框中还会给出改进建议。 此前 Firefox 在 v65 中也引入一项新奇的 CSS 功能Flexbox Inspector。 Flexbox Inspector 可以帮助开发者了解 CSS Flebox 元素的大小、位置与嵌套情况。只要开发者在标记视图中选定了 Flex 容器或其它元素,那么就会自动出现 Flexbox 信息,开发者可以在布局面板中的 Inspector 标签下看到相应内容。 这些 CSS 工具对于前端工程师或者故障排查都能提供极大的便利,具体情况可以查看: https://www.mozilla.org/en-US/firefox/70.0beta/releasenotes https://www.oschina.net/news/103673/flexbox-inspector-will-add-to-firefox-65

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册