3

#云原生征文#Kubernetes集群部署

 2 years ago
source link: https://blog.51cto.com/u_15397018/5367484
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

#云原生征文#Kubernetes集群部署

推荐 原创

韦建国 2022-06-08 17:21:27 博主文章分类:容器 ©著作权

文章标签 docker linux 2d 文章分类 Linux 系统/运维 阅读数399

一、环境要求

系统版本:CentOS7.x版本

硬件配置:内存2GB以上  cpu2核以上  硬盘大于30G

集群网络配置:集群中所有服务器内网必须互通,并且需要访问外网来拉取镜像

禁用swap分区

二、k8s基础环境操作:

1、关闭防火墙:

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld

2、关闭selinux:

[root@localhost ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config
[root@localhost ~]# getenforce

3、关闭swap分区:

临时关闭:

[root@localhost ~]# swapoff -a

永久关闭:注释掉/etc/fstab文件中的swap行

4、进行hosts文件编辑:

192.168.8.146     k8s-master

192.168.8.141      k8s-node1

192.168.8.129     k8s-node2 

5、将桥接的IPv4流量传递到iptables的链

[root@localhost ~]# cat > /etc/sysctl.d/k8s.conf << EOF
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF
[root@localhost ~]# sysctl --system
#云原生征文#Kubernetes集群部署_linux

6、开启IP转发功能

[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

三、安装docker(三台机器都操作)

1、卸载旧版docker

[root@localhost ~]# yum remove docker docker-common docker-selinux docker-engine

2、安装一些必要的系统工具

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

3、配置docker的稳定版本仓库

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4、更新安装包索引

[root@localhost ~]# yum makecache fast

5、安装docker ce

[root@localhost ~]# yum -y install docker-ce-18.06.1.ce-3.el7

6、开机自启和启动docker

[root@localhost ~]# systemctl enable docker && systemctl start docker

7、查看docker版本

[root@localhost ~]# docker --version

#云原生征文#Kubernetes集群部署_linux_02

8、添加阿里云YUM软件源

[root@localhost ~]# vim /etc/yum.repos.d/kubernetes.repo
[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

9、

[root@localhost ~]# yum clean all

10、

[root@localhost ~]# yum makecache

安装kubeadm,kubelet和kubectl

11、由于版本更新频繁,这里指定版本号部署:

[root@localhost ~]# yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
[root@localhost ~]# systemctl enable kubelet

四、部署Kubernetes Master(这个在master主机里操作):

[root@k8s-master~]#kubeadm init --apiserver-advertise-address=192.168.8.146 --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

   注意:192.168.8.146ip是master主机的ip地址

#云原生征文#Kubernetes集群部署_linux_03

五、配置kubectl访问集群(三台机器操作):

1、

[root@localhost ~]# mkdir -p $HOME/.kube

2、

[root@k8s-master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

3、

[root@k8s-master ~]# chown $(id -u):$(id -g) $HOME/.kube/config

六、Master安装flannel(主机master里操作):

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

1、查看索引pod

[root@k8s-master ~]# kubectl get pod -n kube-system

2、查看节点

[root@k8s-master ~]# kubectl get node

七、加入node节点(在两台node上做):

1、

[root@k8s-node1 ~]# kubeadm join 192.168.8.146:6443 --token vhykt2.0jjdgdcnclxhts41 --discovery-token-ca-cert-hash sha256:bf42d67996e593a1e5844ba717d97e1249ed85bf86d83322b88c108d2f6a3dc1
#云原生征文#Kubernetes集群部署_linux_04

2、查看node1节点是否成功(在node1上做)

[root@k8s-node1 ~]# docker ps
#云原生征文#Kubernetes集群部署_docker_05

八、查看节点信息(在master操作)

[root@k8s-master ~]# kubectl get node
#云原生征文#Kubernetes集群部署_docker_06

九、部署dashboard(master主机操作)

[root@k8s-master~]#wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

1、

[root@k8s-master ~]# vim kubernetes-dashboard.yaml
#云原生征文#Kubernetes集群部署_linux_07
#云原生征文#Kubernetes集群部署_linux_08

2、安装dashboard

[root@k8s-master ~]# kubectl apply -f kubernetes-dashboard.yaml

3、使用master节点ip地址+端口来访问,协议是https的

查看Dashboard端口信息:

[root@k8s-master ~]# kubectl --namespace=kube-system get service kubernetes-dashboard

#云原生征文#Kubernetes集群部署_linux_09

4、以我自己的服务器为访问对象,使用 ​https://172.16.204.130:30310即可访问

#云原生征文#Kubernetes集群部署_linux_10

5、Token

[root@k8s-master ~]# kubectl create serviceaccount dashboard-admin -n kube-system
[root@k8s-master~]#kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
[root@k8s-master ~]# kubectl get secret -n kube-system
#云原生征文#Kubernetes集群部署_docker_11

6、查看token的具体信息

[root@k8s-master~]# kubectl describe secret dashboard-admin-token-92djb -n kube-system
#云原生征文#Kubernetes集群部署_linux_12

7、把密令输入在令牌中

#云原生征文#Kubernetes集群部署_docker_13

8、登陆成功的页面:

#云原生征文#Kubernetes集群部署_docker_14

【本文正在参加云原生有奖征文活动】,活动链接:https://ost.51cto.com/posts/12598”;


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK