综合( 右侧选择分类 )
hangge

Java - MacOS下JDK安装、升级教程(附:JDK1.8官方下载地址)

最近需要在Mac系统上进行SpringBoot开发,可惜当前的JDK版本太低(1.7),下面介绍如何将其升级为1.8版本。1,JDK 的下载与安装(1)首先访问Oracle官网(www.oracle.com),点击页面最下方的“Java for Developers”链接。(2)找到需要的版本后,点击旁边的“JDK DOWNLOAD”按钮:(3)选择“Accept Lisence Agreemen
282 人浏览
hangge

k8s - 解决Terminating状态的Pod删不掉的问题(强行kubectl delete pod)

1,问题描述(1)最近发现咋Kubernetes集群上有个处于Terminating状态的Pod:(2)但通过kubectl delete pods命令却死活无法将其删除:1kubectldeletepods httpd-app-6df58645c6-cxgcm2,解决办法(1)无论各种方式生成的pod, 均可以使用如下命令强制删除:1kubectldeletepods <pod> -
254 人浏览
hangge

K8s - Kubernetes使用详解14(集群日志管理:Elasticsearch)

十四、集群日志管理:Elasticsearch1,Elasticsearch 介绍(1)Kubernetes开发了一个Elasticsearch附加组件来实现集群的日志管理。这是一个Elasticsearch、Fluentd和Kibana的组合。(2)它们分工如下:Fluentd负责从Kubernetes搜集日志并发送给Elasticsearch;Elasticsearch是一个搜索引擎,负责存储
284 人浏览
hangge

K8s - Kubernetes使用详解13(可视化监控工具2:Heapster)

十三、Heapster1,基本介绍(1)Heapster是Kubernetes原生的集群监控方案。Heapster以Pod的形式运行,它会自动发现集群节点、从节点上的Kubelet获取监控数据。Kubelet则是从节点上的cAdvisor收集数据。(2)Heapster将数据按照Pod进行分组,将它们存储到预先配置的backend并进行可视化展示。Heapster当前支持的backend有Infl
284 人浏览
hangge

K8s - Kubernetes使用详解12(可视化监控工具1:Weave Scope)

十二、Weave Scope1,基本介绍Weave Scope是Docker和Kubernetes可视化监控工具。Weave Scope提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断。2,安装步骤(1)安装Weave Scope的方法很简单,我们只需执行如下命令即可:1kubectl apply -f"https://cloud.we
265 人浏览
hangge

K8s - Kubernetes使用详解11(使用Canal网络实现Network Policy)

我们知道目前已有多种支持Kubernetes的网络方案,比如Flannel、Calico、Canal、Weave Net等。因为它们都实现了CNI规范,所以用户无论选择哪种方案,得到的网络模型都一样,即每个Pod都有独立的IP,可以直接通信。 而这些方案除了底层实现不同,性能上有差异外。最大的区别就是就是是否支持Network Policy了。十一、使用 Canal 网络实现 Network
361 人浏览
hangge

TIOBE - 2019年8月编程语言排行

八月头条:波澜不惊的月度排行 相比 7 月榜单,本月编程语言的排名并未有太大波动,因此TIOBE 官方也将 8 月编程语言排行榜戏谑为“Silly season”。在 Top 10 中唯一的变化就是 Objective-C 和 SQL 的位置首次发生了变换(Objective-C 位列第九,SQL 排名第十)。近年来,Objective-C 在苹果主推 Swift 的举措下,发展得尤为艰难。不过
229 人浏览
hangge

K8s - Kubernetes使用详解10(使用ConfigMap管理应用配置信息)

前文介绍了如何用Secret为Pod提供密码、Token、私钥等敏感数据;而对于一些非敏感数据,比如应用的配置信息,则可以用ConfigMap来实现. ConfigMap的创建、使用方式与Secret非常类似,主要的不同在于数据以明文的形式存放。下面通过样例进行演示。十、使用 ConfigMap 管理应用配置信息1,创建 ConfigMap与Secret一样,ConfigMap也支持四种创建方
279 人浏览
hangge

K8s - Kubernetes使用详解9(使用Secret管理敏感信息)

应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥。将这些信息如果直接保存在容器镜像中显然不妥,Kubernetes提供的解决方案是Secret。九、使用 Secret 管理敏感信息1,Secret 的功能介绍Secret会以密文的方式存储数据,避免了直接在配置文件中保存敏感信息。Secret会以Volume的形式被mount到Pod,容器可通过文件的方式使用Secret中
284 人浏览
hangge

K8s - Kubernetes使用详解8(使用Volume存储实现数据持久化)

我们知道容器和Pod的生命周期可能很短,会被频繁地销毁和创建。当容器销毁时,保存在容器内部文件系统中的数据都会被清除。为了持久化保存容器的数据,我们可以使用Kubernetes Volume。 除此之外,有一些场景可能一个pod里面的多个容器需要共享数据。同样可以借助Volume来实现。八、Volume 存储1,什么是Volume?(1)Volume的生命周期独立于容器,Pod中的容器可能被
232 人浏览
hangge

K8s - Kubernetes使用详解7(滚动更新、回滚)

七、滚动更新、回滚1,滚动更新滚动更新的含义:一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新。滚动更新的好处:最大好处是零停机,整个更新过程始终有副本在运行,从而保证了业余的连续性。(1)假设我们要部署三个副本的应用,初始镜像是httpd:2.4.16,配置文件为httpd.v1.yml,内容如下:(2)然后通过kubectl apply进行部署:1kubectl app
250 人浏览
hangge

K8s - Kubernetes使用详解6(Service的创建和使用)

Pod中的容器很可能因为各种原因发生故障而死掉,Controller会通过动态创建和销毁Pod来保证应用整体的健壮性。而由于每次新Pod都会分配到新的IP地址,为了能让客户端找到并访问这个服务,Kubernetes给出了Service这个解决方案。六、Service 的创建和使用1,Service 介绍(1)Kubernetes Service从逻辑上代表了一组Pod,具体是哪些Pod则是由la
230 人浏览
hangge

K8s - Kubernetes使用详解5(运行CronJob样例)

Linux中有cron程序可以定时执行任务,而Kubernetes的CronJob则提供了类似的功能,可以定时执行Job。五、运行 CronJob1,准备工作(1)Kubernetes默认没有enable CronJob功能,需要在kube-apiserver中加入这个功能。首先我们修改kube-apiserver的配置文件:1vi /etc/kubernetes/manifests/kube-a
232 人浏览
hangge

K8s - Kubernetes使用详解4(运行Job样例)

容器按照持续运行的时间可分为两类:服务类容器和工作类容器。 服务类容器通常持续提供服务,需要一直运行,比如http server,daemon等。工作类容器则是一次性任务,比如批处理程序,完成后容器就退出。对于Kubernetes里个各种Controller来说:Deployment、ReplicaSet和DaemonSet都用于管理服务类容器。Job、CronJon则用于管理工作类容器。下面我就
243 人浏览
hangge

K8s - Kubernetes使用详解3(运行DaemonSet样例)

三、运行 DaemonSet1,DaemonSet 与Deployment 的区别Deployment部署的副本Pod会分布在各个Node上,每个Node都可能运行好几个副本。DaemonSet的不同之处在于:每个Node上最多只能运行一个副本。2,DaemonSet 的典型应用场景在集群的每个节点上运行存储Daemon,比如:glusterd或ceph。在每个节点上运行日志收集Daemon,比如
232 人浏览
hangge

K8s - Kubernetes使用详解2(运行Deployment样例2:使用配置文件创建资源)

我们知道Kubernetes支持两种创建资源的方式:命令和配置文件。在上文中我介绍了前者(点击查看),下面我接着介绍后者:通过配置文件创建资源。二、运行 Deployment(使用配置文件)1,基本用法(1)首先我创建一个配置文件(nginx.yml),里面配置好所有资源的属性,内容如下:1234567891011121314apiVersion: extensions/v1beta1 # a
242 人浏览
hangge

K8s - Kubernetes使用详解1(运行Deployment样例1:使用命令创建资源)

Kubernetes通常不会直接创建Pod,而是通过Controller来管理Pod的。为了满足不同的业务场景,Kubernetes提供了多种Controller,包括Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job等。 下面我先介绍下其中最常用的Deployment。Kubernetes支持两种创建资源的方式:命令和配置文件。本文先使用前者。一、
245 人浏览
hangge

Vue.js - 引入static文件夹下的css文件(全局、scoped)

我们知道Vue项目中静态资源文件(css、图片等)可以放在src/assets或者static文件夹下:对于src/assets文件夹下的css文件,我们可以使用如下方式引入(使用@import将其作为全局样式引入):123<style>@import "./assets/global.css";</style>而static文件夹下的css文件引入方式
247 人浏览
hangge

K8s - 让Master也能当作Node使用的方法(允许将Pod副本调度到Master节点上)

出于安全考虑,默认配置下Kubernetes不会将Pod调度到Master节点。假设我们有如下一个集群:1,让 Master 也当作 Node 使用(1)如果想让Pod也能调度到在Master(本样例即localhost.localdomain)上,可以执行如下命令使其作为一个工作节点:注意:利用该方法,我们可以不使用minikube而创建一个单节点的K8S集群1kubectl taint n
297 人浏览
hangge

Linux - 查看、修改、更新系统时间(自动同步网络时间)

本文以CentOS为例,演示如何查看、设置系统时间,以及自动从互联网更新系统时间。1,查看系统时间执行date命令可以查看当前系统的时间:2,手动修改系统时间(1)执行如下命令可以设置一个新的系统时间:1date-s"20190712 18:30:50"(2)设置完后还要执行如下命令保存一下设置:1hwclock --systohc(3)当然我们也可以将上面两个操作合二为一:1
208 人浏览