当前位置: 首页 > Linux

Centos7下Kubernetes1.13.3集群搭建

时间:2023-04-06 11:30:22 Linux

Centos7下Kubernetes1.13.3集群搭建Linux虚拟机配置:双核4G前期准备检查IPvi/etc/sysconfig/network-scripts/ifcfg-ens33servicenetworkstartipaddrconfigurationselinuxandfirewalldSetSelinuxinpermissivemodesetenforce0sed-i's/^SELINUX=enforcing$/SELINUX=permissive/'/etc/selinux/configStopanddisablefirewalldsystemctldisablefirewalld--now系统参数和内核模块修改内核参数cat<etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables=1net.bridge.bridge-nf-iptables=1EOFsysctl--系统加载内核模块modprobebr_netfilterlsmod|grepbr_netfilter配置yum源cd/etc/yum.repos.dmvCentOS-Base.repoCentOS-Base.repo.bakcurl-oCentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.reposed-i's/gpgcheck=1/gpgcheck=0/g'/etc/yum.repos.d/CentOS-Base.repocurl-odocker-ce.repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repocat</etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0repo_gpgcheck=0gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpghttp://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgEOFyummakecacheyumrepolistdisableswapswapoff-aecho"vm.swappiness=0">>/etc/sysctl.confsysctl-pinstalldocker查看可用的版本:yumlistdocker-ce--showduplicates|sort-r我们选择一个版本安装:yuminstalldocker-ce-这里我选择的是18.03.1,所以我使用的命令是:启动docker:systemctlenabledocker--now查看服务状态:systemctl状态dockerinstallKubernetesyuminstall-ykubelet-1.13.3yuminstall–ykubectl-1.13.3yuminstall–ykubeadm-1.13.3最后启动kubelet,并设置为自动开机:systemctlenablekubeletsystemctlstartkubelet查看安装的文件需要下载Mirrorkubeadmconfigimageslist然后拉取对应的镜像,标记为对应的标签镜像准备为了解决k8s.gcr.io在国内普遍无法访问的问题,我们从mirrorgooglecontainers下载镜像,然后打上标签绕过网络限制:dockerpulldocker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.13.3docker标签docker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.13.3k8s.gcr.io/kube-apiserver:v1.13.3dockerpulldocker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.13.3docker标签docker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.13.3k8s.gcr.io/kube-controller-manager:v1.13.3dockerpulldocker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.13.3docker标签docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.13.3k8s.gcr.io/kube-scheduler:v1.13.3dockerpulldocker.io/mirrorgooglecontainers/kube-proxy-amd64:v1。13.3docker标签docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.13.3k8s.gcr.io/kube-proxy:v1.13.3dockerpulldocker.io/mirrorgooglecontainers/pause-amd64:3.1docker标签docker.io/mirrorgooglecontainers/pause-amd64:3.1k8s.gcr.io/pause:3.1dockerpulldocker.io/mirrorgooglecontainers/etcd-amd64:3.2.24docker标签docker.io/mirrorgooglecontainers/etcd-amd64:3.2.24k8s.gcr.io/etcd:3.2.24dockerpulldocker.io/coredns/coredns:1.2。6dockertagdocker.io/coredns/coredns:1.2.6k8s.gcr.io/coredns:1.2.6>搭建k8s主节点,ip使用当前虚拟机kubeadminit--kubernetes-version=1.13的IP地址。3--pod-network-cidr=10.224.0.0/16--apiserver-advertise-address=如果遇到错误,请更正错误信息。比如不关闭swap会遇到错误,系统CPU不够用,遇到错误,网络没有连接等等都会遇到错误。如果仔细看报错信息,通常很容易解决~运行上面的init命令后,你会看到类似如下的输出:YourKubernetesmasterhasinitializedsuccessfully!要开始使用您的集群,您需要以普通用户身份运行以下命令:mkdir-p$HOME/.kubesudocp-i/etc/kubernetes/admin.conf$HOME/.kube/configsudochown$(id-u):$(id-g)$HOME/.kube/config您现在应该将pod网络部署到集群。使用以下列出的选项之一运行“kubectlapply-f[podnetwork].yaml”:https://kubernetes.io/docs/concepts/cluster-administration/addons/您现在可以通过运行以下命令加入任意数量的机器在每个节点上作为根:kubeadmjoin192.168.19.100:6443--tokeni472cq。tr9a81qxnyqc5zj2--discovery-token-ca-cert-hashsha256:acba957db29e0efbffe2cf4e484521b3b7e0f9d5c2ab7f9db68a5e31565d0d66然后执行mkdir-p$HOME/.kubesudocp-i/etc/kubernetes/admin.conf$HOME/.kube/configsudochown$(id-u):$(id-g)$HOME/.kube/config创建一个node节点,重复上面的操作,但是不要执行kubeadminit.....这条命令令;执行master节点返回的:kubeadmjoin192.168.19.100:6443--tokeni472cq.tr9a81qxnyqc5zj2--discovery-token-ca-cert-hashsha256:acba957db29e0efbffe2cf4e484521b3b7e0f9d5c2ab7f9db68a5e31565d0d66这个返回值一天之后就会过期,重新生成token:kubeadmtokencreateandthenreplacethereturnedtokenwiththeabovetokentoinstallthenetworkplug-in.Thethingusedhereiscalicov3.6kubectlapply-f\https://docs.projectcalico.org/v3.6/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yamlFinally,executekubectlgetnodesonthemaster.Ifthedisplayisready,itmeansthattheclusterissuccessfullybuilt.Notreadymaybethatthenetworkplug-inhasnotbeeninstalled.