centos7下kubernetes(3。部署kubernetes)
环境:三个centos7
K8s2是Master;K8s1是node1;K8s3是node2
官方文档:https://kubernetes.io/docs/setup/independent/install-kubeadm/
注意:kubernetes几乎所有的安装组件和docker 镜像都放在goolge自己的网站上
安装docker
所有节点都安装docker:可利用docker-machine安装;可参考:https://www.cnblogs.com/lkun/p/7655495.html
所有节点关闭swap:swapoff -a 这个如果不关闭的话在初始化集群的时候会报错(如果重启机器,需要重新关闭)
所有节点设置内核参数:为了支持桥接
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOFsysctl -p所有节点 配置k8S源
cat <<EOF > /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.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgEOF所有节点安装kubelet,kubeadm,kubectl
kubelet运行在cluster所有节点上,负责启动容器和Pod
kubeadm用于初始化Cluster
kubectl是Kubernetes命令行工具。通过kubectl可以部署和管理应用,查看各种资源,创建,删除和更新各种组件
install kubelet kubeadm kubectl --disableexcludes=kuberneteskind: MasterConfiguration
kubernetesVersion: v1.11.2
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
#api:
#controlPlaneEndpoint: internal-bgc-ops-test-k8s-lb-505377916.cn-northwest-1.elb.amazonaws.com.cn
apiServerCertSANs:
- K8S3
- K8S1
- 192.168.7.93
- 192.168.7.235
#- internal-bgc-ops-test-k8s-lb-505377916.cn-northwest-1.elb.amazonaws.com.cn
networking:
podSubnet: 10.244.0.0/16
#etcd:
# endpoints:
#- http://192.168.7.93:2379
#- http://192.168.7.235:2379
#dataDir: /var/lib/etcd

在master1上执行初始化
kubeadm init --config /etc/kubernetes/kubeadm.conf

node节点加入集群:在node节点上执行master初始化之后最后提示的命令;


在node节点上执行master初始化之后最后提示的命令;
如果没保存,可以尝试以下命令
先在master 上通过kubeadm token list查看token

然后在node上执行:kubeadm join token 192.168.7.78:6443 i9gsiq.c3pr5uocthnbeacf --discovery-token-unsafe-skip-ca-verification(允许 在没有--discovery-token-ca-cert-hash的情况下进行连接)
在master上查看节点情况: kubectl get node

目前还处于NotReady,继续下面步骤部署pod网络
部署pod网络
kubenetes cluster需要安装Pod网络,才能进行通信,否则不通。
kubenetes支持很多中网络方案,在这里选择flannel。
在master上安装flannel
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
vim kube-flannel.yml 修改kube-flannel.yml与/etc/kubernetes/kubeadm.conf一致

export KUBECONFIG=/etc/kubernetes/admin.conf
将master与本机的IP进行绑定,可以用 kubectl cluster-info进行查看,如果不设置,默认master是与本机的localhost:8080绑定的,8080本身没有启动,所以会报错
报错:The connection to the server localhost:8080 was refused - did you specify the right host or port?

kubectl create -f kube-flannel.yml 确认资源

设置完pod网络之后在master查看node状态:

如果依然有node处于NotReady的状态
通过以下方法排查:
kubectl get pod --all-namespaces (查看pod的运行状况,除了Running的状态,其余全部不正常)

查看运行不正常的pod的原因
describe pod kube-flannel-ds-amd64-qlgtn --namespace=kube-system (命令输出的最后一行)

出现这个问题是由于我在node2上面在配置/etc/sysconfig/kubelet国内源的时候配置错误,按照之前上面的步骤进行配置
我的解决办法是:重新配置/etc/sysconfig/kubelet
在node2上执行 kubeadm reset
在master上面执行 kubectl delete node {nodename}
然后在node2上面重新加入集群
以下配置为master的高可用配置,如果是单机版,可以忽略
将 master上的 /etc/kubernetes/pki 及 /etc/kubernetes/kubeadm.conf 拷贝至两个master上
在两个master上分别执行 kubeadm init --config /etc/kubernetes/kubeadm.conf
centos7下kubernetes(3。部署kubernetes)的更多相关文章
- [转帖]centos7 使用kubeadm 快速部署 kubernetes 国内源
centos7 使用kubeadm 快速部署 kubernetes 国内源 https://www.cnblogs.com/qingfeng2010/p/10540832.html 前言 搭建kube ...
- [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- 在Centos7下安装与部署.net core
在Centos7下安装与部署.net core 2018年02月28日 19:36:16 阅读数:388 个人安装流程,参照文档 https://www.cnblogs.com/Burt/p/6566 ...
- # centos7下FFmpeg环境部署记录
# centos7下FFmpeg环境部署记录 随着视频在网站上的应用越来越多,越来越多的网站服务器需要支持视频转码,视频压缩,FFmpeg是目前最好用的网站服务器后台转码程序,应用最多.FFmpeg是 ...
- centos7使用kubeadm安装部署kubernetes 1.14
应用背景: 截止目前为止,高热度的kubernetes版本已经发布至1.14,在此记录一下安装部署步骤和过程中的问题排查. 部署k8s一般两种方式:kubeadm(官方称目前已经GA,可以在生产环境使 ...
- centos7 使用kubeadm 快速部署 kubernetes 国内源
前言 搭建kubernetes时看文档以及资料走了很多弯路,so 整理了最后成功安装的过程已做记录.网上的搭建文章总是少一些步骤,想本人这样的小白总是部署不成功(^_^). 准备两台或两台以上的虚拟机 ...
- centos7.1使用kubeadm部署kubernetes 1.16.2的master高可用
机器列表,配置域名解析 cat /etc/hosts192.168.200.210 k8s-master1192.168.200.211 k8s-master2192.168.200.212 k8s- ...
- CentOS7 下 Hadoop 分布式部署
Hadoop 服务划分 使用三台节点,集群部署规划如下 服务\主机 hadoop1 hadoop2 hadoop3 HDFS NameNode DataNode DataNode SecondaryN ...
- [原]CentOS7安装Rancher2.1并部署kubernetes (三)---解决登录kubernets超时和部署测试Pod和Containter[nginx为例]
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- [原]CentOS7安装Rancher2.1并部署kubernetes (一)---部署Rancher
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
随机推荐
- MySql常用 join 详解
虽然这类资料比较多....我觉得还是有必要记下来,新手可以看看吧...老司机可以一眼飘过那... 常用SQL JOINS方式 1.SELECT select_list FROM TABLEA A LE ...
- 【Java每日一题】20170214
20170213问题解析请点击今日问题下方的“[Java每日一题]20170214”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; public cla ...
- Netty实战七之EventLoop和线程模型
简单地说,线程模型指定了操作系统.编程语言.框架或者应用程序的上下文中的线程管理的关键方面.Netty的线程模型强大但又易用,并且和Netty的一贯宗旨一样,旨在简化你的应用程序代码,同时最大限度地提 ...
- virtualbox中 Ubuntu挂载共享文件夹
1. 进入 /mnt 目录 2. 新建目录 share 3. sudo mount -t vboxsf share /mnt/share(其中的第一个share是共享文件夹的名字) 4. 成功
- 关于Facebook和Google+授权登录
实际中遇到需要Facebook和Google+等第三方授权登录自己的Web应用(可能还有Android和IOS的手机应用),本质上都是JS SDK的官方应用.这时候不得不去他们官方查看文档. 注:一下 ...
- CSS制作镂空字体
1.效果图 2.html内容: <!doctype html><html lang="en"><head> <meta charset=& ...
- [总结]WEB前端常用命令
webpack等工具操作 自动创建package.json文件:npm init 如何根据package.json来自动安装包:npm install npm具体安装某个组件:npm install ...
- AI产品经理成长路
AI产品经理成长路 https://www.jianshu.com/p/4b98314ad3c0 以下都是自己平时知识的一些总结,只是一些个人的愚见,下面出现的公司.书籍.视频.网站都是自己看过体验过 ...
- nginx中有关 root 和 alias的主要区别
举个例子给伙伴们区别就明显看出来了,例子如下: location /img/ { alias /var/www/image/; }注意:如果按照上述配置的话,则访问/img/目录里面的文件时,ning ...
- Java中数组定义的三种方式
方法一: 1.先声明 2.分配空间 3.赋值 public class arr{ public static void main(String[] args){ int[] arr; //先声明 ar ...