亲和性,调度
在k8s上扩展资源类型的方式有三种:第一种是CRD,CRD是k8s内建的资源类型,该类型资源主要用来创建用户自定义资源类型的资源;即通过CRD资源,可以将用户自定义资源类型转换为k8s上资源类型;第二种是自定义apiserver;这种方式要比第一种方式要复杂一点,需要用户手动开发程序实现对应功能的apiserver,让其用户创建自定义类型资源能够通过自定义apiserver实现;第三种方式就是修改
CPU: 我们知道2核2线程的CPU,可被系统识别为4个逻辑CPU,在K8s中对CPU的分配限制是对逻辑CPU做分片限制的。也就是说分配给容器一个CPU,实际是分配一个逻辑CPU。而且1个逻辑CPU还可被单独划分子单位,即 1个逻辑CPU,还可被划分为1000个millicore(毫核), 简单说就是1个逻辑CPU,继续逻辑分割为1000个豪核心。 豪核:可简单理解为将CPU的时间片做逻辑分割
controller.gopackage mainimport ( "context" "fmt" "strconv" "time" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" utilruntime "k8s.io/apimachinery/pkg/u
命令补全yum install -y bash-completionsource /usr/share/bash-completion/bash_completionsource <(kubectl completion bash)echo "source <(kubectl completion bash)" >> ~/.bashrc常用命令#查看所有namespace的
一个集群系统管理离不开监控,同样的Kubernetes也需要根据数据指标来采集相关数据,从而完成对集群系统的监控状况进行监测。这些指标总体上分为两个组成:监控集群本身节点资源状态:主要包括网络带宽、磁盘空间、CPU和内存使用率节点的数量:即时性了解集群的可用节点数量可以为用户计算服务器使用的费用支出提供参考。运行的Pod对象:正在运行的Pod对象数量可以评估可用节点数量是否足够,以及节点故障时是否
今天讲讲kubernets网络模型,首先先来看pod通信原理.在容器启动前,会为容器创建一个虚拟Ethernet接口对,这个接口对类似于管道的两端,其中一端在主机命名空间中,另外一端在容器命名空间中,并命名为eth0。在主机命名空间的接口会绑定到网桥。网桥的地址段会IP赋值给容器的eth0接口。pod通信有的基于overlay网络实现,有的基于vxlan实现,vxlan 全称是 Virtual e
Pod的生命是有限的,如果Pod重启或者worker节点宕机都会触发pod重建导致IP地址变化,如果写死会导致服务不可用,所以我们需要一个概念:服务发现。通过,Consul,ZooKeeper还有我们熟悉的etcd等工具,只需要把我们的服务注册到这些服务发现中心去就可以,然后让这些工具动态的去更新Nginx的配置就可以了,我们完全不用去手工的操作了。那么服务发现的方式有哪些呢?ClusterIP:
Kubernets自1.2版本开始支持批处理类型应用,也就是说我们可以通过kubernets job资源对象定义并启动一个批处理任务。批处理任务通常并行或者串行启动多个计算进程去处理一批work item。因为实现方式的不同,所以批处理任务分为以下几种:1.Non-parallel jobs字面意思非并发job,Job启动后,只运行一个pod,pod运行结束后整个Job也就立刻结束。apiVers
deployment本身三兄弟,还有两个兄弟分别是replicationcontroller,replica set。由于k8s本身的发展,首先官方建议使用RS(Replicaset)替代RC(ReplicationController)进行部署,RS跟RC没有本质的不同,只是名字不一样,并且RS支持集合式的 selector。然后发展为Deployment:为Pod 和Replicaset 提供
容器部署过程中一般有以下三种数据: 启动时需要的初始数据,可以是配置文件启动过程中产生的临时数据,该临时数据需要多个容器间共享启动过程中产生的持久化数据我们希望容器重启可以保存以上类型的数据,所以存储卷就必须使用,那么应对以上不同类型需求,我们使用什么类型存储卷呢?volumes:启动依赖数据:configmap secret 临时存储数据:emptyDir hostPath持久化数据:nfs c
准备完整的写一套关于kubernets的详细学习介绍。就先从pod开始吧。pod是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。pod简单来说就是docker中共享空间的一组容器,它本身基于linux namespace和cgroup隔离。一般我们很少单独去创建一个pod,都是通过负载资源去创建的,例如DeploymentStatefulSetDaemo
1、登陆数据库2、切换用户和库 c\ harbor #切换用户c\ - registory #切换库3、执行清表命令TRUNCATE TABLE project_blob;完成后即可对harbor pod进行副本的增加。 也可用pgAmin 登陆清表1、 登陆2、 找到对应的registry数据库,右
docker-compose 部署harbor,开启https,自签证书
环境准备 节点信息 hostname ip role etcd k8s-master01 192.168.10.101 master etcd-node01 k8s-node01 192.168.10.102 node etcd-node02 k8s-node02 192.168.10.103 node etcd-node03 各节点配置 # 关闭SELinux setenforce 0 se
k8s命令部分
6.Harbor配置6.1.harbor01节点1.修改harbor.cfgcat>/root/harbor/harbor.cfg<<-'EOF'_version=1.5.0hostname=reg.xgmin.comui_url_protocol=httpsmax_job_workers=50customize_crt=offssl_cert=/data/cer
1.基础设置1.1.拓扑图2Harbor1.4.0版本开始提供了HA部署方式,和非HA的主要区别就是把有状态的服务分离出来,使用外部集群,而不是运行在本地的容器上。而无状态的服务则可以部署在多个节点上,通过配置上层LoadBalancer构成HA。1.2.主机角色主机角色IP地址操作系统备注harbor0110.7.132.243linux7安装docker-ce、redis、postgresql
一.k8s部署1.各节点安装kubectl,kubelet,kubeadm,需要通过yum安装,所以还是先配置yum源。cat/etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64e
本系列主要讲解centos7系统下的k8s集群部署
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号