设为首页 收藏本站
查看: 2081|回复: 0

[经验分享] kubeadm安装Kubernetes-1.6.1集群

[复制链接]

尚未签到

发表于 2017-6-5 09:32:36 | 显示全部楼层 |阅读模式
系统环境:


# cat /etc/centos-release
CentOS Linux release 7.3.1611 (Core)

关闭防火墙、selinux:


# systemctl disable firewalld
# systemctl stop firewalld
# vim /etc/sysconfig/selinux
……
SELINUX=disabled
……
# getenforce
Enforcing
# setenforce 0
# getenforce
Permissive

添加yum源:


# cat /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0


yum install -y yum-utils
yum-config-manager \
--add-repo \
https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo
yum makecache fast

查看版本:


yum list docker-engine.x86_64  --showduplicates |sort -r
docker-engine.x86_64             1.13.1-1.el7.centos                 docker-main
docker-engine.x86_64             1.12.6-1.el7.centos                 docker-main
docker-engine.x86_64             1.11.2-1.el7.centos                 docker-main

yum list kubeadm  --showduplicates |sort -r
kubeadm.x86_64                        1.6.1-0                        kubernetes
kubeadm.x86_64                        1.6.0-0                        kubernetes
yum list kubelet  --showduplicates |sort -r
kubelet.x86_64                        1.6.1-0                        kubernetes
kubelet.x86_64                        1.6.0-0                         kubernetes
kubelet.x86_64                        1.5.4-0                         kubernetes

yum list kubectl  --showduplicates |sort -r
kubectl.x86_64                        1.6.1-0                        kubernetes
kubectl.x86_64                        1.6.0-0                         kubernetes
kubectl.x86_64                        1.5.4-0                         kubernetes

yum list kubernets-cni  --showduplicates |sort -r
kubernetes-cni              x86_64              0.5.1-0                    kubernetes


系统配置:

根据官方文档中的Installing Kubernetes on Linux with kubeadm · Limitations小节中的内容,对各节点系统做如下设置:



创建/etc/sysctl.d/k8s.conf文件,添加如下内容:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
执行sysctl -p /etc/sysctl.d/k8s.conf使修改生效。


安装软件包:


# yum -y install docker-engine-1.12.6
# yum -y install socat kubelet-1.6.1 kubeadm-1.6.1 kubectl-1.6.1 kubernetes-cni-0.5.1
# rpm -qa|grep kube
kubectl-1.6.1-0.x86_64
kubelet-1.6.1-0.x86_64
kubernetes-cni-0.5.1-0.x86_64
kubeadm-1.6.1-0.x86_64

启动docker:


# systemctl enable docker && systemctl start docker

下载Kubernetes-1.6.0所需镜像:


# docker pull quay.io/coreos/flannel:v0.7.1-amd64
# docker pull gcr.io/google_containers/kube-proxy-amd64:v1.6.1
# docker pull gcr.io/google_containers/kube-apiserver-amd64:v1.6.1
# docker pull gcr.io/google_containers/kube-scheduler-amd64:v1.6.1
# docker pull gcr.io/google_containers/kube-controller-manager-amd64:v1.6.1
# docker pull gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.1
# docker pull gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1
# docker pull gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1
# docker pull gcr.io/google_containers/etcd-amd64:3.0.17
# docker pull gcr.io/google_containers/pause-amd64:3.0


查看镜像:



# docker images
REPOSITORY                                               TAG                 IMAGE ID            CREATED             SIZE
quay.io/coreos/flannel                                   v0.7.1-amd64        cd4ae0be5e1b        2 weeks ago         77.76 MB
gcr.io/google_containers/kube-proxy-amd64                v1.6.1              ec956fe05f2d        4 weeks ago         109.2 MB
gcr.io/google_containers/kube-apiserver-amd64            v1.6.1              1f685ed29076        4 weeks ago         150.5 MB
gcr.io/google_containers/kube-scheduler-amd64            v1.6.1              acfe393e96ba        4 weeks ago         76.75 MB
gcr.io/google_containers/kube-controller-manager-amd64   v1.6.1              591d6604f79b        4 weeks ago         132.7 MB
gcr.io/google_containers/k8s-dns-sidecar-amd64           1.14.1              fc5e302d8309        9 weeks ago         44.52 MB
gcr.io/google_containers/k8s-dns-kube-dns-amd64          1.14.1              f8363dbf447b        9 weeks ago         52.36 MB
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64     1.14.1              1091847716ec        9 weeks ago         44.84 MB
gcr.io/google_containers/etcd-amd64                      3.0.17              243830dae7dd        9 weeks ago         168.9 MB
gcr.io/google_containers/pause-amd64                     3.0                 99e59f495ffa        12 months ago       746.9 kB

  



启动kubelet:


# systemctl enable kubelet
# systemctl start kubelet

初始化master机器:


# kubeadm init --apiserver-advertise-address=172.16.20.99 --kubernetes-version=v1.6.1 --pod-network-cidr=10.244.0.0/16
参数解释:
--apiserver-advertise-address # API Server(master)IP地址
--kubernetes-version # 初始化安装的Kubernetes版本
--pod-network-cidr # 选择flannel作为Pod的网络插件,所以指定 10.244.0.0/16

使用kubectl 管理命令行:
  为了使用kubectl访问apiserver,在~/.bash_profile中追加下面的环境变量:


# echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile# source ~/.bash_profile# kubectl get nodesNAME STATUS AGE VERSIONnode0 NotReady 3m v1.6.1

安装Pod的网络插件:


# kubectl create -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlserviceaccount "flannel" createdconfigmap "kube-flannel-cfg" createddaemonset "kube-flannel-ds" created
PS:如果Node有多个网卡的话,参考flannel issues 39701,目前需要在kube-flannel.yml中使用--iface参数指定集群主机内网网卡的名称,否则可能会出现dns无法解析。需要将kube-flannel.yml下载到本地,flanneld启动参数加上--iface=<iface-name>使用kubectl get pod --all-namespaces -o wide确保所有的Pod都处于Running状态。 kubectl get pod --all-namespaces -o wide


使Master机器参与工作负载:
  使用kubeadm初始化的集群,出于安全考虑Pod不会被调度到Master Node上,也就是说Master Node不参与工作负载。
  这里搭建的是测试环境可以使用下面的命令使Master Node参与工作负载:



  • kubectl taint nodes --all node-role.kubernetes.io/master-

测试DNS
  建立测试容器:


# vim busybox.yaml
apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: default
spec:
containers:
- image: busybox
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
name: busybox
restartPolicy: Always
# kubectl create -f busybox.yaml
pod "busybox" created
进入后执行nslookup kubernetes.default确认解析正常

# kubectl exec -ti busybox -- nslookup kubernetes.default
Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name:      kubernetes.default
Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local测试ok之后,删掉这个测试pod
# kubectl delete pod busybox
pod "busybox" deleted




查看Kubernetes集群token(小技巧):


# kubeadm token list
TOKEN                     TTL         EXPIRES   USAGES                   DESCRIPTION
22a850.15bb6e6da239c542   <forever>   <never>   authentication,signing   The default bootstrap token generated by 'kubeadm init'.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-383770-1-1.html 上篇帖子: Kubernetes的安装配置 下篇帖子: kubeadm安装Kubernetes-1.6.1集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表