k8s搭建(一、环境配置与docker安装)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


k8s搭建文章:
k8s搭建(一、k8s环境配置与docker安装)
k8s搭建(二、k8s组件安装)
k8s搭建(三、k8s从节点创建)
k8s搭建(四、k8s集群创建)
k8s搭建(五、k8s可视化管理工具Dashboard配置)

一、环境准备

1. 系统类型

linux系统安装:ubuntu22.04.3

2. 系统要求

cpu至少两个
每个cpu至少分配一个内核
运行内存至少2G
磁盘存储20G

3. 系统配置

创建服务器并设置系统参数等
参考文章:VMware安装ubuntu系统22.04.3版本
根据上面这篇文章创建的虚拟机,即使换了网络也不会改变ip地址,自己的电脑可以切换WiFi,连接虚拟机的ip地址不变

强烈建议使用VMware来安装系统,在后续的每一阶段的操作都可以生成快照,
并即使回退到想要的位置,相当于是操作失误了或者出现问题可以回到没出问题之前的位置,真的很方便,节省时间,
virtualbox不知道有没有,至少我之前用的时候没发现他有这个功能

二、Docker安装

1. 安装Docker

安装docker的目的是为了为k8s提供运行时容器引擎,即containerd
所以此步骤的主要目的是安装containerd
注: kubernets 自v 1.24.0 后,就不再使用 docker.shim,替换采用 containerd 作为容器运行时端点。docker中包含了 containerd 。
containerd是一个CRI(Container Runtime Interface)组件,在容器运行时调用containerd组件来创建、运行、销毁容器等

1.1 更新安装包

sudo apt-get update

1.2 安装依赖

sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates

1.3 获取证书

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

1.4 添加仓库

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

1.5 再次更新安装包

sudo apt update

1.6 安装docker

sudo apt-get -y install docker-ce

2. 配置镜像加速器(不配也行,建议配一下)

参考:配置阿里云容器镜像加速

3. 开启Docker

3.1 查看docker状态

systemctl status docker

3.2 重启docker

sudo systemctl restart docker

3.3 开机自启

sudo systemctl enable docker

sudo systemctl enable docker.service

感谢阅读,祝君暴富!

  • 15
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Docker+k8s的微服务实战课程 课程目录 一、初识微服务 1 微服务-导学 2 软件架构的进化 3 什么是微服务 4 画出微服务架构图 5 微服务架构的优势和不足 二、微服务带来的问题及解决方案分析 1 微服务架构带来的问题 2 微服务间如何通讯 3 服务发现、部署更新和扩容 4 springboot&springcloud(上) 5 springboot&springcloud(下) 三、微服务开发 1 微服务业务分析 2 Thirft安装和验证 3 Python开发信息服务 4 开发用户服务(上) 5 开发用户服务(下) 6 开发用户EdgeService_A 7 开发用户EdgeService_B 8 开发用户EdgeService_C 9 开发用户EdgeService_D 10 dubbo入门操练(上) 11 dubbo入门操练(下) 12 开发课程服务 13 开发课程EdgeService 14 APIGatewayZuul 四、服务编排前奏 1 服务docker化(上) 2 服务docker化(下) 3 docker下的服务通讯(上) 4 docker下的服务通讯(下) 5 镜像仓库 6 三大平台扬帆起航 五、服务编排-Mesos 1 了解Mesos 2 画出Mesos集群架构图 3 集群环境搭建_A 4 集群环境搭建_B 5 集群环境搭建_C 6 调整微服务适应Mesos 7 微服务部署_A 8 微服务部署_B 9 微服务部署_C 六、服务编排-DockerSwarm 1 了解Swarm 2 集群环境搭建(上) 3 集群环境搭建(下) 4 调整微服务及服务配置 5 微服务部署 七、服务编排-Kubernetes 1 了解kubernetes(上) 2 了解kubernetes(下) 3 环境搭建前奏 4 预先准备环境 5 基础集群部署(上) 6 基础集群部署(下) 7 小试牛刀 8 kube-proxy和kube-dns 9 理解认证、授权 10 为集群添加认证授权(上) 11 为集群添加认证授权(下) 12 再试牛刀 13 部署我们的微服务 八、CICD和DevOps 1 了解CICD和DevOps 2 准备GitLab和Jenkins 3 CICD实践(上) 4 CICD实践(下) 九、课程总结
网盘文件永久链接 目录: 1ocker三剑客名词介绍mp4 2 ckermachine与 dockercompose个绍mp4 3 ockercompose使用的三步mp4 4 ockercompose语法讲解 5 ockercompose语法讲解2av,mP 6 ockercompose案例1.mp4 7 ockercompose案例2.mp4 8 ockercompose案例3,mp4 9 dockerswarm简介与集群环境佳备mp4 10 dockerswarm集群搭建,mp4 11harbor准备两个版本的ngn镜像,mp4 12发布服务路由网格mp4 13负载均衡扩展与裁减mp4 14版本更新版本回退滚动间隔更新mp4 15本地存储着与网络存储卷mp4 16服务互联与服务发现mp4 17小结mp4 18容器认识1mp4 19容器认识2.mp4 20ocker个绍版本,mp4 21ocker容器使用的内核技术介绍mp4 22 ocker安装,mp4 23ocker客户端与服务端分离mp4 24程 docker操作演示还原环境mp4 25像容器仓库概念mp4 26找镜像下载镜像删除镜食m 27配置镜像加速器mp4 28镜像导出与导入方法mp4 29镜像仓库分美公网仓库创建与量作演示,mp4 30habo个绍hbo安装过程1.mp4 31 harbor安装过程2.mp4 32hbor上传下载mp4 33镜像小结imP4 34容器常见操作1mp4 35容器常见操作2mp4 36 ocker命令回顾 commit提交镜像_mp4 37 ockerexed操作,mp4 38 ocker常见操作总结重点mp4 39时复制和用时分配技术讲解mp4 40合文件系统介绍auts介绍mp4 41ufs过渡到 overlay . mp4 42过操作来理解 overlay, mp4 43 ocker存储驱动小结mp4 44器跑httpd案例1mp4 45自定义httpd容器并提交为镜像dockerrun启动应用详解mp4 46 docker数据卷mp4 47docker数据卷小结官方htpd镜像运行容器mp4 48docker跑mariadb或mysql应用mp4 49 docker跑应用补充与小结,mp4 50 ockerfile个绍参数讲解1mp4 51 ockerfile参数讲解2mp4 52ockerfile构建httpd镜像,mp4 53ockerfile构建httpd镜像2mp4 54 ockerfile构建 tomcat镜像mp4 55 ockerfile构建 tomcat多种方法之间的比较mp4 56 ockerfilel构建 mariadb镜像,mp4 57 ockert构建 mariadb镜像2小结mp4 58 ocker单宿主机容器互联mp 59 docker本地网络 bridge模式mp4 60 docker本地网络 hostnonecontainer模式,mp4 61跨 dockery网络方案ame价绍mp4 62 lanned网络搭建过程mp4 63 anned网络测试与网络小结mp4 64 docker的web管理平台小结mp4 ...............................................
一、安装准备: 1.环境 主机名 IP k8s-master 192.168.250.111 k8s-node01 192.168.250.112 k8s-node02 192.168.250.116 2.设置主机名 hostnamectl --static set-hostname k8s-master hostnamectl --static set-hostname k8s-node01 hostnamectl --static set-hostname k8s-node02 3.关闭防火墙和selinux systemctl disable firewalld systemctl stop firewalld sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 执行完成后重启虚拟机。 4.在master机器上安装ansible 执行命令:sudo yum install ansible (离线处理补充) 5.配置 ansible ssh密钥登录,此操作需要在所有机器上执行 ssh-keygen -t rsa -b 2048 回车 回车 回车 ssh-copy-id $IP #$IP为所有虚拟机,按照提示输入yes 和root密码 (密钥补充) 二、安装kubernetes集群 进入ansible安装路径 : cd /etc/ansible 将路径下的roles文件夹和hosts文件删除。 解压压缩文件kubeasz.zip文件,将解压后的内容放入当前目录下(/etc/ansible) 根据搭建集群环境要求,进入/etc/ansible/example 目录下选取 hosts.allinone.example 单节点AllInOne hosts.m-masters.example 单主多节点 hosts.s-master.example 多主多节点 红色标记的是需要自行修改的地方 修改完成后将文件名改为hosts 放入/etc/ansible/目录下。 安装prepare ansible-playbook 01.prepare.yml 安装etcd ansible-playbook 02.etcd.yml 安装kubectl命令 ansible-playbook 03.kubectl.yml 安装docker ansible-playbook 04.docker.yml 如果执行时出现报错: 可忽略。 解决方法: 在master节点上执行:curl -s -S "https://registry.hub.docker.com/v2/repositories/$@/tags/" | jq '."results"[]["name"]' |sort 所有机器上执行: wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm yum install jq -y 在重新执行: ansible-playbook 04.docker.yml 安装calico ansible-playbook 05.calico.yml 部署master节点 ansible-playbook 06.kube-master.yml 加入node节点 ansible-playbook 07.kube-node.yml 如果执行成功,k8s集群就安装好了。 三、验证安装 如果提示kubectl: command not found,退出重新ssh登陆一下,环境变量生效即可 kubectl version #查看kubernetes版本 kubectl get componentstatus # 可以看到scheduler/controller-manager/etcd等组件 Healthy kubectl cluster-info # 可以看到kubernetes master(apiserver)组件 running kubectl get node # 可以看到单 node Ready状态 kubectl get pod --all-namespaces # 可以查看所有集群pod状态 kubectl get svc --all-namespaces # 可以查看所有集群服务状态 calicoctl node status # 可以在master或者node节点上查看calico网络状态 四、安装主要组件 安装kubedns kubectl create -f manifests/kubedns 安装heapster kubectl create -f manifests/heapster 安装dashboard kubectl create -f manifests/dashboard 访问dashboard 先执行命令查看dashboard的NodePort 端口 kubectl get svc -n kube-system 访问web页面 https://masterIP: 7443 选择令牌按钮 ,用命令查询登录令牌 之前安装过 heapster 执行命令:kubectl get secret -n kube-system 查询 heapster-token-twpw4 的详细内容 执行命令:kubectl describe secret heapster-token-twpw4 -n kube-system Token就是登录令牌,复制登录就好了 安装ingress kubectl create -f manifests/ingress/ 安装EFK(elasticsearch+ fluentd + kibana) 首先进入 manifests/EFK 文件夹下 (cd /etc/ansible/manifests/EFK) 查看并修改 ceph-sercet.yaml 文件。 此key值是 ceph存储用户的token值 ,将此key值转换为base64 将文件中红色选选中部分修改为转换后的值。 修改完成后 部署 pv 和 pvc 执行命令:kubectl create -f es-pv-data.yaml kubectl create -f es-pvc-data.yaml 部署fluentd 执行命令:kubectl create -f fluentd-rbac.yml -f fluentd-configmap.yml -f fluentd-daemonset.yml 部署elasticsearch 先设置node节点中role ,指定master client data 部署位置 执行命令:kubectl get nodes kubectl label node 10.2.0.244 role=master (10.2.0.244 是我本机kubernetes 的master节点 ,所以我也将此master也部署在这里) 其余的两个节点分别是data 和 client 执行命令:kubectl create -f es-discovery-svc.yaml -f es-svc.yaml -f es-master.yaml -f es-client.yaml -f es-data.yaml 其中部署elasticsearch集群需要注意一些事项 : Master节点一般只有一个 并且提供9300 端口 客户端通讯使用 Client 节点一般提供9200端口 用于连接kibana 和 fluentd http访问使用 Data 节点是提供数据存储,持久化对data节点进行就可以。 其中 master , client , data 部署文件中 配置的 CLUSTER_NAME 指的是 elasticsearch集群名称 Java运行自行设置,最大值和最小值需要一致。 最小为-Xms256m 部署kibana 执行命令:kubectl create -f kibana-svc.yaml -f kibana.yaml 这里需要注意 kibana.yaml 文件中 参数的设置 这里的CLUSTER_NAME 也是elasticsearch部署文件中设置的集群名称。 #安装 flannel 执行命令: cd /etc/ansible/roles/flannel 先修改kube-flannel.yml文件 --iface 对应的是本机的网卡名称 command: [ "/opt/bin/flanneld", "--ip-masq", "--kube-subnet-mgr", "--iface=eth1" ] 修改完成后 执行: kubectl create -f kube-flannel-rbac.yml kubectl apply -f kube-flannel.yml
DockerKubernetes(简称K8s)是现今最流行的容器化技术和容器编排平台。可以通过Docker来创建和管理容器化的应用程序,而Kubernetes则可以自动化部署、扩展和管理这些容器化的应用程序。在搭建测试环境时,使用DockerKubernetes可以快速、高效地创建多节点的测试环境。 以下是一些搭建测试环境的步骤: 1. 安装DockerKubernetes:首先需要在测试机器上安装DockerKubernetes。可以通过官方网站上的安装包或者通过命令行安装。例如,在Ubuntu上可以通过以下命令安装DockerKubernetes: ``` sudo apt-get update sudo apt-get install docker.io sudo apt-get install kubeadm kubelet kubectl ``` 2. 初始化Kubernetes集群:使用kubeadm工具初始化Kubernetes集群,在一个主节点上运行以下命令: ``` sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 其中,`--pod-network-cidr`参数指定了容器的IP地址范围。初始化完成后,会输出一些重要的信息,例如加入集群的命令和Kubernetes Dashboard的访问地址等。 3. 部署网络插件:为了使Kubernetes集群中的容器可以相互通信,需要部署一个网络插件。例如,可以使用Flannel网络插件: ``` kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 4. 加入工作节点:在其他机器上也安装DockerKubernetes后,可以使用之前输出的加入集群的命令将它们加入到Kubernetes集群中。 5. 部署应用程序:使用kubectl命令部署应用程序,例如: ``` kubectl create deployment nginx --image=nginx ``` 这将在Kubernetes集群中创建一个名为nginx的Deployment,并使用nginx镜像创建一个Pod。 6. 扩展应用程序:使用kubectl命令扩展应用程序,例如: ``` kubectl scale deployment nginx --replicas=3 ``` 这将扩展nginx Deployment的副本数为3个。 以上是一个简单的DockerKubernetes搭建测试环境的步骤。当然,还可以根据实际需求进行更多的配置和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒山李白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值