ingress-nginx安装
详见ingress-nginx Github安装指南。
裸机安装
下载对应版本的所有yaml文件(仅针对tag:nginx-0.30.0):configmap.yaml、mandatory.yaml、namespace.yaml、rbac.yaml、service-nodeport.yaml、with-rbac.yaml,下载路径分别为:
123456wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/mandatory.yamlwget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/namespace.yamlwget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/configmap.yamlwget htt ...
kubernetes部署Dashboard UI
下载dashboard的yaml文件
可详见Github的Dashboard链接下载最新的配置文件,也可参考官方Dashboard UI部署文档。
1wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
修改kubernetes-dashboard的service类型为NodePort类型
修改kubernetes-dashboard的service类型为NodePort类型,使用nodeport方式(即ip+端口)访问Dashboard。
1234567891011121314151617[root@node-0 yaml]# vim recommended.yaml ...kind: ServiceapiVersion: v1metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboards ...
Docker Compose的配置文件一定要命名为docker-compose.yaml吗
杂谈
在使用Docker的时候我就经常性的思考,为什么Docker的配置文件要命名为DOCKERFILE呢?为什么docker-compose的配置文件一定要命名为docker-compose.yml,或者docker-compose.yaml呢?
其实答案也很简单,官方的默认docker-compose的所有指令都是基于当前目录或者父目录下的名为docker-compose.yml、docker-compose.yaml进行操作的。
可以更改为其他的名字,但是需要使用-f参数进行人为指定文件,同时在查看状态、停止等操作时也需要单独指定该文件,具体如下:
实验
指定配置文件后台运行docker-compose:
123[root@centos7 ~]# docker-compose -f docker-compose-python.yml up -dStarting code_redis_1 ... doneStarting code_web_1 ... done
查看当前正在运行的内容:
12345[root@centos7 ~]# docker-compose -f dock ...
Docker-Compose安装与概述
Docker Compose概述
Docker Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,可以使用YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。
使用Compose基本上是一个三步过程:
使用Dockerfile定义您的应用环境,以便可以在任何地方运行。
在docker-compose.yml文件中定义组成应用程序的服务,可使它们在隔离的环境中一起运行。
使用 docker-compose up命令,启动并运行整个应用程序。
特点
单个主机上的多个隔离环境
创建容器时保留卷数据
仅重新创建已更改的容器
变量和环境之间的合成移动
在Linux系统上安装Docker Compose
在Linux上,您可以从GitHub上的Compose存储库发行页面下载Docker Compose二进制文件。按照链接中的说明进行操作,其中包括curl在终端中运行命令以下载二进制文件。也可以按如下步骤进行操作:
运行以下命令以下载Docker Compose的当前稳定版本:
1sudo curl -L & ...
Linux开启FTP的21端口
Linux下开启FTP的21端口
通常情况下,我们会使用SFTP与服务器进行文件的传输,但是若服务器采取的为最小安装模式,则可能不存在FTP服务,那么21端口也就默认关闭,所以在服务器上部署使用了FTP上传的代码时,上传功能则无法正常工作。
步骤
查看vsftpd服务状态:
12[root@lemonlzy ~]# systemctl status vsftpdUnit vsftpd.service could not be found.
可以发现服务器没有vsftpd服务,那么先安装vsftpd服务:
12345[root@lemonlzy ~]# yum install -y vsftpd...已安装: vsftpd.x86_64 0:3.0.2-27.el7完毕!
然后运行vsftpd服务:
1[root@lemonlzy ~]# systemctl start vsftpd
通过iptables开放21端口,先查看iptables设置:
1[root@lemonlzy ~]# iptables -nL
防止防火墙未开放21端口,所以将21端口插入到I ...
Docker文件清理
背景
在经常使用容器进行测试的过程中,若服务器空间过小,则容易发现磁盘占用满的问题,此时我们可以使用该docker system df命令显示有关docker守护程序使用的磁盘空间量的信息,也可参照官方文档:docker system prune官方文档、docker system df官方文档。
12345[root@localhost ~]# docker system dfTYPE TOTAL ACTIVE SIZE RECLAIMABLEImages 13 8 3.935 GB 1.875 GB (47%)Containers 9 8 645 MB 556.2 MB (86%)Local Volumes 94 ...
WIN10设备加密之在加密此驱动器时,无法关闭设备加密,请稍后再试
背景
新买的笔记本发现自带的win10家庭版默认开启了设备加密,问题奇怪在官网明确说明家庭版没有Bitlocker的功能,于是想要关闭这个设备加密的功能,然后在如下图所示位置找到了关闭的位置:
点击了关闭设备加密,但是关闭到中间提示关闭设备加密失败了:
找度娘无果,在微软上也只看到了答非所问的一个反馈,也没有结果,更何况这是家庭版的windows,按照度娘关闭Bitlocker的方法根本无效,因为度娘的方法都是针对的专业版。
解决
在查找解决办法的过程中,发现了可以使用windows命令行的方式查看Bitlocker的状态:
打开命令提示符窗口
单击 Windows Start (启动) 按钮, 键入 “cmd“ 并按enter键
按住键盘和R上的Windows按钮, 键入 “cmd“ 并按enter键
在命令提示符下, 键入 manage-bde –status 并按enter键
查看系统中驱动器上的 Bitlocker 状态
1C:\Windows\system32>manage-bde -status
可以看到我的D盘已经完全解锁了,但是C盘的状态是加密 ...
Docker与Firewalld
问题不知道大家在自己的服务器上运行Docker时,一般是将防火墙关闭呢还是将防火墙打开同时允许端口访问的模式;笔者之前都是一刀切,关闭防火墙,轻松省事。但是要想在生产环境这样部署,怕是要挨批评了,所以开始了解在开启防火墙的同时,也能让Docker的服务正常被外部所访问。
步骤1、检查 iptables接下来会清除 iptables 现有规则,如果你一直使用的是 Firewalld 来管理你的防火墙,就没必要查看现有的 iptbales 规则了。
1iptables -L
2、关闭 Firewalld 和 docker 服务1systemctl stop Firewalld docker
3、清除现有防火墙规则由于 docker 启动容器时会在 iptables中添加规则,我们先放行规则,非常重要!否则 22 端口也就是你的 SSH 服务可能再也连不上了。
1iptables -P INPUT ACCEPT
清除所有规则
1iptables -F
4、开启端口转发1、开启内核 IP 地址转发功能首先查看内核是否开启 IP 地址转发功能
1cat /proc/sys/net/ipv ...
Docker存储、导入镜像
docker打包单个镜像(这样可保留镜像的名称与版本号):1[root@centos7 ~]# docker save -o apiserver.tar k8s.gcr.io/kube-apiserver:v1.17.3
docker打包单个镜像(这样导入镜像的名称与版本号均为null,需自己手动打tag):1[root@localhost static]# docker save 4e9f801d2217 > /tmp/flannel.tar
docker打包多个镜像为一个tar包(这样可保留镜像的名称与版本号):1[root@centos7 ~]# docker save k8s.gcr.io/kube-scheduler:v1.17.3 k8s.gcr.io/pause:3.1 k8s.gcr.io/kube-controller-manager:v1.17.3 k8s.gcr.io/kube-apiserver:v1.17.3 k8s.gcr.io/etcd:3.4.3-0 k8s.gcr.io/coredns:1.6.5 k8s.gcr.io/kube-proxy: ...
Docker容器日志
背景在运行容器的时候,难免会遇到容器启动失败、或者想查看容器日志的情景,但是容器与直接安装在服务器上的服务又不太一样,那么该如何查看容器的日志呢?
docker logs惯例,还是先推荐docker logs官方文档,建议大家有需要的话还是去官方文档看一看,虽然全是英文,翻译一下总没问题的嘛:
该命令仅适用于使用json-file或journald日志记录驱动程序启动的容器 。
用法1docker logs [OPTIONS] CONTAINER
参数说明
参数
描述
–details
显示提供给日志的其他详细信息
–follow /-f
跟踪日志输出
–since
显示自时间戳记以来的日志(例如2013-01-02T13:23:37)或相对记录(例如42m的42分钟)
–tail
从日志末尾开始显示的行数
–timestamps /-t
显示时间戳
–until
在时间戳(例如2013-01-02T13:23:37)或相对时间戳(例如42m持续42分钟)之前显示日志
例子最简单直接的使用方法当然是:
1[root@local ...