文章内容输出来源:拉勾教育Java高薪训练营

一、初识拉勾教育

最开始并不知道拉勾有教育模块的业务,一直都以为只有招聘。直到今年5月份的时候拉勾的小姐姐打电话给我说他们有一个训练营问我是否有兴趣,那个时候刚好处于技术的瓶颈期,对于技术感觉怎么都上不去。于是就听了拉勾小姐姐的介绍(拉勾教育Java工程师高薪训练营课程),主要介绍从以下几个方面讲解:

拉勾为什么做教育培训

拉勾主营业务是招聘,在长期的招聘过程中积累了大量的企业对人才的需求和人才的自身能力数据信息。同时也根据企业对人才的需求推荐合适的候选人。但是符合企业要求的高端人才比较稀缺,而拉勾又掌握了企业的需求。所以拉勾本着为企业培养候选人的愿景开启教育培训业务,主要目的是通过系统培训为企业输送符合的高质量人才。

高薪训练营课程大纲介绍

Java高薪训练营是拉勾教育历经十几个月时间精心打磨才确定推出的课程。课程设计是对标阿里P7技术要求,针对专项提升技术能力。课程知识体系覆盖全面,详细规划层层递进提升技术能力,涵盖了99%的企业对技术的要求。课程内容分阶段,从12个阶段全面提升架构能力。内容涵盖主流源码剖析、微服务、分布式中间件(缓存、MQ等)、海量数据存储、容器虚拟化技术、底层调优与算法等。讲师团队都是由一线多年经验的资深技术专家讲解,更加贴近实际开发应用。课程学习模式介绍
线上学习直播+录播,课程阶段学习闯关式。只有前面的阶段学完提交作业老师批改及格才解锁下一个模块。学习成果测验,每个模块的知识学完都有测验可以检验自己的学习成果。大的模块学完有专门设计的作业进行实操。导师在线实时解答疑惑,进行作业思路指导与批改。班主任在线监督学习情况。

二、反复斟酌后的选择

听完了训练营的课程介绍后,还是比较激动因为课程内容很符合自己目前的情况,但是依然很淡定因为我要反复对比课程内容选择最好的才可以。后面的2-3天对比了其他平台课程发现内容都没有拉勾教育的系统和全面,最终在课程报名截止的前几天缴费参与了课程。

做出这个决定比较难,因为学费不便宜(大家一定这样觉得)。但是这个费用和以后的职业提升发展做对比,我还是觉得可以承受的。毕竟未来还很长,而且学习一周不满意可以全额退款。如果觉得学的不够好还可以免费读一次,那么就可以学习一年。

三、学习过程亲身感受

目前截止已经认真学习了4个月的拉勾教育Java高薪训练营课程,课程的质量我是非常认可的。我看过很多平台的机构直播课程,但是感觉讲解的知识并没有那么容易吸收。但是拉勾教育的子幕和应颠老师讲解从浅到深,前面学习的内容是为了给后面的内容做铺垫。层层递进的教学方式让我能够很好的吸收知识。并且对于每个模块的知识点都能够讲的很透彻。而且对于源码剖析过程源代码都有非常详细的注释,老师会给有注释的源代码,这样自己学习起来也没有那么吃力。

以前都是自己学习,整体学下来回感觉到很痛苦。比较技术的道路不太好走,没有人带领也不知道应该如何做,整体的知识体系会比较乱、还会松懈。在加入了拉勾的训练营后,每天都要学习2-3个小时,跟着老师的脚步慢慢学。松懈的时候看到与别人的进度有差距,这个时候不服输的心理就诞生了,促使这我继续坚持学习下去。

下面是我学习K8S容器章节后整理的笔记

K8S 集群安装部署文档

一:准备条件:

  1. 使用Centos7.6以上的 操作系统

  2. 集群服务器设定如下:

    主机IP 主机名
    10.150.201.17 k8s-master01
    10.150.201.2 k8s-node01
    10.150.201.224 k8s-node02
    10.150.201.231 k8s-node03
  3. 打通外网访问条件

二:Kubernetes安装与配置

2.1硬件安装要求:

2.1.1 CPU 2核以上 内存 3g以上 硬盘 50g以上
2.1.2 查看centos系统版本命令:
cat /etc/centos-release

本例使用使用centos7.9 操作系统

2.1.3配置阿里云yum源
 1.下载安装wgetyum install -y wget2.备份默认的yummv /etc/yum.repos.d /etc/yum.repos.d.backup3.设置新的yum目录mkdir -p /etc/yum.repos.d4.下载阿里yum配置到该目录中,选择对应版本wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo5.下载epel源wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel7.repo

修改yum.conf,注释exclude=kernel和exclude=centos-release,否则无法升级Centos系统的版本

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
#exclude=kernel*
#exclude=centos-release*
2.1.4升级系统内核
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt
grep initrd16 /boot/grub2/grub.cfg
grub2-set-default 0
#重启系统
reboot
2.1.5查看centos系统内核命令:
uname -r
uname -a
2.1.6查看CPU命令:
lscpu
2.1.7查看内存命令:
free
free -h
2.1.8查看硬盘信息
fdisk -l

2.2centos7系统配置:

2.2.1关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2.2.2关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
setenforce 0
2.2.3网桥过滤
vi /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1
net.ipv4.ip_forward=1
net.ipv4.ip_forward_use_pmtu = 0
生效命令
sysctl --system
查看效果
sysctl -a|grep "ip_forward"
2.2.4开启IPVS
安装IPVS
yum -y install ipset ipvsdm
编译ipvs.modules文件
vi /etc/sysconfig/modules/ipvs.modules
文件内容如下
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
赋予权限并执行
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash
/etc/sysconfig/modules/ipvs.modules &&lsmod | grep -e ip_vs -e
nf_conntrack
重启电脑,检查是否生效
reboot
lsmod | grep ip_vs_rr

注意:当内核版本高于4.9时,nf_conntrack_ipv4 要改为nf_conntrack

2.2.5同步时间
安装软件
yum -y install ntpdate
向阿里云服务器同步时间
ntpdate time1.aliyun.com
查看时间
date -R || date
2.2.6命令补全
安装bash-completion
yum -y install bash-completion bash-completion-extras
使用bash-completion
source /etc/profile.d/bash_completion.sh
2.2.7关闭swap分区
临时关闭:
swapoff -a
永久关闭:
vi /etc/fstab
将文件中的/dev/mapper/centos-swap这行代码注释掉
#/dev/mapper/centos-swap swap swap defaults 0 0
确认swap已经关闭:若swap行都显示 0 则表示关闭成功
free -m
2.2.8hosts配置
vi /etc/hosts10.150.201.17 k8s-master01
10.150.201.2 k8s-node01
10.150.201.224 k8s-node02
10.150.201.231 k8s-node03

2.3安装docker

2.3.1安装docker前置条件
yum install -y yum-utils device-mapper-persistent-data lvm2
2.3.2添加源
yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repovi /etc/yum.repos.d/docker-ce.repo
# 按ecs进行非编辑模式
:%s/https:\/\/download.docker.com/https:\/\/mirrors.aliyun.com\/docker-ce/g
yum makecache fast
2.3.3查看docker更新版本
yum list docker-ce --showduplicates | sort -r
2.3.4安装docker最新版本
安装指定版本:
yum -y install docker-ce-18.09.8
可以通过docker version命令查看
docker-client版本:当前最新版本
docker-server版本为:18.09.8
2.3.5开启dock而服务
systemctl start docker
systemctl status docker
2.3.6安装阿里云镜像加速器以及修改Cgroup Driver
mkdir -p /etc/dockertee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://trqcg3pj.mirror.aliyuncs.com","http://hub-mirror.c.163.com"],"exec-opts": ["native.cgroupdriver=systemd"]
}
EOFsystemctl daemon-reload
systemctl restart docker
查看修改后状态:
docker info | grep Cgroup
2.3.7设置docker开启启动服务
systemctl enable docker

2.4安装kubernates

2.4.1新建repo文件
vi /etc/yum.repos.d/kubernates.repo
2.4.2文件内容
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
2.4.3更新缓存
yum clean all
yum -y makecache
2.4.4验证源是否可用
yum list | grep kubeadm
如果提示要验证yum-key.gpg是否可用,输入y。
查找到kubeadm。显示版本
2.4.5查看k8s版本
yum list kubelet --showduplicates | sort -r
2.4.6安装k8s-1.17.5
yum install -y kubelet-1.17.5 kubeadm-1.17.5 kubectl-1.17.5

2.5设置kubelet

2.5.1增加配置信息
如果不配置kubelet,可能会导致K8S集群无法启动。为实现docker使用的cgroupdriver与kubelet
使用的cgroup的一致性。
vi /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"
2.5.2设置开机启动
systemctl enable kubelet

2.6导入镜像

2.6.1导入master节点和node节点都需要导入

在可以科学上网的机器上拉取所需要的镜像,然后导出 k8s.1.17.5.tar

docker save -o k8s.1.17.5.tar k8s.gcr.io/kube-proxy:v1.17.5 k8s.gcr.io/kube-apiserver:v1.17.5 k8s.gcr.io/kube-controller-manager:v1.17.5 k8s.gcr.io/kube-scheduler:v1.17.5 k8s.gcr.io/coredns:1.6.5 k8s.gcr.io/etcd:3.4.3-0 k8s.gcr.io/pause:3.1
docker save -o calico.3.14.2.tar calico/cni:v3.14.2 calico/pod2daemon-flexvol:v3.14.2 calico/node:v3.14.2 calico/kube-controllers:v3.14.2

接着将 k8s.1.17.5.tar 导入到集群所有的服务器

docker load -i k8s.1.17.5.tar

2.7初始化集群

2.7.1配置k8s集群网络
docker load -i calico.3.14.2.tar配置hostname:
hostnamectl set-hostname k8s-master01
其他子节点按host名称依依对应 如10.150.201.2:
hostnamectl set-hostname k8s-node01
2.7.2初始化集群信息:calico网络
kubeadm init --apiserver-advertise-address=10.150.201.17 --kubernetes-version v1.17.5 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.81.0.0/16

执行上述命令成功后注意保留 最后成功后的信息!这条信息为node节点加入master 集群信息的命令

2.7.3执行配置命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
2.7.4node节点加入集群信息
依据master节点执行初始化成功的信息 !(不能照抄)
kubeadm join 10.150.201.17:6443 --token 15bh7o.065xrrnlhs66fy6n \--discovery-token-ca-cert-hash sha256:04c7c4597fbebccde91f24f1065937c9994a6f0b9119a29ddc7800b846a1c720
2.7.5 在master节点查看集群信息
get nodes -o wide

此时可以看到节点信息,但都处于unready状态

2.7.6 通过calico初始化网络
wget https://docs.projectcalico.org/v3.14/manifests/calico.yamlkubectl apply -f ./calico.yaml#最后查看节点状态
get nodes -o wide

2.8安装 Kubernetes Dashboard

2.8.1下载配置文件
#官方网站
https://github.com/kubernetes/dashboard
#下载配置文件
wget https://github.com/kubernetes/dashboard/blob/v2.0.3/aio/deploy/recommended.yaml
2.8.2修改配置文件
179行左右
containers: - name: kubernetes-dashboard image: kubernetesui/dashboard:v2.0.0-rc7imagePullPolicy: IfNotPresent
262行左右。新增下载策略
containers: - name: dashboard-metrics-scraper image: kubernetesui/metrics-scraper:v1.0.4 imagePullPolicy: IfNotPresent

默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部访问。找到Services配置。在配置文件上边。增加type:NodePort和 nodePort:30100端口

kind: Service
apiVersion: v1
metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboard spec: ports: - port: 443 targetPort: 8443 nodePort: 30100 type: NodePort selector: k8s-app: kubernetes-dashboard

在配置文件最下边增加用户及给用户授予集群管理员角色

---
apiVersion: v1
kind: ServiceAccount
metadata: labels: k8s-app: kubernetes-dashboard name: dashboard-admin namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata: name: dashboard-admin-cluster-role
roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin
subjects: - kind: ServiceAccount
2.8.3在Master(包含apiService)的节点上部署dashboard
kubectl apply -f ./recommended.yamlkubectl get pods -n kubernetes-dashboard -o wide kubectl get svc -n kubernetes-dashboard
2.8.4获取登录token
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes- dashboard get secret | grep dashboard-admin | awk '{print $1}')

或者

1.根据命名空间找到我们创建的用户
kubectl get sa -n kubernetes-dashboard
2.查看我们创建用户的详细信息。找到token属性对应的secret值
kubectl describe sa dashboard-admin -n kubernetes-dashboard
kubectl describe secrets dashboard-admin-token-9pl4b -n kubernetes-dashboard
3.或者是根据命名空间查找secrets。获得dashboard-admin用户的secret。
kubectl get secrets -n kubernetes-dashboard kubectl describe secrets dashboard-admin-token-9pl4b -n kubernetes-dashboard
2.8.5浏览器访问
注意:是https方式访问
https://10.150.201.17:30100/


输入token访问,登录 Dashboard

手把手教你搭建Kubernetes集群相关推荐

  1. 【超详细】手把手教你搭建MongoDB集群搭建

    MongoDB集群搭建 MongoDB集群简介 mongodb 集群搭建的方式有三种: 主从备份(Master - Slave)模式,或者叫主从复制模式. 副本集(Replica Set)模式 分片( ...

  2. redis 端口_「建议收藏」手把手教你搭建redis集群

    前言 在生产中单机的redis服务不能保证程序的高可用,所以有时需要我们来搭建一个redis集群,保证某一台redis服务挂了的时候,我们的服务还可以保证正常运行. 单机redis的搭建,可以参考我的 ...

  3. Centos7搭建Kubernetes集群

    @Author:By Runsen Kubernetes Kubernetes 及其整个生态系统(工具.模块.插件等)均使用 Go 语言编写,从而构成一套面向 API.可高速运行的程序集合,这些程序文 ...

  4. Kubernetes入门--搭建Kubernetes集群,并启动容器服务

    英文原作者:Ben Cane  翻译作者:Miazzy 翻译&转载:https://blog.codeship.com/getting-started-with-kubernetes/ Kub ...

  5. Kubeadm介绍与使用Kubeadm搭建kubernetes集群环境

    文章目录 1.Kubeadm介绍 2.使用Kubeamd搭建kubernetes集群环境 2.1.首先准备一个三台的centos机器 2.2.yum -y update [在三台机器上执行更新包] 2 ...

  6. k8s学习(2)- 虚拟机搭建搭建Kubernetes集群(1.24.2)

    虚拟机搭建搭建Kubernetes集群 环境 规划 虚拟机搭建 配置网络 解决和主机复制粘贴的问题 使用MobaXterm连接虚拟机 安装vmware tools(建议使用MobaXterm) 配置y ...

  7. 使用VirtualBox【四步】搭建Kubernetes集群(2023-02-13)

    文章内容: 使用VirtualBox.Containerd.Kubeadm等在本地搭建一个用于测试的3节点Kubernetes集群. 搭建过程中踩过的坑以及解决方案说明. 搭建环境:MacOS Mon ...

  8. 从头开始搭建kubernetes集群+istio服务网格(3)—— 搭建istio

    (win10 + virtualbox6.0 + centos7.6.1810 + docker18.09.8 + kubernetes1.15.1 + istio1.2.3) 本文参考网址: htt ...

  9. 从0到1搭建kubernetes集群

    环境准备 笔者是在阿里云租了三台ecs服务器,系统选用的ubuntu16.04(2核4G,建议CPU核数不少于2, 配置过低preflight checks阶段可能会报错). 使用几个虚拟机也可,有条 ...

最新文章

  1. 在windows程序中嵌入Lua脚本引擎--编写自己的Lua库
  2. UI设计培训分享:ui的字体怎么正确设置?
  3. C语言 字符串转换成int、long和double型
  4. Linux 基础学习(第一节)
  5. c语言 系统命令,c语言如何调用系统命令
  6. 通过Chrome模拟和调试网速慢的情况来限制一些P2P视频网站上传速度占满的情况...
  7. GB4208中规定的外壳防护等级IP
  8. 生物信息考研C语言,四川大学生物信息学初试经验分享
  9. python规则引擎开发经验_关于物联网规则引擎技术,你想要知道的都在这儿!
  10. 小米主办HBaseCon亚洲峰会,打造世界一流的“工程师理想乐园”
  11. python3.7安装步骤-Python 3.7.0安装教程(附安装包) | 我爱分享网
  12. linux 声音设置,Linux aumix设置音效装置命令详解
  13. 【Android探索】基于OpenCV的微液滴粒径分析APP
  14. Install Burg Bootloader
  15. 使用ImageJ测图片中物体的平均灰度值
  16. 利用社交网络数据进行推荐
  17. sdlc 瀑布式 生命周期_管理信息系统中的SDLC瀑布模型
  18. 有道词典_每日一句_2019/09
  19. 网页平面设计/广州平面UI设计培训就业班课程
  20. 日记侠:朋友圈一定要刷屏吗?

热门文章

  1. CSS - 文本文字 增加外框、阴影、边框
  2. C语言有符号 存储,【填空题】在C语言中,对于整型变量采用有符号数和_________数两种存储形式。...
  3. 2016百度之星 - 测试赛(热身,陈题) 列变位法解密IP聚合放盘子
  4. 如何认识那些从硅谷文化中淘金的公司们
  5. 一亩三分地 新手上路 95大米 答案 新手入门
  6. 苹果 iPhone12 信号差,到底是谁的锅
  7. android file mkdir,警告:File.mkdir()被忽略
  8. 2009-2015年阅读书籍
  9. 单品秒杀(百万次秒杀、亿万次秒杀)
  10. php井字游戏代码_井字游戏 - 做一款回忆童年的游戏