docker-k8s
docker和k8s
Voir Toi
这个作者很懒,什么都没留下…
展开
-
kube-flannel.yml
---apiVersion: policy/v1beta1kind: PodSecurityPolicymetadata: name: psp.flannel.unprivileged annotations: seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/default seccomp.security.alpha.kubernetes.io/defaultProfileName: docke原创 2020-11-19 09:29:18 · 320 阅读 · 1 评论 -
在k8s集群部署(Java)项目
一、容器交付流程开发代码 - 持续交付/集成 - 应用部署 - 运维二、k8s部署Java项目流程制作镜像 - 推送到镜像仓库 - 控制器部署镜像 - 对外暴露应用 - 运维1、准备java项目,把java进行打包(jar包或者war包)(1)需要使用两个依赖环境java环境 - jdkmaven环境(2)把java项目(springboot)打成war包重要事情 :编写dockerfile//dockerfileFROM openjdk:8-jdk-alpineVOL原创 2020-11-19 09:28:15 · 1403 阅读 · 1 评论 -
搭建高可用(多master)集群
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:# 创建一个 Master 节点$ kubeadm init# 将一个 Node 节点加入到当前集群中$ kubeadm join <Master节点的IP和端口 >1. 安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:一台或多台机器,操作系统 CentOS7.x-86_x64硬件配置:2GB或更多RAM,2原创 2020-11-18 09:51:31 · 469 阅读 · 0 评论 -
k8s-Helm
一、引入1、之前方式部署应用基本过程//编写yaml文件//创建一个deployment类型的nginx应用,yaml文件kubectl create deployment nginx --image=nginx -o yaml//创建一个service,类型为 NodePort(对外提供访问)//对外暴露端口kubectl expose deployment nginx --port=80 --target-port=80 --type=NodePort//查看创建的podkubec原创 2020-11-18 09:46:02 · 212 阅读 · 0 评论 -
k8s-集群安全机制
1、概述(1)访问k8s集群时候,需要经过三个步骤完成具体操作认证鉴权(授权)准入控制(2)进行访问时候,过程中都需要经过apiserver,apiserver做统一协调,比如门卫。访问过程中需要证书、token、或者用户名+密码如果访问pod需要serviceAccount第一步 认证 传输安全传输安全:对外不暴露8080端口,只能内部访问,对外使用端口6443认证客户端身份认证常用方式:HTTPS证书认证,基于ca证书http token认证,通过token识别原创 2020-11-18 09:43:09 · 168 阅读 · 0 评论 -
k8s-配置管理
Secret作用:加密数据存在etcd中,让Pod容器以变量或者Volume方式挂载到容器中场景:凭证//将admin进行base64编码echo -n "admin" | base64//1.创建Secret加密数据//Secret.yamlapiVersion: v1kind: Secretmetadata: name: mysecrettype: Opaquedata: username: YWRtaW4 password: MWYy2DF1MmU2N2Rm原创 2020-11-18 09:42:24 · 145 阅读 · 0 评论 -
Controller(Job和CronJob)
job(一次性任务)//计算圆周率apiVersion: batch/v1kind: Jobmetadata: name: pispec: template: spec: containers: - name: pi image: perl command: ["perl", "-Mbignum=bpi", "wle", "print bpi(2000)"] restartPolicy: Never backoff原创 2020-11-18 09:41:33 · 110 阅读 · 0 评论 -
Controller(DaemonSet)
使用DaemonSet方式部署守护进程在每个node上运行一个pod,新加入的node也同样运行在一个pod里面在每个node节点上安装数据采集工具apiVersion: apps/v1kind: DaemonSetmetadata: name: ds-test labels: app: filebeatspec: selector: matchLabels: app: filebeat template: metadata:原创 2020-11-18 09:37:39 · 90 阅读 · 0 评论 -
k8s-Controller
1、Controller概述在集群上管理和运行容器对象2、Pod和Controller关系Pod是通过controller实现应用的维护:弹性伸缩、滚动升级等Pod和Controller之间建立关系的方式?spec: replicas: 1 selector: matchLabels: app: web strategy: {} template: metadata: creationTimestamp: null labels原创 2020-11-17 19:30:25 · 173 阅读 · 0 评论 -
k8s-namespace
1、namespace概述你可以认为namespaces是你kubernetes集群中的虚拟化集群。在一个Kubernetes集群中可以拥有多个命名空间,它们在逻辑上彼此隔离。他们可以为您和您的团队提供组织,安全甚至性能方面的帮助!2、“default” Namespace大多数的Kubernetes中的集群默认会有一个叫default的namespace。实际上,应该是3个:[root@master01 ~]# kubectl get namespaceNAME ST原创 2020-11-17 19:29:30 · 115 阅读 · 0 评论 -
k8s-Service
1、Service概述Service 是 Kubernetes 最核心概念,通过创建 Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上2、Service存在意义防止Pod失联(服务发现)定义一组Pod访问策略(负载均衡)3、Pod和Service关系spec: replicas: 1 selector: matchLabels: app: web strategy: {} template:原创 2020-11-17 19:28:42 · 74 阅读 · 0 评论 -
k8s-Pod
1、Pod概述Pod 是 k8s 系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在 k8s 上运行容器化应用的资源对象,其他的资源对象都是用来支 撑或者扩展 Pod 对象功能的,比如控制器对象是用来管控 Pod 对象的,Service 或者 Ingress 资源对象是用来暴露 Pod 引用对象的,PersistentVolume 资源对象是用来为 Pod 提供存储等等,k8s 不会直接处理容器,而是 Pod,Pod 是由一个或多个 container组成Pod原创 2020-11-17 19:27:46 · 125 阅读 · 0 评论 -
初识k8s
k8s基础了解IaaS(infrastructure as aservice) 基础设施级服务 -阿里云PaaS(platform as aservice) 平台级服务 -新浪云、dockerSaaS(software as a service) 软件设施级服务 -office365mesos Apache的开源协议 分布式资源管理框架 2019-5 Twitter转向k8sdocker swarm原创 2020-11-17 19:26:31 · 287 阅读 · 0 评论 -
初识docker
docker学习JavaEE java springmvc、springboot、mybatis…docker Go k8s、Jenkins…docker是什么一次封装,到处运行解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术docker三要素:镜像、容器、仓库docker能干嘛虚拟机缺点:资源占用多冗余步骤多启动慢docker和传统虚拟化方式的不同之处:传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行原创 2020-11-17 19:25:32 · 134 阅读 · 0 评论 -
k8s-kubectl命令行工具
kubectl命令行工具用法详解kubectl作为客户端CLI工具,可以让用户通过命令行的方式对Kubernetes集群进行操作kubectl用法概述:$ kubectl [command] [TYPE] [NAME] [flags](1)command:子命令,用于操作Kubernetes集群资源对象的命令,例如create、delete、describe、get、apply等。(2)TYPE:资源对象的类型,区分大小写,能以单数形式、复数形式或者简写形式表示。例如以下3种TYPE是等价原创 2020-11-17 19:24:09 · 338 阅读 · 0 评论 -
k8s集群资源编排(yaml文件)
1、YAML 文件概述k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也就是可以把需要对资源对象操作编辑到 YAML 格式文件中,我们把这种文件叫做资源清单文件,通过 kubectl 命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署。2、YAML 文件书写格式(1)YAML 介绍YAML :仍是一种标记语言。为了强调这种语言以数据做为中心,而不是以标记语言为重点。 YAML 是一个可读性高,用来表达数据序列的格式。(2)YAML 基本语法使用原创 2020-11-17 19:23:10 · 1699 阅读 · 0 评论 -
搭建k8s集群
搭建方式方式一、kubeadmkubeadm是一个k8s部署工具,提供kubeadm init和kubeadm join,用于快速部署k8s集群1、部署方式介绍1、创建一个master节点 kubeadm init2、将node节点加入到当前集群中 kubeadm join <master节点的IP和端口>2、安装要求1、一台或多台机器,操作系统为centos72、硬件配置:2GB或者更多RAM,两个CPU或更多CPU,硬盘30GB或者更多3、集群中所有机器之间网络互通原创 2020-11-17 19:19:19 · 152 阅读 · 1 评论 -
Docker和k8s的区别与介绍
Docker和k8s的区别与介绍https://www.cnblogs.com/misswangxing/p/10669444.htmlDocker技术的三大核心概念,分别是:镜像(Image)容器(Container)仓库(Repository)对Docker镜像进行管理的,是Docker Registry服务最常使用的Registry公开服务,是官方的Docker Hub,这也是默认的Registry,并拥有大量的高质量的官方镜像。K8S,就是基于容器的集群管理平台,它的全称,是ku原创 2020-11-17 19:17:03 · 4462 阅读 · 2 评论 -
docker-registry相关知识
私有仓库docker-registry一、关于registry:官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们自己的镜像。这个可以通过开源软件Registry来达成目的。Registry在github上有两份代码:老代码库和新代码库。老代码是采用python编写的,存在pull和push的性能问题,出到0.9.1版本之后就标志为deprecated,不再继原创 2020-09-07 17:38:29 · 1078 阅读 · 0 评论