运维八一 运维八一
首页
运维杂记
编程浅尝
周积跬步
专栏
生活
关于
收藏
  • 分类
  • 标签
  • 归档
Source (opens new window)

运维八一

运维,运维!
首页
运维杂记
编程浅尝
周积跬步
专栏
生活
关于
收藏
  • 分类
  • 标签
  • 归档
Source (opens new window)
  • 操作系统

  • 域名解析

  • 公有云

  • CI&CD

  • 数据库

  • 负载均衡&反向代理

  • 存储系统

  • 容器&容器编排

    • kubeadm安装k8s单点(centos系统)
    • kubeadm安装k8s单点(debian系统)
    • k8s单master集群部署
    • k8s安全策略
    • Dockerfile参数说明
    • Docker环境磁盘清理
    • docker常用命令
    • docker卷挂载
    • docker网络模式
    • kubectl命令补全
    • k8s ingress代理外部IIS服务
    • k8s安装ingress-nginx
    • harbor (docker compose)安装
      • 下载解压
      • 配置harbor.yml
      • 安装
      • 4.1 配置免https
      • 4.2 上传镜像
      • 自签证书
      • 配置harbor
      • 验证harbor
    • k8s进行pod级的抓包tcpdump
    • k8s使用secret拉取私有仓库镜像
    • k8s常用命令
    • k8s内存使用及监控
    • openshift 3_11单节点all-in-one安装
    • k8s 1_26版本创建serviceaccount不会自动创建secret
    • ctr和crictl显示镜像不一致
    • alpine镜像集成常用数据库客户端
  • 批量管理

  • 邮件系统

  • 监控系统

  • Web服务

  • 虚拟化

  • 防火墙

  • 压测

  • 文件同步

  • 私有云

  • 日志系统

  • 代码仓库&版本管理

  • 安全审计

  • 远程拨号

  • 大数据

  • 统一认证

  • 消息队列

  • Apollo

  • 运维杂记
  • 容器&容器编排
lyndon
2022-06-11
目录

harbor (docker compose)安装

企业级私有仓库harbor部署

硬件环境

  • CPU 至少2G,最好4G
  • 内存 至少4G,最好8G
  • 磁盘 至少40G,最好160G

软件环境

  • docker版本 17.03.0-ce +或更高版本
  • docker-compose 版本 1.18.0或更高版本
  • Openssl 版本最新,为harbor生产必要的证书

网络端口

  • 443 HTTPS Harbor端口和核心API将接受此端口上的https协议请求,此端口可以在配置文件中更改
  • 4443 HTTPS 只有在启用“公证”时才需要连接到Dock的Docker Content Trust服务,此端口可以在配置文件中更改
  • 80 HTTP Harbor端口和核心API将接受此端口上的http协议请求

# 1.安装docker

yum -y install docker-ce
systemctl enable docker
systemctl start docker
1
2
3

# 2.安装docker-compose

下载安装包docker-compose-linux-x86_64.zip

unzip docker-compose-linux-x86_64.zip
chmod +x docker-compose
mv docker-compose /usr/bin/
1
2
3

官方安装方法:

curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
1
2
3
4

# 3.安装Harbor

# 下载解压

下载地址:https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.0.tgz

tar   -zxvf   harbor-offline-installer-v1.8.0.tgz  -C  /usr/local/workspace
1

进入harbor 解压后文件目录

cd /usr/local/workspace/harbor
-rw-r--r-- 1 root root 556153903 May 16 19:55 harbor.v1.8.0.tar.gz
-rw-r--r-- 1 root root      4839 May 16 19:54 harbor.yml
-rwxr-xr-x 1 root root      5088 May 16 19:54 install.sh
-rw-r--r-- 1 root root     11347 May 16 19:54 LICENSE
-rwxr-xr-x 1 root root      1654 May 16 19:54 prepare
1
2
3
4
5
6

说明:从 1.8.0 后,harbor配置文件由原先的 harbor.cfg 改为 harbor.yml

# 配置harbor.yml

较重要参数说明:

hostname :目标主机的主机名,用于访问Portal和注册表服务。它应该是目标计算机的IP地址或完全限定的域名(FQDN),例如,192.168.1.10或reg.yourdomain.com。不要使用localhost或127.0.0.1作为主机名 - 外部客户端需要访问注册表服务,这里修改为我们的主机ip即可  例如修改为  reg.lyndon.com

data_volume: 存储  harbor  数据的位置。   这里可以修改 为   /usr/local/workspace/harbor/data

harbor_admin_password:管理员的初始密码。此密码仅在Harbor首次启动时生效。之后,将忽略此设置,并且应在Portal中设置管理员密码。请注意,默认用户名/密码为admin / Harbor12345。
1
2
3
4
5

关于端口配置:

http:
    port:你的http的端口号
https:用于访问Portal和令牌/通知服务的协议。如果启用了公证,则必须设置为https。请参阅使用HTTPS访问配置Harbor。
    port:https的端口号
    certificate:SSL证书的路径,仅在协议设置为https时应用。
    private_key:SSL密钥的路径,仅在协议设置为https时应用。
1
2
3
4
5
6

# 安装

执行 ./prepare

./prepare
1

执行 ./install.sh

./install.sh
1

查看启动情况

docker-compose ps
1

登录:htts://reg.lyndon.com 用户名:admin 密码:Harbor12345

重启命令:

重启docker

systemctl daemon-reload
systemctl restart docker.service
1
2

重启harbor仓库

cd /usr/local/workspace/harbor
1

执行命令

docker-compose stop
docker-compose up -d
1
2

# 4.使用

# 4.1 配置免https

方法一:修改 /etc/docker/daemon.json

vi /etc/docker/daemon.json	//加上允许的仓库

{
  "insecure-registries":[
    "reg.lyndon.com"
  ]
}
1
2
3
4
5
6
7

方法二:修改 docker.service

cd /usr/lib/systemd/system

vi docker.service	//修改 ExecStart,添加  --insecure-registry 参数

ExecStart=/usr/bin/dockerd --insecure-registry 10.10.55.55 --insecure-registry reg.lyndon.com
1
2
3
4
5

两种方法都需要重启docker和harbor

重启docker

systemctl daemon-reload
systemctl restart docker.service
1
2

重启harbor仓库

cd /usr/local/workspace/harbor
1

执行命令

docker-compose stop
docker-compose up -d
1
2

# 4.2 上传镜像

linux 上登录harbor仓库

docker login  reg.lyndon.com
1

reg.lyndon.com 表示 linux服务器地址,请换成自己的服务器ip,注意要说明自己登陆哪个ip,不然默认会登陆到docker hub,即docker官方仓库

修改待上传镜像的tag

docker tag nginx:1.16.0  reg.lyndon.com/common/nginx:1.16.0
1

上传镜像

docker push reg.lyndon.com/common/nginx:1.16.0
1

到此,开发环境的harbor安装足够用,如果要生产上试用harbor,请务必配置证书,使用https访问

# 自签证书使用https

# 自签证书

mkdir ssl
cd ssl

genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=TW/ST=Taipei/L=Taipei/O=example/OU=Personal/CN=reg.lyndon.com" \
-key ca.key \
-out ca.crt

openssl genrsa -out reg.lyndon.com.key 4096
openssl req -sha512 -new \
-subj "/C=TW/ST=Taipei/L=Taipei/O=example/OU=Personal/CN=yourdomain.com" \
-key reg.lyndon.com.key \
-out reg.lyndon.com.csr

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=reg.lyndon.com
DNS.2=reg.lyndon.com
DNS.3=reg.lyndon.com
EOF

openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in reg.lyndon.com.csr \
-out reg.lyndon.com.crt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

# 配置harbor

vim harbor.yml	// 修改以下:
5 hostname = reg.lyndon.com
21 ssl_cert = ./ssl/reg.lyndon.com.crt
22 ssl_cert_key = ./ssl/reg.lyndon.com.key
60 harbor_admin_password = 12345
./prepare
./install.sh
1
2
3
4
5
6
7

# 验证harbor

查看harbor容器:

docker-compose ps

Name                     Command               State          P

harbor-adminserver   /harbor/start.sh                 Up
harbor-db            /usr/local/bin/docker-entr ...   Up      3306/tcp
harbor-jobservice    /harbor/start.sh                 Up
harbor-log           /bin/sh -c /usr/local/bin/ ...   Up      127.0.0.1:1514->10514/tcp
harbor-ui            /harbor/start.sh                 Up
nginx                nginx -g daemon off;             Up      0.0.0.0:443->443/tcp, 0.0.0.0:
registry             /entrypoint.sh serve /etc/ ...   Up      5000/tcp
1
2
3
4
5
6
7
8
9
10
11

1.docker数据挂载: volume:docker管理宿主机文件系统的一部分(/var/lib/docker/volumes) 管理卷: 创建:docker volume create 卷名 列出:docker volume ls 查看:docker volume inspect 卷名

		清理:docker container stop 容器名
			 docker container rm 容器名
		 	 docker volume rm 卷名

	用卷创建容器:
		(1) docker run -itd --name=容器名 --mount src=卷名,dst=容器内路径 镜像名
		(2) docker run -itd --name=容器名 -v 卷名:容器内路径 镜像名


bind mounts:可以存储在宿主机系统的任意位置
	用卷创建容器:
		(1) docker run -itd --name=容器名 --mount type=bind,src=宿主机路径,dst=容器内路径 镜像名
		(2) docker run -itd --name=容器名 -v 宿主机路径:容器内路径 镜像名

tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统

2.docker网络模式

bridge:默认网络,Docker启动后默认创建一个docker0网桥,默认创建的容器也是添加到这个网桥中

host:容器不会获得一个独立的network namespace,而是与宿主机共用一个。

none:获取独立的network namespace,但不为容器进行任何网络配置。

container:与指定的容器使用同一个network namespace,网卡配置也都是相同的。

自定义:自定义网桥,默认与bridge网络一样。

容器访问外部网络:
	容器eth0 --> host veth --> docker0 --> iptables snat --> default route --> 外网

外部网络访问容器:

3.安装harbor
	下载离线包harbor-offline-installer-v1.4.0.tgz
	tar xf harbor-offline-installer-v1.4.0.tgz
	cd harbor

docker构建持续集成环境: 1、CI/CD介绍 2、发布流程设计 3、部署Git服务器 4、部署Harbor镜像仓库 5、构建业务基础镜像 6、测试服务器安装Docker 7、Jenkins安装 8、Jenkins基本配置 9、Jenkins创建项目 10、测试

docker 批量删除 杀死所有正在运行的容器 docker kill $(docker ps -a -q)

删除所有已经停止的容器 docker rm $(docker ps -a -q)

删除所有未打 dangling 标签的镜像 docker rmi $(docker images -q -f dangling=true)

删除所有镜像 docker rmi $(docker images -q)

强制删除镜像名称中包含“doss-api”的镜像 docker rmi --force $(docker images | grep doss-api | awk '{print $3}')

镜像导出: docker save -o centos.7.tar.gz centos:7 docker load -i centos.7.tar.gz

执行镜像构建: docker build -t promethus-nginx:v1.0 . docker tag promethus-nginx:v1.0 10.50.183.31/base/promethus-nginx:v1.0 docker push 10.50.183.31/base/promethus-nginx:v1.0

上次更新: 2022/06/12, 15:48:09
k8s安装ingress-nginx
k8s进行pod级的抓包tcpdump

← k8s安装ingress-nginx k8s进行pod级的抓包tcpdump→

最近更新
01
ctr和crictl显示镜像不一致
03-13
02
alpine镜像集成常用数据库客户端
03-13
03
create-cluster
02-26
更多文章>
Theme by Vdoing | Copyright © 2015-2024 op81.com
苏ICP备18041258号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式