![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
docker/kubernetes
文章平均质量分 58
笔记
漠效
May my heart be as clear as inside and outside the glass;May my heart be as indestructible as a diamond
展开
-
传统架构和k8s架构:如何在实际应用中进行选择和搭配?
在如今的互联网时代,传统的架构和部署方式可能已经无法满足不断发展和创新的业务需求。为了更好地提高系统的可靠性、灵活性和可维护性,许多企业开始采用k8s这样的容器编排工具来进行应用程序的部署和管理。但是传统架构真的不可取吗?k8s的优势是哪些?在这篇文章中,我们会深入探讨传统架构和 k8s 架构之间的区别以及如何在实际应用中合理选择,帮助您更好的应对具体的需求。选了几个标题名,都很好,不忍舍弃,按照小说简介的写法,因此该文章别名又叫:探讨传统架构和 k8s 架构的优劣与取舍。原创 2023-04-17 11:58:23 · 2263 阅读 · 0 评论 -
CKA考试Tips
今年黑五的双证套餐的折扣比双11时还便宜个200多,不到2000,应该是史低吧,反正比前年低。即使考试前看了各种避坑技巧,虽然通过了但是结果还是因为各种问题导致时间没做完扣分,于是下面总结一下参加CKA/CKS考试时候的技巧。原创 2022-12-11 13:06:17 · 2751 阅读 · 5 评论 -
记一次Metrics-server异常
前几天测试环境k8s集群做etcd的备份恢复。所有的pod都起来了,包括metrics-server的状态也是Running,部署新pod也没有异常,结果kubectl top 请求的时候报错了。原创 2022-12-09 14:55:54 · 1869 阅读 · 0 评论 -
K8s关于异常Pod的处理
前言某天开发人员开发环境发布失败,于是找到了这边处理一下.过程<1>发布环境是Centos系统的k8s测试集群,从jenkins上看编译正常,编译后镜像正常,结果在启动和注册时候一直不成功直到超时发布失败.<2>服务器上进行查看,发现pod状态为Pending(该状态通常是调度异常,通常是k8s 的node资源不足)kubectl get pod -n <namespace> |grep 项目名称kubectl get pod -n <nam原创 2021-09-13 16:55:43 · 1373 阅读 · 0 评论 -
Error from server (BadRequest): a container name must be specified for pod
报错之前查看pod的日志使用 kubectl logs -f <POD-name> -n <nameSpace> 该命令可正常看到日志.某天使用该命令查看状态未runnning的pod,居然产生了报错.Error from server (BadRequest): a container name must be specified for pod xxx ,choose one of:[xxx xxx]报错原因及处理原因:本来一个pod使用了一个容器,当使原创 2021-09-04 15:40:57 · 19965 阅读 · 0 评论 -
Docker 修改容器默认存储位置
前言通常情况下docker默认的数据存储目录是/var/lib/docker,这是相对危险的。当/空间本来就很小,使用docker使它将根下的空间用尽,然后导致服务问题。因此当使用kubernets或其他基于docker的服务时,需要修改容器默认的存储位置到磁盘空间分配较大的目录中.<1>查看docker当前root目录docker info |grep -i root<2>停止docker服务systemctl stop docker<3&g原创 2021-08-29 16:41:13 · 1387 阅读 · 2 评论 -
error: You must be logged in to the server (Unauthorized)报错处理
报错k8serror: You must be logged in to the server (Unauthorized)https://blog.csdn.net/GX_1_11_real/article/details/114290457error: You must be logged in to the server (Unauthorized)原创 2021-08-05 18:00:20 · 7207 阅读 · 0 评论 -
k8s高可用环境部署-补充(重置k8s)
前言这一篇是对部分内容的补充。如果你的k8s在第一次初始化的时候存在问题,如何重新初始k8s集群,需要清理哪些环境根据情况选择性修改,需在所有节点执行cat reset.sh #!/bin/bash#重置kubeadm reset#停止相关服务systemctl stop docker kubelet etcd#etcd的清理#清理docker环境(可不清理)#<1>删除所有docker容器docker rm -f $(sudo docker ps -原创 2021-05-31 18:14:07 · 510 阅读 · 0 评论 -
k8s高可用环境部署7(Dashboard and metrics)
前言通过前面的文档,K8S集群部署成功了,接着我们就需要正式的去应用了。在正式上线服务之前,我们还需要部署一些服务,来实现对k8s的管理和监控。这一篇介绍的部署kubernetes-dashboard来实现k8s的可视化管理。部署dashboard<1>创建dashboard目录用于存放之后的密钥及文件mkdir /etc/dashboard-certs<2>下载ymlcd /etc/dashboard-certswget https://raw.原创 2021-05-20 17:18:50 · 456 阅读 · 0 评论 -
k8s高可用环境部署6(Flannel/Calico)
三、安装calico插件wget https://github.com/projectcalico/calico/releases/download/v2.6.12/release-v2.6.12.tgztar xf release-v2.6.12.tgzcd release-v2.6.12/k8s-manifests/hostedsed -i ‘s?http://127.0.0.1:2379?https://192.168.0.62:2379,https://192.168.0.63:2379,h原创 2021-05-20 00:27:20 · 598 阅读 · 0 评论 -
K8s解除非安全端口禁用
新版本的(1.16以后)kubernetes的apiserver只开启了安全端口6443的访问,默认禁用了非安全端口。如果使用了非6443,则需要处理一下,否则会报错,导致部署Pod异常。调整各节点以下yaml文件,去掉–port=0,并重启kubelet即可/etc/kubernetes/manifests/kube-scheduler.yaml/etc/kubernetes/manifests/kube-controller-manager.yamlsudo systemctl restart原创 2021-04-15 17:20:20 · 1196 阅读 · 0 评论 -
k8s高可用环境部署5(加入Master/Node)
前言前几篇已经部署好环境,接着就可用正式部署k8s了kubeadm初始化集群可使用命令直接初始化,也可使用配置文件当使用文件初始化时,需要确保配置的正确性1~2仅在master1上执行即可<1>创建kubeadm配置文件cat >kubeadm-config.yaml <<EOFapiVersion: kubeadm.k8s.io/v1beta2kind: ClusterConfigurationkubernetesVersion: v1.1原创 2021-04-07 18:54:11 · 799 阅读 · 0 评论 -
k8s高可用环境部署4(HA)
前言这一篇介绍的是配置k8s的高可用环境keepalived+Haproxy如果是实体服务器或VM虚拟机等建议使用这个方案。如果是阿里云等云服务器建议使用其官方的负载均衡方案。因为其与实体机的并不同,平台对网络环境限制较大。强行配置keepalive,有时反而不如其本身提供的负载方案。<1>keepalive部署在3台节点上执行,配置文件各节点都需修改部分参数,再启动yum install -y keepalivedcd /etc/keepalivedca原创 2021-04-07 16:36:27 · 616 阅读 · 1 评论 -
k8s高可用环境部署3(Etcd)
前言环境和部分软件已经配置好了,接着要部署一个Etcd集群。Etcd 通常是和master部署在一起,也有人会将 etcd独立于 k8s集群之外,以便于更好地扩展etcd集群。而此次是部署在3个master上。下面是关于Etcd的一些简单介绍:Etcd节点数:etcd 是基于raft算法的分布式键值数据库,在做决策时需要超半数节点的投票,所以 etcd集群 一般推荐奇数节点(3,5,7);etcd是高可用的,3节点etcd集群,最大容忍1台机器宕机。根据网上的资料还可以得出2个结论:设置偶数原创 2021-03-29 15:10:42 · 1854 阅读 · 0 评论 -
k8s高可用环境部署2(Kubeadm编译)
虽然上一篇,已经yum安装了kubeadm。但是kubeadm如果直接拿来使用会存在一个问题,默认证书有效期为一年。因此需要在部署K8s前对kubeadm进行调整。链接地址如下:https://moxiao.blog.csdn.net/article/details/114290457...原创 2021-03-24 18:36:12 · 234 阅读 · 0 评论 -
k8s高可用环境部署1(系统初始化)
前言很多东西如果不做文档记录,以后通常会因为一些小问题,导致耽误时间。因此对Kubernetes的部分组件和部署进行基本的总结。环境初始化<3>以下,需在所有节点上执行<1>修改主机名(根据需求修改,分别修改。实际上要先做好规划,哪些服务器为master,哪些为node或其他服务,以下仅为示例)hostnamectl set-hostname k8s-master01hostnamectl set-hostname k8s-master02host原创 2021-03-24 18:27:28 · 293 阅读 · 0 评论 -
K8s集群node节点异常处理(Calico)
前言近期在测试环境k8s集群发现Calico的节点出现了异常,状态一直处于连接中,而且node节点的ip也出现了变化。于是对此次处理过程进行记录。这个异常不具备普遍性,因此文档仅供参考。发现在Calico 异常的node节点上,出现了大量的br开头的以及一些其他的虚拟网卡和虚拟ip. 应该是这些ip导致的。由于具体排查和处理需要大量的时间,为了不影响服务,先把异常节点下线。备注:可查看异常pod日志,再处理问题kubectl logs calico-node-f846j -原创 2021-03-19 17:23:53 · 7106 阅读 · 0 评论 -
Kubeadm修改证书时间
前言目前关于k8s的部署有着各种各样工具,其中不得不提到Kubeadm。虽然其因证书问题一直被人们所诟病,但它也是部署k8s最常用的工具。我们都知道使用kubeadm部署k8s在证书方面存在一个问题。证书有效期为一年,到期前必须续期。因此使用kubeadm部署的集群,在...原创 2021-03-11 15:00:15 · 1429 阅读 · 0 评论 -
docker清理占用的磁盘空间
前言前几天我们发现某台服务器的硬盘报警了,马上就开始进行清理。使用df命令查看硬盘时,发现硬盘空间使用不足60%,硬盘的inode却使用的82%,是有大量的小文件占用了硬盘空间。然后,发现是由于此服务器上运行了docker容器,产生了大量的缓存及其他的垃圾文件。查找了大量的文档,测试后,才完成了清理。下面是docker清理垃圾文件的总结。(亲测可用。由于docker容器的服务正在使用,其他有...原创 2018-11-23 22:24:28 · 6786 阅读 · 0 评论 -
docker版本升级
前言随着docker的不断发展,其支持的范围也越来越广。我们使用docker很长时间后,发现新版本出现了我们需要的功能,有进行升级的必要。于是,我们对docker进行了升级。要注意内核与要升级的docker版本是否适配。原有docker版本:1.13.1内核版本:3.10.0docker升级操作【1】删除旧版本的docker【2】安装需要的依赖包【3】...原创 2018-10-11 12:34:11 · 3896 阅读 · 0 评论 -
走近Docker---(3)docker容器命令及使用方法汇总
前言前面我们安装了docker,下面就可以利用docker详细介绍容器的启用了,但在学习之前我们先对docker命令进行总结,便于后面的学习。docker命令总结【1】查看docker信息&amp;amp;amp;amp;amp;amp;amp;lt;1&amp;amp;amp;amp;amp;amp;amp;gt;显示docker的版本信息docker version 或 docker原创 2018-06-07 16:46:01 · 873 阅读 · 0 评论 -
走近Docker---(2)各版本docker的安装
前言由于我们常用的是Linux的系统,所以docker学习的文中,主要偏重于Linux系统中docker的学习。要学习docker,首先要安装docker。下面介绍的是各种系统中如何安装docker。Linux系统Linux系统的开源版本有很多,所以选择Ubuntu和Centos/redhat这两个具有代表性的介绍以下。【1】Ubuntu...原创 2018-06-05 14:46:27 · 2040 阅读 · 0 评论 -
走近Docker---(1)docker的概念
前言虽然关于docker的概念,网上有很多详细的介绍,但是,感觉有点杂。下面我自己总结一下,让自己了解的更加深入点。 (会及时更新)docker概念Docker 是一个开源的应用容器引擎。基于 Go 语言 并遵从Apache2.0协议开源。本身并不是容器,而是一个管理容器的管理器。Docker以进程为单位,把CPU的时间、用量、内存空间、IO用量以指定比例或指定数...原创 2018-06-04 10:16:50 · 364 阅读 · 0 评论 -
harbor镜像列表的获取
前言我们都知道可以通过harbor的接口来获取单个的镜像的信息,但是格式方面比较麻烦,如果要直接pull某个镜像还得对命令进行拼接。下面分享的是通过命令行获取harbor镜像列表。如果获取不了信息或无法拉取镜像,建议从下方查找问题:与harbor的网络联通hurbor域名是否绑定账号或密码是否正确docker 的daemon.json文件中insecure-registries是否配置正确#!/bin/bash#查看hurbor可提供镜像USER="admin"原创 2020-06-18 14:03:13 · 5336 阅读 · 1 评论 -
k8s dashboard部分浏览器无法访问
前言当我们在配置完成dashboard,想要从浏览器查看的时候,通常会发现除了火狐浏览器。谷歌等大部分的浏览器,都无法进行访问。这种情况,我们可以通过自定义证书的方法,来使其他浏览器可以对dashboard进行访问。这里就不介绍dashboard的配置操作了。证书生成创建CA如果/etc/kubernetes/pki/或其他位置有ca证书,就无需另外生成openssl genrsa -out ca.key 2048openssl req -new -x509 -key ca.ke原创 2020-06-19 16:57:16 · 2946 阅读 · 2 评论