【k8s——kubernetes】参考地址
一。基本说明
1.目标
为docker容器建造运行环境,这个环境叫Pod2.架构
k8s集群主要由Master节点和Node节点组成
Master是主节点(一个),负责管理和控制
Node是工作节点(一群),里面是具体的容器3.基本概念与术语
Cluster:是计算、存储和网络资源的集合,Kubernetes利用这些资源运行各种基于容器的应用
NameSpace:将一个物理的cluster逻辑上划分成多个Cluster,每个Cluster就是一个Namespace.不同Namespace里的资源是完全隔离的
Master: 控制节点。职责是调度,即决定将应用放在哪里运行
Node:工作节点。职责是运行容器应用。Node由Master管理,Node负责监控并汇报容器的状态,并根据Master的要求管理容器的生命周期
Pod:即环境,k8s的最小工作单元.每个pod包含一个或多个容器.pod中的容器会作为一个整体被Master调度到一个Node运行.
Controller:管理Pod的工具,Deploment是最常用的Controller,Deploment可以管理Pod的多个副本,并确保Pod按照期望的状态运行
Service:定义外界访问一组特定Pod的方式.Service有自己的Ip和端口,并把这个Ip和后端的Pod所跑的服务关联起来.
Service为Pod提供了负载均衡
二。构建k8s环境(三台服务器,一个Master两个Node)
1.设置三台服务器虚拟Ip地址别名
1.敲命令 hostnamectl set-hostname master(hostnamectl set-hostname work1)
2.vi etc/hosts,写上192.168.0.113 master(192.168.0.114 work1)
2.关闭一些东西
1.关闭swap:
临时禁用:swapoff -a
永久禁用:sed -i.bak '/swap/s/^/#/' /etc/fstab ##注释掉swap那一行2.关闭软件安装的安全级别校验vi /etc/sysconfig/selinux 修改OPTIONS='--selinux-enabled=false‘
3.配置ip_forward允许转发vi /proc/sys/net/ipv4/ip_forward,编辑里面的值为1
4.br_netfilter模块
lsmod |grep br_netfilter,查看是否有
添加br_netfilter: modprobe br_netfilter##再次查看,已经有了 3.安装并设置docker
1.下载 yum install docker-ce-18.89.9 docker-ce-cli-18.09.9 containerd.io -y
2.国内镜像加速配置,在etc/docker文件夹里面新增文件 daemon.json,并在里面写上语句
{
"registry-mirrors": ["https://10ne5axe.mirror.aliyuncs.com"]-- 镜像地址
"exec-opts":["native.cgroupdrivers=systemd"]-- docker底层驱动模式为system
}
3.设置docker开机启动systemctl enable docker && systemctl start docker 4.安装并设置k8s三大组件 Kubeadm Kubelet Kubectl
4.1.下载安装k8s
yum install -y kubelet-1.64.4 kebuadm-1.64.4 kubectl-1.64.44.2.设置k8s开机启动: systemctl enable kebulet && systemctl start kebulet 4.3. 加载k8s的配置到linux上下文
4.3.1 在home/root创建文件.bash_profile,并且在文件后面加上内容source < (kubectl completion bash)
echo "source < (kubectl completion bash)" >> ~/.bash_profile
4.3.2 将.bash_profile 文件配置到环境目录
进入跟目录,然后source .bash_profile4.4.初始化组件
kebuadm init
--image-repository registry.aliyuncs.com/google_containers
--kubernetes-version v1.16.4
--pod-network-cidr=10.244.0.0/16 5. mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf HOME/.kube/config
sudo chown $(id -u):(id -g) $HOME/.kube/config 6. 安装网络插件kube-flannel
6.1 新建文件 test-flannel.yml
6.2 运行文件 kubectl apply -f test-flannel.yml 7.加入节点(上面是操作Master服务器)
在节点服务器操作:
kubeadm join 192.168.3.253:6443
--token lau65m.3j0v7d3k4qmg9wom
--discovery-token-ca-cert-hash sha256:s1df5s4f5s4f5w45w4e5f45w45f45e4fw54ef4w5w54f查看所有服务器,包括Master和Node:kubectl get nodes
查看节点加入命令(在Master操作):kubeadm token create --print-join-command
三。怎么玩
查看创建的机器人:kubectl get deployment
创建机器人(机器人用来创建环境)kubectl run nginx-deployment
--iamge=nginx:1.7.9//镜像名称可自定义
--port=80//端口
--replicas=2//两个副本查看所有创建的环境:kubectl get pods 或者 kubectl get pods -o wide
查看具体环境的信息:kubectl describe pod 环境名称
推荐阅读
- Java 定时任务技术趋势分析
- java|能ping通,TCP就一定能连通吗()
- 分布式|浅谈 Raft 分布式一致性协议|图解 Raft
- java|学习java的第四十二天,GUI编程的基础认知
- Java学习|如何在eclipse中导入mysql-connector-java.jar包以及关于不同版本mysql-connector-java的jar包下载
- 体系课-Java工程师2022版yun盘fen享
- Linux 系统下 查找文件 命令总结,这个很哇塞!
- LeetCode|《LeetCode力扣练习》剑指 Offer 10- I. 斐波那契数列 Java
- java|Java基础复习第一天 java基本常识