k8s dev】的更多相关文章

0. install golang 1.9.1 https://golang.org/doc/install 1. development.md https://github.com/kubernetes/community/blob/master/contributors/devel/development.md 2. 配置国内的docker源 http://www.jianshu.com/p/34d3b4568059 3. Unable to find image 'gcr.io/googl…
对于部署在云端的K8S容器编排系统,可以先通过SSH远程登录到K8S所在主机,然后运行kubectl命令工具来控制K8S服务系统.然而,先SSH登录才能远程访问的二阶段方式,对于使用Linux桌面或者macOS桌面的同学来说,Kubectl运行环境脱离了本地桌面环境,感觉到使用不方便,心情不爽. 下面介绍一种从本地桌面远程直接访问和控制云端K8S服务器的方法,有助于恢复愉快心情.该方法对于Windows桌面也适用,只不过本地文件路径不同,需要作适当修改. 一.kubectl远程访问控制原理  …
使用Docker快速部署Ceph集群 , 然后使用这个Ceph集群作为Kubernetes的动态分配持久化存储. Kubernetes集群要使用Ceph集群需要在每个Kubernetes节点上安装ceph-common 1. 为kubernetes创建一个存储池 # ceph osd pool create k8s 128 pool 'k8s' created 2. 创建用户 # ceph auth add client.k8s mon 'allow rx' osd 'allow rwx poo…
一.问题 /dev/shm在/etc/fstab中挂载,对应tmpfs,实际使用的是内存的空间.默认情况下,/dev/shm为物理内存大小的一半. 在Kubernetes上跑docker,发现/dev/shm太小,只有64M,想要扩容.却扩容失败 二.分析 Kubernetes不支持这操作.默认64M 三.解决方案 在/dev/shm下建个空文件夹,并将medium设置为Memory spec: volumes: - name: dshm emptyDir: medium: Memory con…
    只有nfs和rbd的,本人翻译确实很渣         在容器中磁盘文件寿命是短暂的,当在容器中运行一些重要程序时,这会产生一些问题. 首先,当一个容器崩溃后,kubelet将重新启动该容器,但是文件将会丢失 - 容器将会以最初的状态启动. 第二,当在一个Pod中运行多个容器的时候,它需要在多个容器中共享文件. k8s的Volume就是为了解决这些问题     Background   Docker也有  volumes的概念, 尽管它点失败和缺乏有效的管理. 在Docker里, 一个v…
这个文档描述当前在k8s中PersistentVolumes的使用. 我们建议和volume一起进行了解   Introduction     管理存储和管理计算是截然不同的问题. 持久存储子系统对用户和管理者提供了API, 通过这API, 你可以了解存储是如何提供的,是如何消耗的,为了达到这样的效果,我们将介绍两个新的API:PersistenVolume和PersistenVolumeClaim     一个 PersistenVolume(PV)是一块在集群中被管理员划定好的网络存储,它就…
1. 提前条件 安装k8s 集群 2.  dns  安装配置 安装方式: 使用controller  service controller  脚本: 基于官方改动 apiVersion: v1 kind: ReplicationController metadata: name: kube-dns-v8 namespace: kube-system labels: k8s-app: kube-dns version: v8 kubernetes.io/cluster-service: "true…
总体流程: 在开发机开发代码后提交到gitlab 之后通过webhook插件触发jenkins进行构建,jenkins将代码打成docker镜像,push到docker-registry 之后将在k8s-master上执行rc.service的创建,进而创建Pod,从私服拉取镜像,根据该镜像启动容器 在第四十三章 微服务CICD(5)- gitlab + jenkins + docker中,实现了前两步.本节实现第三步 一.打通jenkins与k8s-master两台机器之间的ssh无密码访问…
DNS (domain name system),提供域名解析服务,解决了难于记忆的IP地址问题,以更人性可读可记忆可标识的方式映射对应IP地址. Cluster DNS扩展插件用于支持k8s集群系统中各服务之间发现与调用. 组件: •SkyDNS 提供DNS解析服务 •Etcd 存储DNS信息 •Kube2sky 监听kubernetes,当有Service创建时,生成相应的记录到SkyDNS. 本文章的实验环境与<k8s入门系列之集群安装篇>介绍中一致.master(1) + node(4…
1. 引言 断断续续,感觉这个系列又要半途而废了.趁着假期,赶紧再更一篇,介绍下如何将eShopOnContainers部署到K8S上,进而实现大家常说的微服务上云. 2. 先了解下 Helm 读过我上篇文章ASP.NET Core 借助 K8S 玩转容器编排的同学,想必对K8S有了个大致了解.K8S引入了Pod.Service.ReplicationSet等概念,来简化容器的编排工作.然而,发布一个应用,依旧很繁琐,比如要定义Pod,要关心如何暴露Service,如何自动伸缩.更不用说一个包括…
一般在公司部署或者真实环境部署k8s平台,很有可能是内网环境,也即意味着是无法连接互联网的环境,这时就需要离线部署k8s平台.在此整理离线部署k8s的步骤,分享给大家,有什么不足之处,欢迎指正. 1.准备环境 这次离线部署k8s的版本为v1.10.1,同时docker的版本为17.12.0-ce,不过本文章不介绍如何离线部署docker,如果大家要看的话,可以看本人之前写的文章<CentOS7离线部署docker> 本人准备的环境是3台虚拟机,也即1台master节点,2个node节点,ip及…
k8s经典实战—搭建WordPress说明:需要在k8s上部署lnmp环境,建议跟着步骤来端口最好不要改,希望你也能搭建成功,完成这个搭建后你对Kubernetes的技术基本上是入门了.首先看下效果图: 一.部署存储用户持久化存储 1. 准备一块100G磁盘做为LVM逻辑卷(参考:https://www.cnblogs.com/Dev0ps/p/9381244.html) fdisk -l fdisk /dev/vdb mkdir /u01 pvcreate /dev/vdb1 vgcreate…
持续集成之应用k8s自动部署 Intro 上次我们提到了docker容器化及自动化部署,这仅仅适合个人项目或者开发环境部署,如果要部署到生产环境,必然就需要考虑很多因素,比如访问量大了如何调整部署,如何更好的应对大并发的情况,如何不停机更新应用,如果想要将Docker应用于具体的业务实现,是存在困难的--编排.管理和调度等各个方面,都不容易.于是,人们迫切需要一套管理系统,对Docker及容器进行更高级更灵活的管理,于是 k8s 就出现了. K8S,就是基于容器的集群管理平台,它的全称,是kub…
1.hostname “master” could not be reached在host中没有加解析 2.curl -sSL http://localhost:10248/healthzcurl: (7) Failed connect to localhost:10248; 拒绝连接 在host中没有localhost的解析 3.Error starting daemon: SELinux is not supported with the overlay2 graph driver on t…
下面使用kubeadm来创建k8s cluster1. 所有主机节点上都需要安装docker # sudo apt-get update # sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common # curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt…
1docker版本 docker 17.09 https://docs.docker.com/ appledeAir:~ apple$ docker version Client: Docker Engine - Community Version:           18.09.0 API version:       1.39 Go version:        go1.10.4 Git commit:        4d60db4 Built:             Wed Nov …
经典案例复盘——运维专家讲述如何实现K8S落地 背景介绍 运满满自开始微服务改造以来,线上线下已有数千个微服务的 Java 实例在运行中.这些 Java 实例部署在数百台云服务器或虚机上,除少数访问量较高的关键应用外,大部分实例均混合部署. 这些实例的管理,采用自研平台结合开源软件的方式,已实现通过平台页面按钮菜单执行打包.部署.启动.停止以及回滚指定的版本等基本功能,取得了不错的效果.但仍然存在如下几个痛点: 实例间资源隔离,尤其在高峰期或故障期间,单服务器上不同实例间 CPU 和内存资源的争…
背景 近来在研究k8s,学习到pv.pvc .storageclass的时候,自己捣腾的时候使用nfs手工提供pv的方式,看到官方文档大量文档都是使用storageclass来定义一个后端存储服务, 使用pvc来自动申请pv, 所以花了点时间研究了下glusterfs配合heketi如果为k8s动态提供存储. 环境 主机名 ip地址 角色 备注 master 192.168.16.10 k8s-master,glusterfs,heketi  heketi只需要一个节点部署就可以了. node0…
重要概念 1. cluster cluster是 计算.存储和网络资源的集合,k8s利用这些资源运行各种基于容器的应用. 2.master master是cluster的大脑,他的主要职责是调度,即决定将应用放在那里运行.master运行linux操作系统,可以是物理机或者虚拟机.为了实现高可用,可以运行多个master. 3.node node的职责是运行容器应用.node由master管理,node负责监控并汇报容器的状态,同时根据master的要求管理容器的生命周期.node运行在linu…
前言: 2018年12月6日 今天终于把k8s运行tomcat打通了,耗了我几天时间一个一个坑踩过来,不容易啊,废话不多说. 先记录一些操作时的错误: <<<<<<<<<<<第一个创建资源对象一直为ContainerCreating大坑<<<<<<<<<<<<<<<<< 1.kubectl create -f xxx.yaml在创建资源对象…
转载自 https://blog.csdn.net/real_myth/article/details/78719244 什么是kubernetes 首先,他是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性. Kubernetes是一个完备的分布式系统支撑平台,具有完备的集群管…
安装VMWare VMWare官网地址 点击下载-->WorkStation Pro-->点击linux免费试用版 下载安装完成后,创建一个虚拟机,去centos官网找到centos7iso镜像并下载 值得一提的地方: “软件选择”不要选择“最小安装”,建议选择最后一个“开发及生产工作站”.安装位置选择默认自动分区,禁用Kdump,打开网络,让你的虚拟机可以连接到互联网 配置环境 基本的安装完成后就需要配置一些我们基础的环境了,首先我们要关闭图形化界面,因为我们会用到多个虚拟机,开图形化界面会…
可以使用高级调度分为: 节点选择器: nodeSelector.nodeName 节点亲和性调度: nodeAffinity Pod亲和性调度:PodAffinity Pod反亲和性调度:podAntiAffinity nodeSelector, nodeName cd; mkdir schedule; cd schedule/ vi pod-demo.yaml # 内容为 apiVersion: v1 kind: Pod metadata: name: pod-demo labels: app…
NetworkPolicy是kubernetes对pod的隔离手段,是宿主机上的一系列iptables规则. Egress 表示出站流量,就是pod作为客户端访问外部服务,pod地址作为源地址.策略可以定义目标地址或者目的端口 Ingress 表示入站流量,pod地址和服务作为服务端,提供外部访问.pod地址作为目标地址.策略可以定义源地址和自己端口 官网 https://docs.projectcalico.org/v3.1/getting-started/kubernetes/ 我们这里使用…
kubernetes网络通信方式有: 容器间的通信 : pod内的容器通信 通过(lo)设备 Pod之间的通信 :pod IP <-----> pod IP ,K8S 要求所有的 pod 都必须直接通信 Pod与Service之间的通信 :podIP <-----> ClusterIP Service与集群外部的通信 ClusterIP <-----> 集群外部 CNI插件: flannel calico canel kube-route 解决方案: 虚拟网桥 多路复用…
十几年前就有一些公司开始践行服务拆分以及SOA,六年前有了微服务的概念,于是大家开始思考SOA和微服务的关系和区别.最近三年Spring Cloud的大火把微服务的实践推到了高潮,而近两年K8S在容器编排的地位确定之后大家又开始实践起以K8S为核心的云原生思想和微服务的结合如何去落地,2018年又多出一个ServiceMesh服务网格的概念,大家又在思考如何引入落地ServiceMesh,ServiceMesh和K8S以及Spring Cloud的关系如何等等. 确实有点乱了,这一波又一波的热潮…
今天给同事 一个k8s 集群 出现not ready了 花了 40min 才搞定 这里记录一下 避免下载 再遇到了 不清楚. 错误现象:untime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized 解决办法: docker pull quay.io/coreos/flann…
一.环境介绍 [root@k8s-m ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.31.250.152 k8s-m172.31.250.153 node1172.31.250.154 node2 [root…
写给想入门kubernetes的同学们 # 系统版本 [root@master ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_CO…
参考链接:https://github.com/opsnull/follow-me-install-kubernetes-cluster kubernetes 概述 1.kubernetes 是什么 Google2014年推出的容器集群管理系统 k8s用于容器化应用程序的部署.扩展和管理 k8s提供了容器编排.资源调度.弹性伸缩.部署管理.服务发现等一系列功能 k8s的目标是让部署容器化应用简单高效 总结:可以理解成一个容器平台.微服务平台(非常适合微服务架构).便携式云平台 2.keberne…