• Kubernetes集群部署


    镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

    一、环境要求

    系统版本:CentOS7.x版本

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

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

    禁用swap分区

    二、k8s基础环境操作:

    1、关闭防火墙:

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

    2、关闭selinux:

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

    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
      • 1
      • 2
      • 3
      [root@localhost ~]# sysctl --system

        file

        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

                        file

                        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
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6

                        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
                            • 1

                            四、部署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地址

                              file

                              五、配置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

                                            file

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

                                            [root@k8s-node1 ~]# docker ps

                                              file

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

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

                                                file

                                                九、部署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

                                                    file

                                                    file

                                                    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

                                                        file

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

                                                        file

                                                        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
                                                        • 1
                                                        • 2

                                                        file

                                                        6、查看token的具体信息

                                                        [root@k8s-master~]# kubectl describe secret dashboard-admin-token-92djb -n kube-system

                                                          file

                                                          7、把密令输入在令牌中

                                                          file

                                                          8、登陆成功的页面:

                                                          file

                                                          本文转自:https://blog.51cto.com/u_15397018/5367484

                                                        • 相关阅读:
                                                          ccs无法进入main函数
                                                          Python生物医学专业案例 - 细胞计数
                                                          深入 K8s 网络原理(一)- Flannel VXLAN 模式分析
                                                          “星链”计划给国际通信运营商带来的挑战和机遇
                                                          【STM32】软件SPI读写W25Q64芯片
                                                          springboot/ssm贫困地区儿童资助系统Java贫困儿童捐赠管理系统web
                                                          容器管理Rancher与容器监控
                                                          Nginx+Tomcat负载均衡、动静分离
                                                          设计模式—简单工厂
                                                          不精确微分/不完全微分(Inexact differential/Imperfect differential)
                                                        • 原文地址:https://blog.csdn.net/m0_60028455/article/details/125441769