简介
Kubernetes 是谷歌开源的容器集群管理系统,是 Google 多年大规模容器管理技术
Borg 的开源版本,也是 CNCF 最重要的项目之一,
主要功能包括:
基于容器的应用部署、维护和滚动升级
负载均衡和服务发现
跨机器和跨地区的集群调度
自动伸缩
无状态服务和有状态服务
广泛的 Volume 支持
插件机制保证扩展性
核心组件
1.etcd--储存了整个集群的所有重要信息(持久化)
2.APi server--所有服务访问的统一入口
3.controller manager--维护集群状态、比如故障检测、自动扩展、滚动更新
4.scheduler --负责资源调度,按照预定调度将Pod调度到相应的机器上
5.Kubelet-负责维护容器的生命周期
6.Kube-proxy--实现负载均衡、写入规则至iptables IPVS实现服务映射访问的
7.conredns--为集群中的SVC创建一个域名IP的对应关系解析
8.DASHBOARD--给k8s集群提供一个B/S结构的访问体系
9.federation--提供一个可以跨集群中心 多个k8s统一的管理功能
实现准备
192.168.100.10* master1
192.168.100.10* node01
192.168.100.10* node02
修改主机名
hostnamectl set-hostname master1
hostnamectl set-hostname node01
hostnamectl set-hostname node02
配置hosts文件并传送其他节点
vi /etc/hosts
#—添加你的master节点以及node节点
[root@master1 ~]$>scp -r /etc/hosts root@192.168.100.105:/etc/hosts
[root@master1 ~]$>scp -r /etc/hosts root@192.168.100.106:/etc/hosts
master节点执行
wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos && \
chmod +x sealos && mv sealos /usr/bin
wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/d551b0b9e67e0416d0f9dce870a16665-1.18.0/kube1.18.0.tar.gz
sealos init --passwd 123 \ #--passwd 节点密码
--master 192.168.100.104 \ #--master节点IP
--node 192.168.100.105 --node 192.168.100.106\ #--两个node节点IP
--pkg-url /root/kube1.18.0.tar.gz \
--version v1.18.0
查看集群节点状态
[root@master1 ~]$>kubectl get node
web界面的配置
配置hosts文件,访问wget下载无法简历ssl连接
vi /etc/hosts
末尾添加
199.232.68.133 raw.githubusercontent.com
master执行
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
加载
kubectl create -f kube-flannel.yml
查看状态是否都是running
kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-84445dd79f-6r688 1/1 Running 0 22m
calico-node-5q779 1/1 Running 0 21m
calico-node-dcsr9 1/1 Running 0 22m
calico-node-w5sz4 1/1 Running 0 21m
coredns-66bff467f8-5rlll 1/1 Running 0 22m
coredns-66bff467f8-l4x68 1/1 Running 0 22m
etcd-master1 1/1 Running 0 22m
kube-apiserver-master1 1/1 Running 0 22m
kube-controller-manager-master1 1/1 Running 0 22m
kube-flannel-ds-amd64-4sm25 1/1 Running 0 19m
kube-flannel-ds-amd64-fds62 1/1 Running 0 19m
kube-flannel-ds-amd64-v4b7p 1/1 Running 0 19m
kube-proxy-jq7wc 1/1 Running 1 22m
kube-proxy-nvc2f 1/1 Running 0 21m
kube-proxy-q5qrf 1/1 Running 0 21m
kube-scheduler-master1 1/1 Running 0 22m
kube-sealyun-lvscare-node01 1/1 Running 0 21m
kube-sealyun-lvscare-node02 1/1 Running 0 20m
上传dashboard.yaml
百度网盘提取
链接:https://pan.baidu.com/s/1WerY2ls7NVjuxIptKHB6tA
提取码:oj9s
加载
kubectl create -f dashboard.yaml
查看状态
kubectl get pod,svc -n kubernetes-dashboard
vi adminuser.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
-f加载启用
kubectl create -f adminuser.yaml
查看token
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
浏览器访问masterIP+端口30001
这里我们选择Token 复制我们上面查询的token粘贴进来------就可以了