记录关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题,
Centos7安装Docker19,Harbor_v2.0.2企业级容器镜像仓库一. harbor概述1. 基本功能harbor是一个由vm公司开源的企业级容器镜像仓库包括企业级特性:管理用户界面基于角色的访问控制LDAP/AD 集成及日志审计等基本运维操作官方网站:https://vmware.github.io/harbor/cn/https://github.com/vmware/harbor2. harbor 的基本组件组件功能harbor-adminserver配置管理中心harbor-db数据库harbor-jobservice镜像复制harbor-log日志操作harbor-uiWeb管理页面和APInginx前端代理,负责前端页面和镜像上传/下载转发redis会话registry镜像存储二. harbor部署1. harbor的安装方式harbor安装有三种方式在线安装:从docker hub 下载harbor相关镜像,安装包较小离线安装:安装包包含部署的相关镜像,安装包较大OVA安装:当用户具有vCenter环境时,使用此安装,部署OVA后启动harbor离线安装环境较为齐全,所有我们采用离线安装。2. 安装 老版本 前期需要准备的:下载harbor离线安装包下载地址:https://github.com/goharbor/harbor/releases安装 docker compose官方文档:https://docs.docker.com/compose/#common-use-cases指定版本:https://github.com/docker/compose/releases3,Cento...
Dockerfile中RUN,CMD和ENTRYPOINT都能够用于执行命令,下面是三者的主要用途:RUN命令执行命令并创建新的镜像层,通常用于安装软件包CMD命令设置容器启动后默认执行的命令及其参数,但CMD设置的命令能够被docker run命令后面的命令行参数替换ENTRYPOINT配置容器启动时的执行命令(不会被忽略,一定会被执行,即使运行 docker run时指定了其他命令)Shell格式和Exec格式运行命令我们可用两种方式指定 RUN、CMD 和 ENTRYPOINT 要运行的命令:Shell 格式和 Exec 格式:Shell格式:<instruction> <command>。例如:apt-get install python3Exec格式:<instruction> ["executable", "param1", "param2", ...]。例如: ["apt-get", "install", "python3"]CMD 和 ENTRYPOINT 推荐使用 Exec 格式,因为指令可读性更强,更容易理解。RUN 则两种格式都可以。Run命令RUN 指令通常用于安装应用和软件包。RUN 在当前镜像的顶部执行命令,并通过创建新的镜像层。Dockerfile 中常常包含多个 RUN 指令。下面是一个例子:RUN apt-get update && apt-get install -y \ bzr \ cvs \ git \ me...
 
0

k8s command & args

发表者:admin分类:云计算容器2020-08-13 16:51:52 阅读[37]
k8s command & args12345678910111213命令和参数说明:command、args两项实现覆盖Dockerfile中ENTRYPOINT的功能,具体的command命令代替ENTRYPOINT的命令行,args代表集体的参数。 如果command和args均没有写,那么用Dockerfile的配置。如果command写了,但args没有写,那么Dockerfile默认的配置会被忽略,执行输入的command(不带任何参数,当然command中可自带参数)。如果command没写,但args写了,那么Dockerfile中配置的ENTRYPOINT的命令行会被执行,并且将args中填写的参数追加到ENTRYPOINT中。如果command和args都写了,那么Dockerfile的配置被忽略,执行command并追加上args参数。比如:command:/test.sh,p1,p2args: p3,p4 另:多命令执行使用sh,-c,[command;command,...]的形式,单条命令的参数填写在具体的command里面,例如:command:sh,-c,echo '123';/test.sh,p1,p2,p3,p4args: 不填
今天发现在kubernetes上创建POD时,有个节点一直不能分配到POD,并该节点上有些pod的状态为pendding.查询该节点的状态:mac-temp:echo test$ kubectl describe node 192.168.5.86 Name: 192.168.5.86 Role: ..... CreationTimestamp: Thu, 05 Oct 2017 17:09:52 +0800 <span style="color:#ff6666;">Conditions:</span> Type Status LastHeartbeatTime LastTransitionTime Reason Message ---- ------ ----------------- ------------------ ------ ------- DiskPressure False Sun, 11 Mar 2018 18:13:57 +0800 Sun, 11 Mar 2018 17:13:59 +0800 KubeletHasNoDiskPressure kubelet has no disk pressure MemoryPressure False Sun, 11 Mar 2018 18:13:57 +0800 Sun, 11 Mar 2018 17:13:59 +0800 KubeletHasSufficientMemory kubelet has sufficient memory available OutOfDisk False Sun, 11 Mar 2018 18:13:57 +0800 Sun, 11 Mar 2018 17:13:59 +0800 KubeletHasSufficientDisk kubelet has sufficient disk space available Ready True Sun, 11 Mar 2018 18:13:57 +0800 Sun...
KUBERNETES POD调度失败问题(INSUFFICIENT PODS)Kubernetes的node默认最大pod数量为110个,所有node都达到110个时无法再调度,出现如下报错信息0/3 nodes are available: 1 node(s) had taints that the pod didn't tolerate, 2 Insufficient pods解决办法:修改/etc/sysconfig/kubelet配置文件,添加--max-pods配置,然后重启kubelet服务,修改后文件内容如下KUBELET_EXTRA_ARGS="--fail-swap-on=false --max-pods=300"
windows 2016 Hyper-v虚拟机中安装docker,k8s 1.18.6,重启master节点系统,k8s无法正常启动。查看docker 容器实例,一直在不停的重启,重建中。使用vmstate -n 3,与top命令,查看硬盘IO占用很高,很卡顿。Hyper-v中安装的kubernetes 1.18.6 单master节点集群,docker使用的cgroup-driver是systemd,并且安装了kuboard面板。master节点系统不重启时,一直正常。但是系统重启后,k8s的master节点无法正常工作。最后将 docker与kubelet 的cgroup-driver 修改成默认的cgroupfs后,重启 docker服务与kubelet 服务后,才正常使用。明白 k8s装到hyper-v虚拟机中,会有问题,建议还是装到物理机系统中比较好,中间层太多,浪费性能,毛病也会变多。查看 cat /var/log/messages 里面有大量此类信息。cb0-42f2-a753-83ef4abc9208)Aug 12 20:52:08 centosk8s kubelet[1060]: E0812 20:52:08.818796    1060 eviction_manager.go:575] eviction manager: cannot evict a critical pod kube-apiserver-centosk8s_kube-system(20ba893addde533b5afb0c186476bdeb)Aug 12 20:52:08 centosk8s kubelet[1060]: E0812 20:52:08.818843    1060 eviction_manager.go:575] evi...
服务器RAID硬盘与日志主要检测方法1:对于 Dell 的机器并且配备了 LSI 的 raid 卡,那么 Megacli 自带的命令是最直观最可靠的硬盘检测方法。 #/opt/MegaRAID/MegaCli/MegaCli64 -pdlist -aall  以其中的一块硬盘为例。 Enclosure Device ID: 32  Slot Number: 2  Enclosure position: 0  Device Id: 2 //ID 号 Sequence Number: 2  Media Error Count: 0 // 如果 error 数值较多 , 那么需要更换硬盘 Other Error Count: 0  Predictive Failure Count: 0 // 可理解为预知性的错误 , 这个数值较多意味着硬盘即将坏 掉, 现场会黄绿灯交叉闪烁 Last Predictive Failure Event Seq Number: 0  PD Type: SAS  Raw Size: 136.732 GB [0x Sectors]  Non Coerced Size: 136.232 GB [0x Sectors]  Coerced Size: 136.125 GB [0x Sectors]  Firmware state: Online, Spun Up // 如 果 硬 盘 坏 了 那 么 会 出 现 Failed 或 者 是 unconfigured(bad) SAS Addres...
oracle PLSQL,游标,loop循环删除部分表方法。使用Toad for Oracle时,使用新建用户连接时,连接身份 搞成了 as sysdba,导致执行添加表与表数据时,都变成sys账号下了。表比较多,删除时使用游标与loop循环,执行不成功。不清楚哪里不对(主要是水平太次,)。如下:declare  CURSOR d_cursor is    SELECT OBJECT_NAME      FROM sys.DBA_objects     WHERE OBJECT_TYPE = 'TABLE'       AND owner = 'STUDENT';  d_record d_cursor%ROWTYPE;begin  OPEN d_cursor;  LOOP    FETCH d_cursor      INTO d_record;    EXIT WHEN d_cursor%NOTFOUND;    execute immediate 'DROP TABLE ' || d_record.object_name || ' cascade constraints';    Dbms_Output.put_line(d_record.object_name || ' 表删除成功');  end loop;  close d_cursor;  commit;end;/行 2 出错ORA-00942: 表或视图不存在ORA-06512: 在 line 19脚本已在第 2行终止。(搞了很久才清楚,在sys或system账号会话连接中,只要添加 execute im...
    总共271页,当前第1页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11