随笔分类 - 每天5分钟,玩转kubernetes
摘要:12.3.2 实践Network Policy 当前没有配置任何Network Policy. 如下,查看Pod和service: (1)启动一个busybox,在Pod里面既可以访问servcie也可以ping到Pod。 kubeusr@GalaxyKubernetesMaster:~$ kube
阅读全文
摘要:12.1 kubernetes网络模型 集群中每个pod都有自己的IP地址,Pod之间不用配置NAT就能直接通信。 同一个Pod中的容器共享Pod的IP,能通过localhost通信。 每个pod可被看做是一个个独立的系统,而pod中的容器则可被看做是同一个系统中的不同进程。 1. Pod内容器之间
阅读全文
摘要:11.5.5 开发自己的chart k8s提供了大连官方的chart, 不过要部署微服务,还是需要开发自己的chart: 1 创建chart Helm会帮助创建目录mychart,并生成各类chart文件。我们在此基础上开发自己的chart. 2 调试 Helm提供了debug工具: helm li
阅读全文
摘要:11.5 chart详解 chart由一系列文件组成,这些文件描述了K8s部署应用时需要的资源,比如Servcie、Deployment、PersistentVolmeClaim、Secret、ConfigMap等。 chart可以很复杂,部署整个应用,比如包含HTTP servers、Databa
阅读全文
摘要:Helm - K8s的包管理器 11.1 Why Helm K8s能够很好的组织和编排容器,但它缺少一个更高层次的应用打包工具,Helm就是干这个的。 比如对于一个MySQL服务,K8s需要部署如下对象: (1)Service,让外界能访问MySQL (2)Secret,定义MySQL的密码 (3)
阅读全文
摘要:10.4 ConfigMap Secret可以为Pod提供密码、Token、私钥等敏感数据;对于一些非敏感数据,比如一些配置信息,则可以用ConfigMap。 configMap的使用方式与Secret非常类似,不同的是数据十以明文的形式存放。 创建方式也是四种(和Secret一样,不同的是kube
阅读全文
摘要:10.3 在Pod中使用Secret 10.3.1 Volume方式 K8s会在指定的路径下为每条敏感数据创建一个文件,文件名是数据条目的Key, /etc/foo/username和 etc/foo/password, value是以明文的形式存放在文件中。 我们也可以自定义存放数据的文件名,配置
阅读全文
摘要:敏感信息,直接保存在容器镜像中显然不妥,比如用户名、密码等。K8s提供的解决方案是Secret。 Secret会以密文的方式存储数据,避免了在配置文件中保存敏感信息。Secret会以Volume的形式被mount到Pod,容器可通过文件的方式使用Secret中的敏感数据; 此外,容器也可以环境变量的
阅读全文
摘要:9.1 Volume Pod是短暂的,Pod在销毁时,保存在容器内部的文件系统各种的数据会被清除。 为了持久化保存容器中的的数据,可以使用K8s Volume。 9.1.1 emptyDir emptyDir: 最基础的Volumne类型,是Host上的一个目录。 emptyDIr Volume:
阅读全文
摘要:8.1 默认的健康检查 每个容器启动时会执行一个进程,此进程由Dockerfile的CMD或ENTRYPOINT指定。如果进程退出时返回码非零,则认为容器发生故障,K8s就会根据restartPolicy. 如果容器进程返回非零,K8s就认为容器发生故障,需要重启。 可是有时候,容器发生了故障,但是
阅读全文
摘要:7.1 实践 使用 kubectl apply 进行部署。 然后将配置文件中的2.2.31 替换为 2.2.32,再执行kubectl apply, 7.2 回滚 httpd.v1.yml httpd.v2.yml httpd.v3.yml 如果想回滚到某个版本:
阅读全文
摘要:6.4 外网如何访问service (1)ClusterIp: Service通过Cluster内部的IP对外提供服务,只有Cluster内的节点和Pod可以访问,这是默认的Service类型。 (2)NodePort: Service通过Cluster节点的静态端口对外提供服务。Cluster外部
阅读全文
摘要:不应该直接使用Pod的ID地址作为对外提供服务的接口,应为一旦Pod重启,IP地址就变化了,解决方案是使用Service。 6.1 创建Service K8s service从逻辑上代表了一组Pod,具体是哪些Pod则由label来挑选的。 service有自己的IP,而且这个IP是不变的,客户端只
阅读全文
摘要:5.1 Deployment 5.1.1 运行Deployment kubectl create namespace liufei # 创建namespace kubectl run nginx-deployment -n liufei --image=nginx:1.7.9 --replicas=
阅读全文
摘要:4.1 Master节点:Master是大脑,运行如下Daemon服务: API Server(kube-apiserver) API server提供了HTTP/HTTPS RESTful API,即Kubernetes API。 API server是Kubernetes Cluster的前端接
阅读全文
摘要:1 Cluster : 2 Master:Cluster的大脑,主要职责是调度,可以运行多个master来保证高可用。 3 Node:职责是运行容器应用,Node由Master管理,负责监控并汇报容器的状态,同时根据Master的要求管理容器的生命周期。 4 Pod: Pod 是K8s的最小工作单元
阅读全文
摘要:1 用如下方法安装指定版本的docker,但是我的环境会报错 上面的方法我没能安装成功, 用如下的方法安装docker,没有指定版本,导致后面会有一点问题 2 创建 docker user 3 k8s prepare(所有节点) 4:安装 K8S(所有节点) kubelet: 运行在Cluster所
阅读全文
摘要:1.1 先跑起来 k8s官网已经为大家准备好了一个现成的最小可用系统。 https://kubernetes.io/docs/tutorials/kubernetes-basics/ 1.2 创建K8s集群 https://kubernetes.io/docs/tutorials/kubernete
阅读全文