Kubernetes系列(一)部署及安装(未完成中)

1.什么是Kubernetes

kuberneter是一个生成级别的开源平台,可协调在计算机集群内核跨计算机集群的应用容器的部署(调度)和执行,他具有完备的集群管理能力,包括多层次的安全防护和准入机制,多租户应用支撑能力,透明的服务注册和服务发现机制,内建智能负载均衡器,和强大的故障发现和自我修复能力,服务滚动升级,和在线扩容能力,可扩展的资源自动调度机制,以及多粒度的资源配置管理能力

kubernetes是一个开放的平台,不局限于任何一种语言,没有限定的任何编程接口,所以不论使用java,Go,C++还是python编写的服务,都可以被映射为kubernetes的Service服务,并通过标准的TCP通信协议进行交互。此外,Kubernetes平台对现有的编程语言、 编程框架、中间件没有任何侵入性,因此现有的系统也很容易改造升级并迁移到Kubernetes平台上

2.Kubernetes的优势

  1. 强大的生态圈环境(谷歌的背书)

  2. 轻松便捷的分布式系统设计、实现和运维

  3. 包含微服务架构的基础设施(如:服务注册发现、负载均衡、在线扩容、滚动升级等)

  4. 超强的横向扩展能力。在线集群扩容,能将Kubernetes集群从只包含几个Node平滑扩展到包含上百个Node的大集群

  5. 内部服务弹性扩容机制,快速扩容缩容Service的实例副本以提升或降低系统的吞吐量

3.kubernetes基础架构

在这里插入图片描述

4.安装配置

环境:

  1. 三台机器:Master、Node01、Node02
  2. 64位操作系统Linux 内核3.10以上CentOS7(Ubuntu16.04+)
  3. CPU至少2个核,推荐4核
  4. 内存最少2G,推荐8G
  5. Etcd 3.0版本
  6. Docker 18.03版本及以上
  7. Flanne(法兰绒)
    1:查看系统内版本是否为4.0,3.1版本有不可预期的问题
uname -a

在这里插入图片描述

# 内核的第三方仓库
$ rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

在这里插入图片描述
3:

# 查看可以安装的最新的稳定内核
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

在这里插入图片描述
kernel-[lt/ml]
lt:long term support长期支持的支线版本
ml:main line主线版本

# 安装最新的稳定内核
$ yum --enablerepo=elrepo-kernel install -y kernel-lt
# 查看可用的操作系统内衬相关包
$ cat /boot/grub2/grub.cfg
$ awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg
# 设置相应的Linux内核
$ yum install -y grub2-pc
$ grub2-set-default 0
#重启后才会生效
$ reboot

在配置下虚拟机的hosts文件,使的相互可以使用主机名通信

192.168.1.108 master
192.168.1.109 docker1
192.168.1.110 docker2

至此三体虚拟机的基本环境就配置好了

#1. 关闭swap
$ swapoff -a
$ sed -i '/swap / s/^\(.*\)$/#\1/g' /etc/fstab
#2. 关闭SELinux
$ setenforce 0
$ sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
#3. 安装iptables
$ yum install -y iptables-services
$ systemctl start iptables
$ systemctl enable iptables
#4. 清空iptables规则
$ iptables -F
#5. 开启Netfilter
$ modprobe br_netfilter
#6. 设置ipvs支持
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf-conntrack_ipv4

4.1K8S配置文件

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
# 开启网桥模式
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system

未完成。。。

二 . docker for desktop/windows安装k8s

首先在windows电脑下安装docker(我这个为当前最新版)
在这里插入图片描述

2.1填入阿里云镜像源

https://docker.mirrors.ustc.edu.cn
在这里插入图片描述
默认方式国内用户是无法安装的,用户需要按照下列方式安装k8s:
使用powershell运行下面的命令

git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git
cd k8s-for-docker-desktop
#修改为docker上提示的版本
git checkout v1.19.7

镜像拉取完后启动k8s既即可在这里插入图片描述
启动后在PowerShell中执行的显示结果为
在这里插入图片描述

在这里插入图片描述

2.2配置 Kubernetes 控制台

 $ kubectl get pods -n kubernetes-dashboard

如果显示的没有全部启动需要排查下原因
在这里插入图片描述

#查看k8s节点错误信息
#kube-system:系统节点
#storage-provisioner:节点名称
kubectl describe pod storage-provisioner -n kube-system

验证后如果是发现自己操作无误,那么重启docker和k8s,一定要确保都启动了

2.3部署 Kubernetes dashboard

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
# 或
kubectl create -f kubernetes-dashboard.yaml
# 检查 kubernetes-dashboard 应用状态
kubectl get pod -n kubernetes-dashboard
# 开启 API Server 访问代理
kubectl proxy

通过如下 URL 访问 Kubernetes dashboard:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/overview?namespace=default

2.4配置控制台访问令牌

对于Windows环境

$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
echo $TOKEN

在这里插入图片描述
在这里插入图片描述

参考地址:https://github.com/AliyunContainerService/k8s-for-docker-desktop#%E9%83%A8%E7%BD%B2-kubernetes-dashboard

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值