容器
文章平均质量分 73
风吹指间
这个作者很懒,什么都没留下…
展开
-
k8s之进程版部署
环境192.168.102.53 k8s-master etcd registry192.168.102.54 k8s-node1192.168.102.55 k8s-node2所有机器关闭防火墙和selinuxsystemctl stop firewalld.servicesystemctl disable firewalld.servicesystemctl status firewalld.servicesed -ir 's/^SELINUX=.*/SELINUX=disabled/'原创 2021-09-12 14:24:26 · 354 阅读 · 0 评论 -
docker使用
docker安装Centos YUM源中包含了docker,联网可以直接yum -y inastll docker安装,未联网需要安装docker-engine、docker-engine-selinux。启动docker:Systmctl start docker systemctl enable docker docker version`测试docker:docker run hello-world docker run -it hello-world bash在daoc原创 2021-08-28 15:00:58 · 172 阅读 · 0 评论 -
k8s之安全
机制说明Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介,也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的。Kubernetes 使用了认证(Authentication)、鉴权(Authorization)、准入控制(Admission Control)三步来保证API Server的安全。AuthenticationHTTP Token 认证:通过原创 2021-08-25 20:40:20 · 684 阅读 · 0 评论 -
k8s之集群调度
调度说明简介Scheduler 是 kubernetes 的调度器,主要的任务是把定义的 pod 分配到集群的节点上。听起来非常简单,但有很多要考虑的问题:公平:如何保证每个节点都能被分配资源资源高效利用:集群所有资源最大化被使用效率:调度的性能要好,能够尽快地对大批量的 pod 完成调度工作灵活:允许用户根据自己的需求控制调度的逻辑Sheduler 是作为单独的程序运行的,启动之后会一直坚挺 API Server,获取 PodSpec.NodeName 为空的 pod,对每个 pod 都会创原创 2021-08-25 17:10:23 · 397 阅读 · 0 评论 -
k8s之存储
configmapconfigMap 描述信息ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也可以用来保存整个配置文件或者 JSON 二进制大对象。ConfigMap 的创建使用目录创建:—from-file 指定在目录下的所有文件都会被用在 ConfigMap 里面创建一个键值对,键的名字就是文件名原创 2021-08-24 07:23:36 · 310 阅读 · 0 评论 -
k8s之service
service定义了一种逻辑分组,通过label来确定组中的pod,service支持四层负载均 衡调度,不支持7层调度。Service 的概念Kubernetes Service 定义了这样一种抽象:一个 Pod 的逻辑分组,一种可以访问它们的策略 —— 通常称为微服务。 这一组 Pod 能够被 Service 访问到,通常是通过 Label Selector。Service能够提供负载均衡的能力,但是在使用上有以下限制:只提供 4 层负载均衡能力,而没有 7 层功能,但有时我们可能需要更多的匹原创 2021-08-22 20:43:19 · 678 阅读 · 0 评论 -
k8s之资源控制器
ReplicationController 和 ReplicaSetReplicationController(RC)用来确保容器应用的副本数始终保持在用户定义的副本数,即如果有容器异常退出,会自动创建新的 Pod 来替代;而如果异常多出来的容器也会自动回收。在新版本的 Kubernetes 中建议使用 ReplicaSet 来取代 ReplicationController 。ReplicaSet 跟ReplicationController 没有本质的不同,只是名字不一样,并且 ReplicaSet原创 2021-08-22 17:52:57 · 266 阅读 · 0 评论 -
k8s之资源清单
K8s 中所有的内容都抽象为资源,资源实例化之后叫做对象命名空间级别:工作负载型资源( workload ): Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job、CronJob ( ReplicationController 在 v1.11 版本被废弃 )服务发现及负载均衡型资源( ServiceDiscovery LoadBalance ): Service(四层)、Ingress( 七层)、…配置与存储型资源: Volume( 存储卷 )、C原创 2021-08-21 11:25:09 · 546 阅读 · 0 评论 -
k8s之概念
特点:轻量级、开源、可移植、可扩展、负载均衡、高可用Pod概念:只要pod被启动,pod里面的pause容器就会被启动,其他的容器共享pause容器的网络和存储卷,使用的端口不能冲突。Pod是k8s进行创建、调度和管理的最小操作单元,pod相当于豆荚,容器相当于豆荚中的豆子,一个pod可以有一个或多个容器,pod运行在节点上,一个节点可以运行一个或多个pod。Pod ip:pod的IP地址Cluster IP:service IP地址的一种类型,service相当于pod副本的代理,相对于几原创 2021-08-21 09:43:15 · 104 阅读 · 0 评论 -
k8s之常用命令
Kubectl explain 资源对象 //查看资源的使用说明kubectl scale deployment nginx-deployment --replicas 10 //扩容kubectl autoscale deployment nginx-deployment --min=10 --max=15 --cpu-percent=80 //利用hpa自动扩容,指定的是容器所使用的资源,而不是节点所使用的资源kubectl set image deployment/nginx-deplo原创 2021-04-04 14:14:08 · 67 阅读 · 0 评论 -
k8s之部署helm以及自定义模板
GitHub地址:https://github.com/helm/helm/blob/master/docs/charts.md介绍在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式,支持发布的版本管理和控制,很大程度上简化了 Kubernetes 应用的部署和管理。Helm 本质就是让 K8s 的应用管(Deployment,Serv原创 2020-09-05 15:03:20 · 1298 阅读 · 0 评论 -
k8s之部署metrics-server
GitHub地址:https://github.com/kubernetes-sigs/metrics-server获取yaml文件:wget -O metricserver.yaml https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml修改metricserver.yaml:vim metricserver.yaml修改里面的args参数,添加- --kubelet-原创 2020-09-05 11:08:54 · 1197 阅读 · 0 评论 -
k8s之部署dashboard
GitHub地址:https://github.com/kubernetes/dashboard#获取yaml 文件wget -O dashboard.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml根据yaml文件中所需的镜像,事先拉取镜像安装dashboard:kubectl create -f recommended.yaml查询token以及其原创 2020-09-05 10:53:54 · 228 阅读 · 0 评论 -
k8s之部署EFK
代码托管在GitHub,地址为: https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearchmkdir /root/efk#获取六个文件放在efk中,fluentd-es-configmap.yaml、fluentd-es-ds.yaml、es-statefulset.yaml、 kibana-deployment.yaml、kibana-service.yaml、es-servi原创 2020-09-05 10:30:57 · 1360 阅读 · 1 评论 -
部署harbor私有仓库-企业级docker私有仓库
Harbor 官方地址::https://github.com/vmware/harbor/releases资源下载地址:https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz安装要求:Python应该是2.7或更高版本Docker引引擎应为1.10或更高版本DockerCompose需要为1.6.0或更高版本安装步骤安装dockeryum install原创 2020-09-04 15:58:53 · 251 阅读 · 0 评论 -
k8s之高可用集群部署
初始化系统所有服务器初始化节点,在之前部署k8s有提到,这里不做赘述,请参考https://blog.csdn.net/weixin_43757555/article/details/108142265初始化完成后关闭 NUMAcp /etc/default/grub{,.bak}vim /etc/default/grub # 在 GRUB_CMDLINE_LINUX 一行添加 `numa=off` 参数,如下所示:< GRUB_CMDLINE_LINUX="crashkernel=aut原创 2020-09-03 18:15:32 · 337 阅读 · 0 评论 -
k8s之prometheus,资源限制
Prometheus代码托管在github地址:https://github.com/coreos/kube-prometheus部署prometheusgit clone https://github.com/coreos/kube-prometheus.gitcd /root/kube-prometheus/manifests修改 grafana-service.yaml 文件,使用 nodepode 方式访问 grafanaapiVersion: v1kind: Servicemet原创 2020-09-02 21:09:03 · 1121 阅读 · 0 评论 -
k8s的node节点cni0接口无法与其他节点通信
问题描述: k8s集群中有一个master节点和两个node节点,其中一个node1节点能够与master节点正常通信,创建的pod也可以正常访问。但是另外一个node2节点cni0接口与其他两个节点都无法通信,创建的pod也无法访问,ping 10.244.0.0无法ping通。最开始master节点和node1节点的网络都没有问题,创建的pod都能够访问,则认为node2节点的cni0接口出现了问题,于是使用ip link set cni0 down;brctl delbr cni0删除cni0接口原创 2020-08-25 14:41:36 · 4352 阅读 · 0 评论 -
k8s集群之容器方式部署
容器方式部署k8s集群初始化系统环境k8s1 192.168.138.162 k8s2 192.168.138.163k8s3 192.168.138.164设置系统主机名以及 Host 文件的相互解析分别给三台主机设置主机名为:k8s1、k8s2、k8s3添加三台主机hosts相互解析vim /etc/hosts192.168.138.162 k8s1192.168.138.163 k8s2192.168.138.164 k8s3安装依赖包和常用工具yum install -y原创 2020-08-21 10:49:00 · 1471 阅读 · 0 评论