修炼k8s+flink+hdfs+dlink(五:安装dockers,cri-docker,harbor仓库,k8s)

news/2024/5/20 4:51:48 标签: kubernetes, flink, hdfs, docker

docker_0">一:安装docker。(所有服务器都要安装)

  1. 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
  1. 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
  1. 开启Docker服务
sudo service docker start
  1. 设置开机自启动
systemctl enable docker
  1. 测试
docker version
  1. 配置加速器,注意:在除了harbor仓库的机器上进行配置
cat >> /etc/docker/daemon.json <<-EOF
{
	"registry-mirrors": [
	"http://74f21445.m.daocloud.io",
	"https://registry.docker-cn.com",
	"http://hub-mirror.c.163.com",
	"https://docker.mirrors.ustc.edu.cn"
	],
	"insecure-registries": ["node01"],
	"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

9.重启docker服务

systemctl restart docker
  1. 检查
docker info

在这里插入图片描述

docker_64">二:安装cri-docker。(所有服务器都要安装)

1.下载安装。

mkdir -p /data/softs 
cd /data/softs
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.2/cri-dockerd-0.3.2.amd64.tgz
  1. 解压软件
tar xf cri-dockerd-0.3.2.amd64.tgz
mv cri-dockerd/cri-dockerd /usr/local/bin/
  1. 检查效果
cri-dockerd --version

在这里插入图片描述

  1. 创建 cri-docker.service
cat > /etc/systemd/system/cri-docker.service <<-EOF
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket
[Service]
Type=notify
ExecStart=/usr/local/bin/cri-dockerd --container-runtime-endpoint fd://
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
EOF
  1. 创建 cri-docker.socket
cat > /etc/systemd/system/cri-docker.socket <<-EOF
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service

[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target
EOF

  1. 启动cri-docker
sudo systemctl daemon-reload
sudo systemctl start cri-docker
sudo systemctl status cri-docker

三:安装harbor。(指定一台)

  1. 安装docker-compose.
yum -y insta11  docker-compose
  1. 下载软件.
mkdir /data/{softs,server} -p && cd /data/softs
wget https://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
tar -zxvf harbor-offline-installer-v2.5.0.tgz
mv harbor /data/server/harbor
cd /data/server/harbor/
  1. 加载镜像。
docker load < harbor.v2.5.0.tar.gz
docker images

在这里插入图片描述
4. 备份配置。

cp harbor.yml.tmpl  harbor.yml
vim harbor.yml
1. 更换名称
2. 禁用http的服务
3. 更改密码
4. 设置数据路径。

在这里插入图片描述

在这里插入图片描述
./prepare
./install.sh
docker-compose ps

在这里插入图片描述
5. 定制服务启动文件。

docker-compose down
vim /etc/systemd/system/harbor.service
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor

[Service]
Type=simp1e
Restart=on-failure
RestartSec=5
#需要注意harbor的安装位置
ExecStart=/usr/bin/docker-compose --file /data/server/harbor/docker-compose.yml up
ExecStop=/usr/bin/docker-compose --file /data/server/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target

加载服务配置文件
systemctl daemon-reload
启动服务
systemctl start harbor
检查状态
systemctl status harbor
设置开机自启动
systemctl enable harbor

docker-compose ps

在这里插入图片描述

四. 页面化定制仓库。

  1. 新建用户。
    在这里插入图片描述
  2. 新建项目。
    在这里插入图片描述
  3. 如何提交镜像。
    第一步:镜像打标签。
    格式: docker tag 服务名称 harbor地址/仓库名称/服务器名称:对应版本号
docker tag aaa node01/zzy/aaa:v01

第二步:登录harbor。

第三步:提交镜像。
docker push harbor地址/仓库名称/服务器名称:对应版本号

案例:所有节点都需要进行下面的验证。

https://blog.csdn.net/qq_47354826/article/details/115465461

在node03
docker pull nginx
docker pull tomcat
docker images

在这里插入图片描述
打标签
docker history nginx:latest
在这里插入图片描述

docker tag nginx:latest  node01/zzy/nginx:1.25.2
docker images

在这里插入图片描述
2. 登录

docker login node01

在这里插入图片描述
3. 推送

docker push node01/zzy/nginx:1.25.2

五:搭建k8s。

  1. 软件源定制
    定制阿里云的关于kubernetes的软件源(三台)
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
  1. 安装软件。
    在node和master上都执行命令。
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0

master节点。

systemctl enable kubelet
systemctl start kubelet
systemctl status kubele
  1. 主节点初始化
kubeadm init --apiserver-advertise-address=10.0.0.247 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 
mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
  1. 工作节点加入集群

https://blog.csdn.net/qq_39261894/article/details/109013696

  1. 启动自动补全命令
yum install bash-completion -y
source /usr/share/bash-completion/bash_completion
vim .bashrc
source <(kubectl completion bash)

source <(kubeadm completion bash)

source .hashrc
  1. 网络
    下载flannel插件的yml
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

修改kube-flannel.yml中的镜像仓库地址为国内源

sed -i 's/quay.io/quay-mirror.qiniu.com/g' kube-flannel.yml

安装网络插件

kubectl apply -f kube-flannel.yml

http://www.niftyadmin.cn/n/5100435.html

相关文章

ArcGIS在VUE框架中的构建思想

项目快要上线了&#xff0c;出乎意料的有些空闲时间。想着就把其他公司开发的一期代码里面&#xff0c;把关于地图方面的代码给优化一下。试运行的时候&#xff0c;客户说控制台有很多飘红的报错&#xff0c;他们很在意&#xff0c;虽然很不情愿&#xff0c;但能改的就给改了吧…

shell提取目录下所有文件中某个开头的字符串输出到一个文件中

自己建一个xxx.sh的文件&#xff0c;然后把下面的path改成你要查找的目录。我这里要查找的是20231018_开头的字符串到“双引号结束例如&#xff0c; #!/bin/bash path"C:/Users/user/AppData/Roaming/npm/node_modules自己的文件目录" ls $path | while read line …

Operator 开发实践 四 (WebHook)

1. WebHook介绍 我们知道访问Kubernetes API有好几种方式&#xff0c;比如使用kubectl命令、使用client-go之类的开发库、直接通过REST请求等。不管是一个使用kubectl的真人用户&#xff0c;还是一个Service Account&#xff0c;都可以通过API访问认证&#xff0c;这个过程官网…

java--进制详解

1.二进制 只有0、1&#xff0c;按照逢2进1的方式表示数据&#xff1a; 2.十进制转二进制的算法 除二取余法 3.计算机中表示数据的最小单元 1.计算机中表示数据的最小单元&#xff1b;一个字节(byte&#xff0c;简称B&#xff0c;是使用8个二进制位组成的) 2.字节中的每个二进…

cocosCreator 之 3.x使用NodePool对象池和封装

版本&#xff1a; cocosCreator 3.4.0 语言&#xff1a; TypeScript 环境&#xff1a; Mac NodePool 在项目中频繁的使用instantiate和node.destory对性能有很大的耗费&#xff0c;比如飞机射击中的子弹使用和销毁。 因此官方提供了NodePool&#xff0c;它被作为管理节点对象…

Nginx正向代理,反向代理和负载均衡

nginx的两种代理方式&#xff1a; 七层代理(http协议) 四层代理&#xff08;tcp/udp流量转发&#xff09; 七层代理&#xff1a;七层代理&#xff0c;代理的是http的请求和响应。 客户端请求代理服务器&#xff0c;由代理服务器转发客户端的httpd请求。转发到内部的服务器&a…

ruoyi识别访问设备是pc端还是移动端跳转到对应的登录页面

背景需求 ruoyi框架&#xff0c;前后端分离。现在要在用户访问的时候根据不同的设备跳转到不同的登录页面。 教程 router/index.js 修改src/router/index.js&#xff0c;在这里增加自己的要跳转的页面 permission.js 在白名单中添加自己的登录页面 增加以下识别的代码 le…

【C++】用constexpr,constinit,consteval让程序跑的快一点

从C11加入constexpr关键字开始&#xff0c;到C20又加入了consteval &#xff0c;constinit &#xff0c;有3个const打头的关键字 虽然是以const开头的&#xff0c;不过这3个关键字主要是指示在编译时候的动作&#xff0c;它们都是在编译时就已经被编译程序处理&#xff0c;并非…