@TOC
一、背景知识
Kubernetes(简称k8s)是一个开源的容器编排和管理平台,可以自动化地部署、扩展和管理容器化应用程序。它最初由Google设计并贡献给了Cloud Native Computing Foundation(CNCF),现在是一个非常流行的容器编排平台,支持多种云平台和本地环境。
Amazon Elastic Kubernetes Service(EKS)则是亚马逊AWS提供的一项托管的Kubernetes服务,使得用户可以在AWS云上轻松地运行和托管Kubernetes集群。它提供了高度可扩展、高可用性、安全和更易于使用的基础设施。
与通过自行安装和管理Kubernetes相比,使用EKS可以节省时间和精力,并且无需比较复杂的部署和配置过程。此外,EKS还提供了内置的自动缩放功能,允许根据应用程序负载和资源利用情况自动扩展或缩小Kubernetes集群。
今天就讲解如何配置eks并且让kuboard把他管理起来,并且构建好我们自己的私有仓库。
二、环境搭建详解
eks首先要去aws后台进行创建,这里不再讲解详细的过程,下面讲解如果通过命令行以及kuboard调度esk服务。
2.1 安装docker以及docker-compose
yum install docker
service docker start
curl https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
docker-compose --version
2.2 用docker启动kuboard
sudo docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 8088:80/tcp -p 10081:10081/tcp \
-e KUBOARD_ENDPOINT="http://你的机器ip:8088" \
-e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
-v /root/kuboard-data:/data eipwork/kuboard:v3
然后尝试访问kuboard,如果访问不通过,请尝试开放一下安全组端口http://你的机器ip:8088/
admin Kuboard123
2.3 安装aws-cli
此步骤的目的就是保证可以与aws esk的正常交互
yum install aws-cli
aws --version
aws configure #这个步骤配置访问key和secret
2.4 安装kubectl工具
vim /etc/yum.repos.d/kubernetes.repo #放入如下内容
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
yum install -y kubectl.x86_64
aws eks update-kubeconfig --region us-east-1 --name esk-name #esk-name为aws后面创建的esk名称
cat /root/.kube/config
kubectl get svc -A #查看是否安装正常
如果kubtcl执行报错,可以尝试用以下版本
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.23.6/bin/linux/amd64/kubectl
mv ./kubectl /usr/bin/kubectl
2.5 配置kuboard支持eks
2.5.1 第一步:选择agent方式
2.5.2 第二步:填入名称描述,点击确定
2.5.3 第三步,配置kuboard
按照如下提示,去机器上面执行命令,执行成功后会自动导入成功集群,然后就可以管理集群了。如果执行命令不成功,请按照kuboard给出的故障排查方式逐步排查。
2.6 安装harbor私有仓库
基础配置
wget https://github.com/goharbor/harbor/releases/download/v1.10.15/harbor-online-installer-v1.10.15.tgz
tar xf harbor-online-installer-v1.10.15.tgz -C ./
mv harbor/ harbor-v1.10.15
mv harbor-v1.10.15 /usr/local
ln -s /usr/local/harbor-v1.10.15/ /usr/local/harbor
设置域名和相关数据路径
vim /usr/local/harbor/harbor.yml
hostname: 172.17.213.47
http:
port: 10080
data_volume: /data/harbor
location: /data/harbor/logs
开始安装
sh /usr/local/harbor/install.sh
2.7 kuboard配置访问haboard的secret
创建完成了之后配置在ymal里面即可进行镜象拉取
imagePullSecrets:
- name: your secret name
总结
今天的内容就分享到这里,欢迎大家关注哦,后面会持续分享k8s运维相关内容。记得先关注,不迷路。