文章分类 - docker与k8s
摘要:前言 随着各企业上云进程的加速,用容器的方式来交付软件产品也变得越来越普遍,如何以更安全的方式来构建容器镜像,也就成了大家关注的话题。 docker 构建镜像 docker是最近几年非常火热的容器技术,用docker来构建容器镜像也是常用的方法,在具备构建容器镜像所需的两个要素(Dockerfile
阅读全文
摘要:解决过程 有其他部门的同事找到领导,说他们环境的软件跨节点通信存在问题,因为他们会使用容器的ID(也就是容器的hostname)通信,但是发现连不通,他们自己查了一下完全没有思路,遂来求助我。 我连上服务器,程序是通过docker swarm部署的。 节点 我看了节点状态,都是正常的所以2377端口
阅读全文
摘要:在某些场景中,往往需要离线或使用代理 (Proxy), 例如: 需要通过 Proxy pull 容器镜像: Docker Hub: docker.io Quay: quay.io GCR: gcr.io GitHub 镜像库:ghcr.io 在某些企业环境中,需要通过代理访问外部服务 docker
阅读全文
摘要:刚开始写k8s的yaml配置文件时,给我造成最大的困扰的其实是k8s众多的资源类型,这里面apiVersion对应的资源还有所不同,实在难得记 我大概搜集了下,也给自己备查,以下是 Kubernetes API 版本与资源对应关系的完整说明: apiVersion资源类型说明 v1 Pod、Serv
阅读全文
摘要:部署形态 单点 集群 http通信集群 https通信集群 单证书部署(集群节点证书相同) 多证书部署(集群节点证书不同) 上面几种,单点和http集群没啥好说的,单证书部署的操作请参考我全手动部署kubernetes (h2c.tech) ,本文主要说的是多证书的情形。 下载etcd 访问 Rel
阅读全文
摘要:ETCD 简介 ETCD 是用于共享配置和服务发现的分布式,一致性的KV存储系统。ETCD 是k8s集群极为重要的一块服务,存储了集群所有的数据信息,如果发生灾难或者 etcd 的数据丢失,都会影响集群数据的恢复,本文重点讲如何备份和恢复数据。 备份 注意:ETCD 不同的版本的 etcdctl 命
阅读全文
摘要:Pod中文直译为豆荚,一个豆荚中可能存在多个豆子,他们长相可能不尽相同,但是都是为了发芽做准备,类似地,在 Kubernetes 中,Pod 是容器组的概念,一个 Pod 可以包含多个容器,这些容器共享网络、存储等资源,虽然每个容器可能功能不尽相同,通过组合最终体现为某一个完整的能力对外服务。 那它
阅读全文
摘要:最近经常使用k8s,为了方便我把我能想到的/想不到的 资源和资源简称整理了下,如下: 资源类型类型简称资源简介 CertificateSigningRequest csr 用于向 Kubernetes 签发证书签名请求 ClusterRole cr 聚焦于整个集群的角色,绑定一组权限 Cluster
阅读全文
摘要:本文所有的shell命令都在开头省略了$,方便可以直接复制使用。 规划配置 本次部署默认是在master节点下载生成配置,然后将配置分发到2台worker节点。 机器配置 机器名机器角色机器ip机器配置OS版本部署软件 m01 主节点 172.15.110.188 4C-8G-50G RockyLi
阅读全文
摘要:一、基础环境配置 设置hostname 主节点机器 $ hostnamectl set-hostname k8s-master && bash 从节点机器 $ hostnamectl set-hostname k8s-node1 && bash $ hostnamectl set-hostname
阅读全文
摘要:FROM debian:11.5 ADD openjdk-19.0.1_linux-x64_bin.tar.gz /usr/ ADD apache-activemq-5.17.3-bin.tar.gz /srv/ ENV JAVA_HOME /usr/jdk ENV PATH $PATH:$JAVA
阅读全文
摘要:自 1.12 版本之后,Docker 引入了原生的健康检查实现。对于容器而言,最简单的健康检查是进程级的健康检查,即检验进程是否存活, Docker Daemon 会自动监控容器中的 PID1 进程,如果 docker run 命令中指明了 restart policy,可以根据策略自动重启已结束的
阅读全文
摘要:在kubernetes中如果配置发生变化,我们如何做到无感知的配置热更新是重要的,下面我以stakater/Reloader为例解决这个问题。 Reloader是一个开源的Kubernetes工具,它可以观察 ConfigMap 和 Secret 中的变化,并对 pod 及其关联的 Deployme
阅读全文
摘要:安装NFS-Server # 禁用firewalld systemctl stop firewalld.service systemctl disable firewalld.service # 安装rpc和nfs-server dnf -y install nfs-utils rpcbind #
阅读全文
摘要:集群信息: 显示 Kubernetes 版本:kubectl version 显示集群信息:kubectl cluster-info 列出集群中的所有节点:kubectl get nodes 查看一个具体的节点详情:kubectl describe node <node-name> 列出所有命名空间
阅读全文
摘要:现象: docker服务可以起来,docker ps 看不到容器 解决思路: docker是c/s架构的软件,需要做的检查启动daemon的配置文件 daemon的配置文件有两个,一个是连接配置文件,一个是systemctl管理工具的配置文件。 两个配置文件分别如下,需要核对有颜色位置的信息: [r
阅读全文
摘要:#!/bin/bash echo " start clean docker containers logs " logs=$(find /var/lib/docker/containers/ -name *-json.log) for log in $logs do echo "clean logs
阅读全文
摘要:脚本如下: #!/bin/bashset -xDOCKER_ROOT=$(docker info | grep "Root Dir")## 删除现有容器、镜像、服务、集群和网络echo "=> 删除现有容器、镜像、服务、集群和网络"docker rm -f $(docker ps -aq)docke
阅读全文
摘要:一般做法 如果我们希望在容器中批量或者定时执行命令,一般的做法是编写好脚本以后把脚本打包到镜像中,或者拷贝容器中,通过CMD或者exec去运行: $ docker cp [script] [container]:/[path] $ docker exec [container] [command t
阅读全文
摘要:①以root用户登陆机器,在root下新建docker用户组和docker用户,并把docker用户加入到docker用户组中。(docker用户组不可或缺) ②在root下给予docker用户以sudo权限(以上两步非常关键,若没有root权限可与信息部门沟通进行如上设置) ③重新以docker用
阅读全文
浙公网安备 33010602011771号