IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> K8S集群搭建(kubeadm) -> 正文阅读

[系统运维]K8S集群搭建(kubeadm)

目录

引言:

一.部署规划

二.部署环境(以下操作需要每一台设备都进行相应的修改)

1.关闭防火墙等安全策略

2.修改主机名

3.映射

三.部署(每一台设备都进行相同操作)

1.安装docker(并设置开机自启)2.安装kubeadm、kubelet核kubectl

3.指定版本

4.关闭swap分区

四.master节点操作

1.初始化

2.执行初始化完成后提示的操作

3.安装网络插件(本案例中使用的是flannel)

4.查看一下主件信息

五.node节点操作

1.添加网络插件(flannel)

2.加入集群

3.回到master节点检查node节点是否接入成功,节点和组件状态是否正常

4. 给node节点打标签(master节点上操作)

5.查看部署结果(master节点操作)

总结:


引言:

K8S的搭建方式有很多种,adm搭建是非常方便,快速的一种。

一.部署规划

master :192.168.29.55

node1:192.168.29.11

node2:192.168.29.66

二.部署环境(以下操作需要每一台设备都进行相应的修改)

1.关闭防火墙等安全策略

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# 

2.修改主机名

[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# su
[root@master ~]# 

3.映射

[root@master ~]# vim /etc/hosts


192.168.29.55 master
192.168.29.11 node1
192.168.29.66 node2
                  

三.部署(每一台设备都进行相同操作)

1.安装docker(并设置开机自启)
2.安装kubeadm、kubelet核kubectl

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

3.指定版本

yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0


#查看版本

rpm -qa | grep kube




#设置开机自启动
systemctl enable kubelet

4.关闭swap分区


swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab  
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

四.master节点操作

1.初始化


mkdir k8s && cd k8s
kubeadm init \
--apiserver-advertise-address=192.168.29.55 \        #修改为master节点IP
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.15.0 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16


初始化成功的页面

?

2.执行初始化完成后提示的操作

 mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

3.安装网络插件(本案例中使用的是flannel)

[root@master k8s]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml

4.查看一下主件信息

[root@master k8s]# kubectl get cs
NAME                 STATUS    MESSAGE             ERROR
scheduler            Healthy   ok                  
controller-manager   Healthy   ok                  
etcd-0               Healthy   {"health":"true"}   
[root@master k8s]# kubectl get node
NAME     STATUS   ROLES    AGE     VERSION
master   Ready    master   4m58s   v1.15.0
[root@master k8s]# 

五.node节点操作

1.添加网络插件(flannel)

#获取镜像
docker pull lizhenliang/flannel:v0.11.0-amd64

2.加入集群

#使用master节点初始化是生成的令牌加入

kubeadm join 192.168.29.55:6443 --token qnhrf8.e6v8jj2bc0iblgv2 \
    --discovery-token-ca-cert-hash sha256:a6c5540b4f465c4b45491abfbfd983873f35f8c2c2178be0c1422281e2c6e6ab

#默认token有效期为24小时,当过期之后,该token就不可用了,需要重新创建token,命令如下

kubeadm token create --print-join-command

3.回到master节点检查node节点是否接入成功,节点和组件状态是否正常

[root@master k8s]# kubectl get node
NAME     STATUS   ROLES    AGE   VERSION
master   Ready    master   11m   v1.15.0
node1    Ready    <none>   42s   v1.15.0
node2    Ready    <none>   38s   v1.15.0
[root@master k8s]# kubectl get cs
NAME                 STATUS    MESSAGE             ERROR
controller-manager   Healthy   ok                  
scheduler            Healthy   ok                  
etcd-0               Healthy   {"health":"true"}   
[root@master k8s]# 

4. 给node节点打标签(master节点上操作)

#打node标签
kubectl label node node1 node-role.kubernetes.io/node=work
kubectl label node node2 node-role.kubernetes.io/node=work

5.查看部署结果(master节点操作)

[root@master k8s]# kubectl get node
NAME     STATUS   ROLES    AGE     VERSION
master   Ready    master   16m     v1.15.0
node1    Ready    node     4m49s   v1.15.0
node2    Ready    node     4m45s   v1.15.0
[root@master k8s]# kubectl get cs
NAME                 STATUS    MESSAGE             ERROR
controller-manager   Healthy   ok                  
scheduler            Healthy   ok                  
etcd-0               Healthy   {"health":"true"}   
[root@master k8s]# kubectl get pod -A
NAMESPACE     NAME                             READY   STATUS    RESTARTS   AGE
kube-system   coredns-bccdc95cf-45wc2          1/1     Running   0          17m
kube-system   coredns-bccdc95cf-8vztt          1/1     Running   0          17m
kube-system   etcd-master                      1/1     Running   0          16m
kube-system   kube-apiserver-master            1/1     Running   0          15m
kube-system   kube-controller-manager-master   1/1     Running   0          16m
kube-system   kube-flannel-ds-amd64-cdg7d      1/1     Running   0          6m8s
kube-system   kube-flannel-ds-amd64-q44h7      1/1     Running   0          13m
kube-system   kube-flannel-ds-amd64-xmc9w      1/1     Running   0          6m5s
kube-system   kube-proxy-k88l9                 1/1     Running   0          17m
kube-system   kube-proxy-kwtgz                 1/1     Running   0          6m5s
kube-system   kube-proxy-vvswm                 1/1     Running   0          6m8s
kube-system   kube-scheduler-master            1/1     Running   0          16m
[root@master k8s]# 


总结:

adm搭建K8S集群的方式很简单,容易快速上手,是初学K8S的朋友不错的选择。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-23 11:09:45  更:2022-04-23 11:10:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:59:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码