zoukankan      html  css  js  c++  java
  • kubernetes安装部署

    一、安装要求

    部署kubernetes需要满足一下几个条件:

    1、三台虚拟机,centos7X系统,master:192.168.1.7 node1:192.168.1.8 node2:192.168.1.9

    2、硬件配置cpu2核,内存2G以上,存储30G以上

    3、所有主机可以访问公网

    4、禁止swap分区

     

    二、准备环境

    1、关闭防火墙

    #systemctl stop firewalld&&systemctl disable firewalld

    2、将selinux文件权限系统调整为disabled状态

    #vi /etc/selinux/config
    
    #sed -i 's/enforcing/disabled/' /etc/selinux/config
    
    #setenforce 0

    3、关闭swap

    #swapoff -a

    4、在master节点上增加主机名称解析

    #vi /etc/hosts
    192.168.1.7 master
    192.168.1.8 node1
    192.168.1.9 node2

    5、将桥接ipv4流量传递到iptables链路

    临时修改
    
    #cat << EOF > /etc/sysctl.d/k8s.conf
    
    > net.bridge.bridge-cf-call-ip6tables = 1
    > net.bridge.bridge-cf-call-iptables = 1
    > EOF
    
    #sysctl --system
    
    永久修改
    
    #vi /usr/lib/sysctl.d/00-system.conf

    #sysctl --system
    
    #systemctl daemon-reload

    三、所有节点安装docker/kubeadm/kubelet/kubectl

    1、安装docker

    #wget -P /etc/yum.repos.d/ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    #yum -y install docker-ce-18.06.1.ce-3.el7
    
    #systemctl enable docker&&systemctl start docker

    2、添加阿里云kubernetes yum源

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

    3、所有节点安装kubeadm/kubelet/kubelet

    #yum -y install kubeadm-1.15.0 kubelet-1.15.0 kubectl-1.15.0
    
    #systemctl enable kubelet
    

    四、部署kubernetes master

    1、初始化kubeadm init

    #date  //查看服务器时间是否与互联网一致
    
    #ntpdate time.windows.com  //同步互联网时间
    
    #yum -y install chrony 
    
    #systemctl enable chrony&&systemctl start chrony
    
    #kubeadm init --apiserver-advertise-address=192.168.1.7 --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、建立kubernetes 用户 //这里我们使用root用户

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

    五、部署pod 网络插件flannel

    #curl -O https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    
    #kubectl apply -f  kube-flannel.yml
    
    #docker pull lizhenliang/flannel:v0.11.0-amd64
    
    #kubectl get pods -n kube-system  //查看kube-system空间中的pod状态

     #kubectl get node  //查看master节点的状态

     六、部署node节点,join到master 

    1、两个node节点下载 flannel网络插件

    #kubeadm join 192.168.1.7:6443 --token 3q3jqh.r2cfnltsu0lplnae     --discovery-token-ca-cert-hash sha256:e70e5fe8ad1b55548928a02839776f42feed243cf51c956a2700996c015e7d4d

     

     

     

    2、master节点上查看node加入状态

    #kubectl get node

    七、测试kubernetes集群

    1、在kubernetes 建立一个pod,验证是否可以正常工作

    #kubectl create deployment nginx --image=nginx  //在吗master节点上创建一个deployment控制器,镜像为nginx
    
    #kubectl expose deployment nginx --port=80 --type=NodePort  //将nginx应用端口80暴露出来方便访问,以节点ip形式登陆
    
    #kubectl get pod,svc  //查看pod状态

    2、将nginx pod 扩容为三个副本

    #kubectl scale deployment nginx --replicas=3  //将nginx pod 扩容为三个副本,并发性变为三倍,三个pod提供服务

     

    八、部署kubernetes dashboard UI界面

    1、在node1和node2节点上下载dashboard镜像

    #docker pull lizhenliang/kubernetes-dashboard-amd64:v1.10.1

    2、master节点上下载dashboard yaml

    #wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
    
    #vim kubernetes-dashboard.yaml

    1)在deployment模块中,修改镜像仓库地址

     

    2)在service模块中增加type和端口号,只有node节点上可以访问

    注意格式和字符大小写

    3)修改后,执行命令生效

    #kubectl apply -f kubernetes-dashboard.yaml 

    #kubectl get pods -n kube-system  //查看命名空间,发现dashboard已经运行

    #kubectl get pods,svc -n kube-system  //查看dashboard pod 端口号 

    3、输入node节点IP+30001端口号,在浏览器中访问,默认启用是https访问

    https://$node ip+30001

      九、为k8s UI界面创建账号

    1、应用层面账号绑定,创建serviceaccount,绑定默认admin管理员集群角色,进程访问api时用到

    #kubectl create serviceaccount dashboard-admin -n kube-system  

     2、集群角色绑定dashboard-admin,超级管理员权限 

    #kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

     

     3、获取kogen,输入令牌登陆UI界面

    #kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

    token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tOXhrZjUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiMTE4ZTVlNTMtMzkwOC00NmUyLWIwZWEtNmNmMTUzMzExZmRjIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.yoaG8zJks4CzF068D_OKETMo-r4iJR76_RKPr95sPvLyP6kODH7MUSLT0574U5XW0uDkE95zZdVSTrvmHl-WF5qTgqjP2-9LweVP1EGaZKESzd15ICHa9SBlnP_QlwcxPo5F3gCKKBkU-XNtJik1B2-u4_pxdFeHPibzmjBzEEEf3DDl_nX9-OZi0tmmeLwnmggYb2u71Pbs_q8cInX0Y3pDoculuhAymgfnEj7j4QrfqmKl_M2i-He2F_wjCCljbkxzmjdiJCwMLdNtOik212jUrKnmxVY7DuNDASx5m-5WPWDqOSjxeSrHLupctCi_uGPihIc_TfdSOq1CpG2seQ

     

     

     

     

    4、输入令牌登陆成功

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    LinkLabel控件使用
    读取mysql代码片段
    设置点风格
    C# List 用法
    图片焦点图切换效果
    dreamweaver 泛泛之谈
    js 之for..in、表单及事件触发
    实现省份查询 功能
    input类主要是
    js (1)
  • 原文地址:https://www.cnblogs.com/houjunjun437416/p/11857219.html
Copyright © 2011-2022 走看看