hellowordx007
选择比努力更重要!
展开
-
Kubernetes_05_安装controller-manager与scheduler
安装 controller-manager(主控节点控制器)接着 上一章 ,继续安装主控节点控制器和调度器服务。在 192.168.1.180上执行创建controller-manager配置文件[root@k8s-180 conf]# pwd/opt/kubernetes/server/bin/conf[root@k8s-180 conf]# vim kube-controller-manager.conf### 配置内容如下: KUBE_CONTROLLER_MANAGER_OPTS="原创 2022-05-04 14:29:55 · 159 阅读 · 0 评论 -
Kubernetes_21_StorageClass+NFS
什么是StorageClassKubernetes提供了一套可以自动创建PV的机制,即:Dynamic Provisioning.而这个机制的核心在于:StorageClass这个API对象.StorageClass对象会定义下面两部分内容:1,PV的属性.比如,存储类型,Volume的大小等.2,创建这种PV需要用到的存储插件有了这两个信息之后,Kubernetes就能够根据用户提交的PVC,找到一个对应的StorageClass,之后Kubernetes就会调用该StorageClass声明的原创 2022-05-12 08:42:29 · 190 阅读 · 0 评论 -
Kubernetes_20_ PersistentVolume(PV) & PersistentVolumeClaim(PVC)
PV/PVMVolume里面在生产中用的最多的PersistentVolume(持久卷,简称PV)和 PersistentVolumeClaim(持久卷消费,简称PVC),通常在企业中,Volume是由存储系统的管理员来维护,他们来提供pv,pv具有持久性,生命周期独立于Pod;Pod则是由应用的开发人员来维护,如果要进行一卷挂载,那么就写一个pvc来消费pv就可以了,K8s会查找并提供满足条件的pv。有了pvc,我们在K8s进行卷挂载就只需要考虑要多少容量了,而不用关心真正的空间是用什么存储系统做的等原创 2022-05-12 08:41:50 · 308 阅读 · 0 评论 -
Kubernetes_19_使用Elastic Stack收集应用容器日志
背景介绍日志,对于任何系统来主都是及其重要的组成部分,在计算机系统里,更是如此,但由于现在的计算机系统比较复杂,很多系统都不是在同一个地方,甚至是跨国界的;即使是在一个地方的系统,也有不同的来源,比如,操作系统,应用服务,业务逻辑等。他们都在不停产生各种各样的日志数据。根据不完全统计,全球每天大约要产生2EB的数据。K8S 系统里的业务应用是高度“动态化”的,随着容器编排的进行,业务容器在不断的被创建、迁移、扩容等,想要统一管理这些日志,不能使用常规手段完成。面对如此海量的数据,又是分布在各个不同的地原创 2022-05-12 08:41:02 · 132 阅读 · 0 评论 -
Kubernetes_18 使用 kubectl远程管理k8s集群
介绍之前在配置主控节点时,kubectl 工具与 apiserver在同一节点上通讯,是使用的 http://127.0.0.1:8080进行通讯,不需要使用 https协议的6443端口,如果在kubectl与apiserver不在同一节点上,怎么通过kubectl 来和 apiserver通信呢??查看配置,什么也没有,kubectl 就是用 http://127.0.0.1:8080 和apiserver通讯[root@k8s-180 ~]# kubectl config viewapiVer原创 2022-05-12 08:39:43 · 663 阅读 · 0 评论 -
Kubernetes_17_应用程序连接mysql IP 分析
在 上一章节,我们部署了spring boot应用程序到 k8s集群中,该应用程序链接的是外置的 mysql(mysql没有安装在k8s集群中),对于mysql而言,应用程序是使用的哪个ip和mysql连接的呢?可以使用 mysql 命令查看 连接信息:mysql> SHOW PROCESSLIST;如上图可知,对于mysql而言,应用程序并不是使用 k8s容器中的 pod ip,而是k8s集群中的节点ip(192.168.1.183) ,这是因为 在 flannel 网络层对k8s 的po原创 2022-05-12 08:38:07 · 662 阅读 · 0 评论 -
Kubernetes_16 交付springboot应用程序
交付 spring boot 应用程序到k8s集群中假设有spring boot应用程序jar包,jar包名为 equipment-web.jar创建Dockerfile## [root@www equipment]# vim Dockerfile ## 基础镜像 kevin2099/openjdk:15.0.2-slim-base,构建方式参考: http://119.23.31.32/blog/article/detail/535975549458321410FROM kevin2099/op原创 2022-05-12 08:36:24 · 399 阅读 · 0 评论 -
Kubernetes_15_k8s交付jenkins并集成docker/k8s/java/maven环境
配置jenkins镜像并集成Docker环境在运维机执行[root@www jenkins]# pwd/opt/sortware/jenkins[root@www jenkins]# vim Dockerfile ## 配置Dockerfile 集成Docker环境FROM jenkins/jenkins:2.287USER rootADD kubectl /usr/bin/kubectlADD get-docker.sh /get-docker.shRUN /bin/cp /us原创 2022-05-07 08:33:43 · 206 阅读 · 0 评论 -
Kubernetes_14_NFS
NFS介绍Network File System 网络文件系统,基于内核的文件系统,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS优势 节省本地存储空间,将常用的数据,如/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用在K8s 集群中,因为pod 是不固定在,它可以在任意节点创建 、停止、销毁,为了保证pod变化后,每个pod都 能访问到存储数据,可以使用 NFS 将这些存储的公共数据挂载到K8s集群之外的某台服务器中原创 2022-05-07 08:25:44 · 130 阅读 · 0 评论 -
Kubernetes_13_Dashboard 安装
Dashboard地址: https://github.com/kubernetes/dashboard简介 Kubernetes Dashboard 是 Kubernetes 集群的基于 Web 的通用 UI。它允许用户管理在群集中运行的应用程序并对其进行故障排除,以及管理群集本身。资源清单创建 Dashboard RBAC 部署文件###[root@k8s-180 k8s-dashboard]# vim k8s-dashboard-rbac.yamlapiVersion: v1k原创 2022-05-07 08:23:40 · 129 阅读 · 0 评论 -
Kubernetes_12_部署Metrics Server 获取集群指标数据
Metrics Server 简介介绍 Metrics Server 前首先介绍下 Heapster,该工具是用于 Kubernetes 集群监控和性能分析工具,可以收集节点上的指标数据,例如,节点的 CPU、Memory、Network 和 Disk 的 Metric 数据。不过在 Kubernetes V1.11 版本后将被逐渐废弃。而 Metrics Server 正是 Heapster 的代替者。Metrics Server 是 Kubernetes 集群核心监控数据的聚合器,可以通过 Metr原创 2022-05-05 20:09:51 · 216 阅读 · 0 评论 -
Kubernetes_11_Ingress服务暴露
Ingress 服务暴露Ingress 是K8s API 的标准资源类型之一,也是一种核心资源,它其实就是一级基于域名和URL路径,把用户的请求转发至指定Service资源的规则。可以将集群外部的请求流量,转发到集群内部,从而实现服务暴露。说白了,Ingress就是个nginx +一段go 脚本而已。常用的Ingress 控制器实现:Ingress-nginxHAProxyTraefik : 这里使用这个作为服务暴露traefik 官网地址: https://doc.traefik.io原创 2022-05-05 20:08:55 · 457 阅读 · 0 评论 -
Kubernetes_10_coredns配置
Core DNS配置DNS 主要是为 Service 来提供名称解析的,可以在k8s集群中通过Service的名称做为hostname解析对应的ip,hostname的格式为: [Service Name].[namespace].svc.cluster.local. ,其中,最后的一个. 可以不要。下面为它的 Github 地址:https://github.com/kubernetes/kubernetes/blob/release-1.19/cluster/addons/dns/coredns/c原创 2022-05-05 20:07:39 · 420 阅读 · 0 评论 -
Kubernetes_09_kubectl 命令
kubectl 常用命令1、查看名称空间[root@k8s-180 conf]# kubectl get ns ##或者 kubectl get namespaceNAME STATUS AGEdefault Active 14hkube-node-lease Active 14hkube-public Active 14hkube-system Active 14h[root@k8s-180 c原创 2022-05-05 08:00:00 · 101 阅读 · 0 评论 -
Kubernetes_08_flannel 网络插件安装
CNI 网络插件部署CNI(Contaniner Network Interface)网络插件需要所有 Kubernetes Node 节点部署,因为 kubelet 和 kube-proxy 需要它。这里要确保 kubelet 启动时指定了 --network-plugin=cni,上面安装kubelet时在 /opt/kubernetes/server/bin/conf/kubelet.conf 中已经指定了 --network-plugin=cni下载 CNI 网络插件在(192.168.1.原创 2022-05-04 19:00:00 · 833 阅读 · 0 评论 -
Kubernetes_07_证书
使用 cfssl-certinfo 命令查看证书信息如下:通过这个命令,可以查看证书签发机构(subject.organization),和证书过期时间(not_after) 。可以知道 K8s集群中的证书需要在什么时候更新。[root@kevin certs]# cfssl-certinfo -cert apiserver.pem { "subject": { "common_name": "k8s-apiserver", "country": "CN", "organi原创 2022-05-04 14:40:13 · 174 阅读 · 0 评论 -
Kubernetes_06_安装运算节点服务kubelet与kubelet-proxy
接着 上一章 ,继续安装运算节点服务kubelet和运算节点服务kubelet-proxy。安装运算节点服务kubelet在 180上将 kubernetes 复制到 192.168.1.182/192.168.1.183/192.168.1.184[root@k8s-180 opt]# rsync -av /opt/kubernetes-1.19.8/ 192.168.1.182:/opt/kubernetes-1.19.8[root@k8s-180 opt]# rsync -av /opt/ku原创 2022-05-04 14:33:52 · 134 阅读 · 0 评论 -
Kubernetes_04_安装Nginx与keepalived
安装 Nginx 与 keepalived使用 Nginx做代理服务器, keepalived 做VIP高可用。安装 Nginx两台服务器(192.168.1.180和192.168.1.181)都安装[root@k8s-181 opt]# yum -y install nginx修改nginx配置,使用 7443代理 kube-apiserver中的 6443端口。[root@k8s-181 opt]# vim /etc/nginx/nginx.conf### 在最后加,不要加在 ht原创 2022-05-04 14:14:30 · 1236 阅读 · 0 评论 -
Kubernetes_03_安装apiserver
安装 apiserver上一章 安装完 etcd后,这节继续安装 apiserver。下载地址: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.19.md#server-binaries在 Server binaries 菜单下,根据自己的操作系统选择对应的版本,这里我选择的是 kubernetes-server-linux-amd64.tar.gz在 192.168.1.180上执行[root原创 2022-05-04 14:12:32 · 659 阅读 · 0 评论 -
Kubernetes_02_安装etcd
安装方式K8s安装方式有以下三种:Minikube 单机版,学习使用二进制安装,(新手强烈推荐)Kubeadmin安装,(老手可以使用)此文使用二进制方式安装安装前准备虚拟机 6台2 台master(192.168.1.180、192.168.1.181)3 台Node(192.168.1.182,192.168.1.183,192.168.1.184)1台运维主机(192.168.1.100)具体配置如下:IPHostname配置服务192.168.1.原创 2022-05-04 14:09:42 · 436 阅读 · 0 评论 -
Kubernetes_01_介绍
介绍官网: https://kubernetes.io/Github: https://github.com/kubernetes/kubernetes由来:谷歌开源的 Borg 系统,后经Go语言重写并捐给CNCF基金会开源。重要作用:开源的容器编排工具(生态极其丰富)学习的意义:解决裸跑docker的若干痛点。K8s优势:• 自动装箱,水平扩展,自我修复• 服务发现和负载均衡• 自动发布(默认滚动发布模式)和回滚• 集中化配置管理和密钥管理• 存储编排• 任务批处理支行K8s四原创 2022-05-04 14:08:17 · 456 阅读 · 0 评论