Docker容器+k8s
文章平均质量分 85
Kubernetes是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式的完备的分布式系统开发和支撑平台。
Tuki_a
这个作者很懒,什么都没留下…
展开
-
Kubernetes(k8s)之k8s高可用负载均衡集群(haproxy+pacemaker实现负载均衡+高可用)
搭建k8s-master端集群,实现master端的高可用;通过haproxy实现k8s-master集群的负载均衡;再通过pacemaker实现haproxy的高可用。原创 2021-08-28 19:14:41 · 3418 阅读 · 1 评论 -
Kubernetes(k8s)之在集群环境部署Prometheus(普罗米修斯监控)和集群的ui管理工具Grafana
PrometheusPrometheus演示环境部署Prometheus和Grafana测试PrometheusPrometheus是一个开源系统监控和警报工具包。现在是一个独立的开源项目,独立于任何公司进行维护。Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docke。Prometheus 将其指标收集并存储为时间序列数据,即指标信息与原创 2021-08-08 14:46:26 · 2091 阅读 · 0 评论 -
Kubernetes(k8s)之Helm的web UI界面管理应用kubeapps
[root@server2 helm]# cd kubeapps/[root@server2 kubeapps]# lsChart.lock charts Chart.yaml crds README.md templates values.schema.json values.yaml[root@server2 kubeapps]# vim values.yaml [root@server2 postgresql]# cd ..[root@server2 cha...原创 2021-08-08 11:03:35 · 1502 阅读 · 1 评论 -
Kubernetes(k8s)之HPA
Horizontal Pod Autoscaler 可以根据 CPU 利用率自动扩缩 ReplicationController、 Deployment、ReplicaSet 或 StatefulSet 中的Pod 数量 (也可以基于其他应用程序提供的度量指标,目前这一功能处于 beta 版本即测试版本)。原创 2021-08-08 09:54:10 · 1242 阅读 · 0 评论 -
Kubernetes(k8s)之k8s的应用的包管理工具Helm
Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。原创 2021-08-07 17:27:37 · 450 阅读 · 0 评论 -
在linux系统上部署Prometheus(普罗米修斯监控)
PrometheusPrometheus准备环境部署Prometheus测试PrometheusPrometheus是一个开源系统监控和警报工具包。现在是一个独立的开源项目,独立于任何公司进行维护。Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docke。Prometheus 将其指标收集并存储为时间序列数据,即指标信息与记录的时间戳一起原创 2021-08-06 23:34:16 · 4130 阅读 · 1 评论 -
Kubernetes(k8s)之部署让k8s图形化的Dashboard
Dashboard可以给用户提供一个可视化的 Web 界面来查看当前集群的各种信息。用户可以用 Kubernetes Dashboard 部署容器化的应用、监控应用的状态、执行故障排查任务以及管理 Kubernetes 各种资源。kubectl describe secret kubernetes-dashboard-token-lkfgs -n kubernetes-dashboardapiVersion: rbac..原创 2021-08-05 17:25:13 · 335 阅读 · 1 评论 -
Kubernetes(k8s)之资源监控
资源监控Metrics-ServerMetrics-Server演示环境Metrics-Server部署Metrics-ServerMetrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。Metrics API 只可以查询当前的度量数据,并不保存历史数据。Metrics原创 2021-08-05 16:53:23 · 331 阅读 · 1 评论 -
Kubernetes(k8s)之容器资源限制
Kubernetes对资源的限制实际上是通过cgroup来控制的,cgroup是容器的一组用来控制内核如何运行进程的相关属性集合。针对内存、CPU和各种设备都有对应的cgroup。原创 2021-08-05 16:23:33 · 581 阅读 · 0 评论 -
Kubernetes(k8s)集群安全机制之访问控制
客户端如果想要访问和变更集群的资源,首先要识别客户端身份(Authekind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata: name: myclusterrolerules:- apiGroups: [""] resources: ["pods"] verbs: ["get", "watch", "list", "delete", "create", "update"]- api...原创 2021-08-05 12:10:09 · 627 阅读 · 1 评论 -
Kubernetes(k8s)之Service(服务)
Servicek8s中的ServiceService中涉及到的名词Service的实现演示环境IPVS以ClusterIP模式创建svc外部访问service的方式1、通过Node Port访问2、通过LoadBalance访问3、通过ExternalName访问kube-dnsHeadless Service(无头服务)k8s中的ServiceService可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。service默认只支持4层负载均衡原创 2021-08-01 17:34:58 · 2422 阅读 · 0 评论 -
Kubernetes(k8s)之Secret私密凭据
secret用来保管私密数据。原创 2021-08-01 14:07:37 · 1038 阅读 · 1 评论 -
Kubernetes(k8s)之Configmap配置管理
Configmap镜像和配置文件的解耦ConfigMap作用ConfigMap应用场景创建ConfigMap的方式1、使用字面值创建2、使用文件创建3、使用目录创建4、编写configmap的yaml文件创建如何使用configmap1、通过环境变量的方式直接传递给pod2、通过在pod的命令行下运行的方式3、作为volume的方式挂载到pod内镜像和配置文件的解耦应用部署的一个最佳实践是将应用所需的配置信息与程序进行分离,这样可以使应用程序被更好地复用,通过不同的配置也能实现更灵活的功能。将应用打包为原创 2021-08-01 10:39:39 · 1577 阅读 · 0 评论 -
Kubernetes(k8s)之Volume(卷)
apiVersion: v1kind: Podmetadata: name: vol1spec: containers: - image: busyboxplus name: vm1 command: ["sleep", "300"] volumeMounts: - mountPath: /cache name: cache-volume - name: vm2 image: nginx volumeMounts: .原创 2021-07-31 23:39:24 · 6765 阅读 · 0 评论 -
Kubernetes(k8s)之控制器
控制器控制器类型rs控制器DeploymentDaemonSetJobCronJobHPAStatefulSet控制器类型Pod 的分类:自主式 Pod:Pod 退出后不会被创建控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目控制器类型:Replication Controller和ReplicaSetDeploymentDaemonSetStatefulSetJobCronJobHPA全称Horizontal Pod AutoscalerStateful原创 2021-07-29 17:46:22 · 154 阅读 · 0 评论 -
Kubernetes(k8s)之Pod生命周期
Pod生命周期什么是Pod生命周期Init初始化容器Init容器能干的事Init容器特点init初始化实例探针livenessProbe存活探针readinessProbe就绪探针什么是Pod生命周期和一个独立的应用容器一样,Pod 也被认为是相对临时性(而不是长期存在)的实体。 Pod 会被创建、赋予一个唯一的 ID(UID),并被调度到节点,pod在终止(根据重启策略)或删除之前一直运行在该节点。如果一个节点死掉了,调度到该节点 的 Pod 也被计划在给定超时期限结束后删除。Pod 自身不具有自原创 2021-07-29 16:12:39 · 542 阅读 · 0 评论 -
Kubernetes(k8s)之编写资源清单
什么叫资源清单k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象。在k8s中,一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单。好处:怎么创建的怎么回收如何创建资源apiserver 仅接受JSON格式的资源定义,yaml格式提供配置清单,apiserver 可自动将其转为JSON格式,而后再提交。编写资源清单模板(格式)我们可以先以run命令的形式运行一个pod,然后在查看时指定-o yaml参数即可看到yaml格式的资源清单。首先要原创 2021-07-29 11:26:12 · 261 阅读 · 0 评论 -
Kubernetes(k8s)之pod管理
pod时k8s调用的基本单位,下面来对其进行简单的管理原创 2021-07-27 22:57:52 · 123 阅读 · 0 评论 -
Kubernetes(k8s)之k8s的部署
k8s的部署前提准备部署k8sserver2、3、4均需做的准备工作仓库端上传镜像master端初始化在master端安装网络组件添加后端节点前提准备我使用了四台虚拟机server1 172.25.38.1 harbor仓库端server2 172.25.38.2 k8s的master端server3 172.25.38.3 k8s的node端server4 172.25.38.4 k8s的node端四台虚拟机均部署好了docker关于harbor仓库和docker的部署可原创 2021-08-07 15:35:08 · 192 阅读 · 0 评论 -
一起来入门Kubernetes(k8s)
一起来愉快的学习Kubernetes原创 2021-07-27 21:58:17 · 163 阅读 · 0 评论 -
Docker数据卷(volume)管理
Docker数据卷什么是数据卷为什么要用数据卷Docker基础知识可以点击看我之前的文章什么是数据卷数据卷( volume ):volume是存在于一个或多个容器中的特定文件或文件夹,这个目录以独立于联合文件系统的形式在宿主机中存在,并为数据的共享与持久化提供便利。为什么要用数据卷...原创 2021-07-26 22:20:52 · 420 阅读 · 0 评论 -
Docker网络详解
容器的ip是动态的不固定会变,谁先抢到谁用[root@server1 ~]# docker run -d --name demo1 --network mynet1 nginx19d61f503989f6046d78ad8d5c6ff18d2e9ac8977868e49e0c46a54e7a6a689d[root@server1 ~]# docker run -it --rm --network mynet1 busyboxdocker不能离开ipyables,proxy只能负责通信,但不能完成原创 2021-07-25 17:22:04 · 4223 阅读 · 2 评论 -
Docker三剑客之swarm
swarm:初始化:将server1添加为管理员根据生成的token将server2、server3添加为节点在leader端列出节点如下,添加成功[root@server1 harbor]# docker node ls给节点server2提权,然后移除server1[root@server1 harbor]# docker node promote server2Node server2 promoted to a manager in the swarm.[root@se原创 2021-07-25 10:29:17 · 168 阅读 · 0 评论 -
Docker容器:搭建harbor仓库
部署harbor仓库使用10版本的harbor,可以去官网下载还需要安装的是docker-composedocker-compose:解决如何管理多个容器,形成一个完整独立的服务。配置容器时是单独配置,但把容器放到一起,通过docker-compose来控制容器。解压harbor软件包[root@server1 ~]# tar zxf harbor-offline-installer-v1.10.1.tgz 因为docker-compose安装包是二进制文件,所以放到/usr/loca原创 2021-07-21 13:22:25 · 486 阅读 · 4 评论 -
Docker容器(3):搭建私有仓库
[root@server1 docker]# lscerts.d key.json[root@server1 docker]# vim daemon.json{ "registry-mirrors": ["https://reg.westos.org"]}#域名解析也要配[root@server1 docker]# cat /etc/hosts172.25.38.1 server1 reg.westos.org原创 2021-07-23 00:40:10 · 150 阅读 · 2 评论 -
Docker容器(2):封装镜像+优化
非0退出会终止运行所以要重建[root@server1 docker]# pwd/root/docker/[root@server1 docker]# vim Dockerfile FROM rhel7EXPOSE 80VOLUME ["/usr/local/nginx/html"]COPY dvd.repo /etc/yum.repos.d/ADD nginx-1.20.1.tar.gz /mntRUN rpmdb --rebuilddbRUN yum install -y gcc原创 2021-07-23 00:17:08 · 886 阅读 · 2 评论 -
了解Docker的基本使用方法
Docker基础知识可以参考之前的文章Docker基础知识学会查看帮助可以先敲docker 用Tab键补齐,可以看到接下来可以使用的docker --help可以查看详细的命令参数docker images --help,类似这样,哪儿不会了看哪儿镜像的拉取/使用从tar存档或STDIN加载图像,可以直接导入tar打包的镜像,当你自己本地有一个打包好的包时可以使用这个命令导入docker load -i xxx.tar-i 从tar存档文件读取,而不是STDIN当你本地没有镜像原创 2021-07-22 23:36:22 · 1360 阅读 · 0 评论 -
Docker容器(1):安装docker,上线简单的2048,马里奥小游戏
[root@server1 docker]# lscerts.d key.json[root@server1 docker]# vim daemon.json{ "registry-mirrors": ["https://reg.westos.org"]}#域名解析也要配[root@server1 docker]# cat /etc/hosts172.25.38.1 server1 reg.westos.org原创 2021-07-22 11:57:50 · 3217 阅读 · 7 评论 -
一文掌握Docker基础知识
什么是Docker?Docker 是一个开源的应用容器引擎,基于Go语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。容器不需要提前封装一个系统,它共享宿主机,理解为操作系统的一个进程。Docker 从 17.03 版本之后分为 CE(Community E原创 2021-07-20 23:52:49 · 1290 阅读 · 7 评论