Kubernetes
文章平均质量分 53
世界,你好
Hello World
展开
-
(二十五)Kubernetes -- 详解pod (3 端口设置)
1. ports支持的子选项ports: //容器需要暴露的端口号列表 - name: String //端口的名称 containerPort: int //容器要暴露的端口 hostPort: int //容器所在主机监听的端口(容器暴露端口映射到宿主机的端口),默认与containerPort相同,设置hostPort时,同一台主机将无法启动该容器的第二个副本 protocol: String原创 2021-04-18 10:12:52 · 2018 阅读 · 0 评论 -
(二十四)Kubernetes -- 详解pod (2 基本配置)
本小节主要来研究pod.sepc.containers属性,这也是pod配置中最为关键的一项配置。使用命令查看解释:kubectl explain pod.spec.containers基本配置:创建一个配置pod-base.yaml文件rsion: v1kind: Podmetadata: name: pod-base namespace: devspec: containers: - name: nginx image: nginx:1.17.1 imag原创 2021-03-13 15:38:00 · 391 阅读 · 0 评论 -
(二十三)Kubernetes -- 详解pod (1 结构和定义)
本节详细介绍pod资源的各种配置(yaml)和管理。pod结构每个pod都可以包含一个或者多个容器,这些容器可以分为两类:1.用户程序所在的容器,数量可多可少 2.pause容器,这是每个pod都会有的一个根容器,它的作用是两个,一个是可以根据它作为依据,评估整个pod的健康状态,二是在根容器上设置ip地址,其他容器共享此ip(Pod Ip)来是实现pod内部的网络通信,这里是pod内部的通信,pod的之间的通讯采用虚拟二层网络技术来实现,我们当前环境用的是flannel。yaml配置文件详解ap原创 2021-02-28 21:19:56 · 522 阅读 · 0 评论 -
(二十二)Kubernetes -- Service
一、概念通过之前的学习, 已经可以通过deployment来创建一组pod来提供具有高可用性的服务。虽然每个pod都会分配一个ip,然而都存在以下问题:1)pod ip会随着pod的重建而变化2)pod ip仅仅是集群内可见的虚拟ip,外部都无法访问这样对于访问这个服务带来了难度,因此,kubernetes设计里service来解决这个问题。service可以看作是一组同类pod对外的访问接口,借助service,应用可以方便的实现服务发现和负载均衡。一个请求过来先到达service,serv原创 2021-02-28 15:41:25 · 178 阅读 · 0 评论 -
(二十一)Kubernetes实战入门 -- Deployment
一、概念在kubernetes中,pod是最小的控制单元,但是kubernetes很少直接控制pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod。在kubernetes中Pod控制器的种类有很多,本章只介绍一种:Deployment。二、操作命令操作#命令格式: kuberctl run deployment名称 [参数]#--image 指定pod镜像#--port 指定端口#--na原创 2021-02-27 21:28:25 · 383 阅读 · 0 评论 -
(二十)Kubernetes实战入门 -- Label
一、概念label是kubernetes中一个重要概念,它的作用是在资源上添加标识,用来对他们进行区分和选择。label的特点:1)一个label会以key/value键值对的形式附加到各种对象上,如Node、Pod、Service等2)一个资源对象可以定义任意数量的label,同一个label也可以被添加到任意数量的资源对象上去3)label通常在资源对象定义时确定,当然也可以在对象创建后动态添加或者删除。二、label selector可以通过标签实现资源的多维度分组,以便灵活、方便的进原创 2021-02-27 18:33:00 · 683 阅读 · 0 评论 -
(十九)Kubernetes实战入门 -- Pod
一、概念pod是kubernetes集群进行管理的最小单元,程序要运行必须部署在容器中,而容器必须存在于pod中,pod可以认为是容器的封装,一个pod中可以存在一个或者多个容器。在kubernetes集群启动之后,集群中的组件也是以pod的方式运行的,可以通过一下命令查看:kubectl get pod -n kube-system二、pod使用kubernetes中没有提供单独运行pod的命令,都是通过pod控制器来实现的#命令格式:kubectl run (pod控制器名称)原创 2021-02-27 15:50:51 · 204 阅读 · 0 评论 -
(十八)Kubernetes实战入门 -- Namespace
一、NameSpace概念Namespace是kubernetes系统中的一一种非常重要的资源,他的主要作用是来实现多套环境的资源隔离或者多租户的资源隔离。默认情况下,kubernetes集群中的所有pod都是可以互相访问的。但是在实际中,可能不想让两个pod之间进行互相的访问,那么此时就可以加个两个pod划分到不同的namespace下,kubernetes通过将集群内部的资源分配到不同而namespace中,可以形成逻辑上的“组”,以方便不同的组的资源进行隔离使用和管理。可以通过kubernet原创 2021-02-27 13:49:25 · 360 阅读 · 0 评论 -
(十七)Kubernetes资源管理
一、资源管理方式资源管理方式有三种:#命令式对象管理:直接用命令操作kubernetes资源kubectl run nginx --image=nginx:1.17.1 --port=80#命令式对象配置:通过命令配置和配置文件去操作kubernetes资源kubectl cteate/patch -f nginx-pod.yaml#声明式对象配置:通过apply命令和配置文件去操作kubernetes资源kubectl apply -f nginx-pod.yaml1. 命令式对象管理原创 2021-02-20 10:43:06 · 219 阅读 · 0 评论 -
(十六)Kubernetes集群环境搭建 -- 环境测试
在kubernetes集群中部署一个nginx程序,测试下集群是否正常工作#部署nginxkubectl create deployment nginx --image=nginx:1.14-alpine#暴露端口kubectl expose deployment nginx --port=80 --type=NodePort#查看服务状态kubectl get pods,svc输入地址测试nginx:》》》博主长期更新学习心得,推荐点赞关注!!!》》》若有错误之处,请在评.原创 2021-02-19 14:08:06 · 240 阅读 · 1 评论 -
(十五)Kubernetes集群环境搭建 -- 网络插件安装
kubernetes支持多种网络插件,比如:flannel、calico、canal,任意选一种即可, 本次选中flannel下面操作只在master上执行, 插件的使用时DaemonSet的控制器,他会在每个节点上都运行#获取flannel的配置文件,网络无法获取,这里粘贴出来---apiVersion: policy/v1beta1kind: PodSecurityPolicymetadata: name: psp.flannel.unprivileged annotations.原创 2021-02-19 13:54:58 · 369 阅读 · 0 评论 -
(十四)Kubernetes集群环境搭建 -- 集群安装
准备集群镜像参考博客在安装kubernetes集群之前,必须提前准备好所需的镜像,所需镜像可以通过以下命令查看kubeadm config images list下载镜像#此镜像在kubernets的仓库中,由于网络原因,无法连接,下面提供一种替代方案images=( kube-apiserver:v1.17.4 kube-controller-manager:v1.17.4 kube-scheduler:v1.17.4 kube-proxy:v1.17..原创 2021-02-19 08:22:35 · 255 阅读 · 0 评论 -
(十三)Kubernetes集群环境搭建 -- 安装kubernetes组件
由于kubernetes的镜像在过载,速度比较慢,这里切换成和国内的镜像#编辑/etc/yum.repos.d/kubernetes.repo添加如下配置cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/enabled.原创 2021-02-19 07:30:20 · 225 阅读 · 1 评论 -
(十二)Kubernetes集群环境搭建 -- 安装docker
0.前提:要求系统为64位、系统内核版本为3.10.0及以上。通过 uname -r 命令查看你当前的内核版本。通过sudo yum update确保 yum 包更新到最新安装依赖包(yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的) sudo yum install -y yum-utils device-mapper-persistent-data lvm2 设置阿里云镜像源 yum-config-manager --原创 2021-02-19 07:05:14 · 180 阅读 · 0 评论 -
(十一)Kubernetes集群环境搭建 -- 环境初始化
环境初始化检查操作系统的版本此方式安装kubernetes集群要求centos版本在7.5或之上, 执行下面命令查看cat /etc/redhat-release主机名解析为了方便后面集群节点间的直接调用,再这配置一下主机名解析,企业中推荐使用内部DNS服务器编辑三台主机/etc/hosts文件,添加如下内容:192.168.109.100 master192.168.109.101 node1192.168.109.102 node2时间同步kubernetes要求集原创 2021-02-18 19:36:32 · 241 阅读 · 0 评论 -
(十)Kubernetes集群环境搭建 -- 虚拟机创建和网络配置
node节点安装同上,知识节点的ip需要改为101 和 102》》》博主长期更新学习心得,推荐点赞关注!!!》》》若有错误之处,请在评论区留言,谢谢!!!原创 2021-02-18 15:33:59 · 397 阅读 · 1 评论 -
(四)Kubernetes网络通讯方式
一、网络通讯模式kubernetes的网络模型假定了所有pod都在一个直接连通的扁平的网络中,这在GCE里面是现成的网络模型,kubernetes假设这个网络已经存在。而在私有云里搭建kubernetes集群,就不能假定这个网络已经存在了。我们需要自己实现这个网络假设,将不同节点上的docker 容器之间的互相访问先打通,然后运行kubernetes。同一个pod的多个容器之间:lo各个pod之间的通讯:overlay networkpod和service之间的通讯:各个节点的iptables规则原创 2021-02-17 14:05:49 · 218 阅读 · 0 评论 -
(三)Kubernetes组件pod
一、pod概念自主式pod:一旦死亡 不会进行拉起控制器管理的pod:死亡后 控制器进行拉起pod:一个pod里面可能有多个容器运行pause(跑死),容器共用pause的网络站,共用pause的存储卷,进程不会进行隔离;二、控制器1、replicationcontroller :用来保证容器应用的副本数始终保持在用户定义的副本数,如果有容器异常退出,会创建新的pod来代替;如果异常多出来的容器也会被自动回收在新版版的kubernetes中建议使用replicaset来代替replica原创 2021-02-17 13:47:48 · 253 阅读 · 0 评论 -
(二)Kubernetes组件说明
一、borg架构BorgMaster负责所有请求的分发,整个集群的大脑; 真正工作的是Borgerlet。BorgMaster有很多的副本,最好是大于1的奇数。borgcfg、command-linetools、web browsers是访问方式,文件访问、命令行访问、浏览器访问。scheduler调度器,将数据库写入Paxos(键值对系统)。二、K8s架构红框相当于masterscheduler:负责接收任务,选择合适的节点进行分配任务,把任务交给api server,有api写入数据到etc原创 2021-02-16 15:03:29 · 198 阅读 · 2 评论 -
(一)Kubernetes介绍
一. 发展经历platform as a service 平台即服务的平台PaaS是(Platform as a Service)的缩写,是指平台即服务。 把服务器平台作为一种服务提供的商业模式,通过网络进行程序提供的服务称之为SaaS(Software as a Service),而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS(Platform as a Service)。所谓PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是S原创 2021-02-16 14:16:00 · 263 阅读 · 0 评论