内容简介:首先说下为什么选择这个版本,因为这个版本是目前k8s1.10分支中最稳定的版本,其次是k8s dashboard支持得比较好的版本,而且是比较成熟的版本,所以选择了这个版本首先我们初始化下新安装的系统,我有两台机器
首先说下为什么选择这个版本,因为这个版本是目前k8s1.10分支中最稳定的版本,其次是k8s dashboard支持得比较好的版本,而且是比较成熟的版本,所以选择了这个版本
系统初始化
首先我们初始化下新安装的系统,我有两台机器
- 10.10.10.120
- 10.10.10.121
下面的操作两台机器都要操作
使用我下面这个脚本关闭firewalld什么的
curl -O https://raw.githubusercontent.com/bboysoulcn/centos/master/centos.sh
********************************** Powered by bboysoul Email: bboysoulcn@gmail.com Hostname: bboysoul-k8s-master Virtualization is not supported Cpu model: Common KVMprocessor Memory: 3789 M Swap: 0 M Kernel version: CentOS Linux release 7.6.1810 (Core) ********************************** 1) install_software 5) set_hostname 9) install_ohmyzsh 2) install_python 6) close_selinux 10) add_user 3) set_static_ip 7) install_docker 11) exit 4) close_firewalld 8) change_swap 12) help:
选择第一项安装基础软件,选择第四项关闭firewalld,选择第五项设置主机名,我的主机名是下面两个
- bboysoul-k8s-master
- bboysoul-k8s-slave1
选择第六项关闭selinux,选择第七项安装docker,选择第九项安装oh my zsh
关闭swap
swapoff -a
之后修改 docker 的仓库地址,编辑下面这个文件
vim /etc/docker/daemon.json
加入
{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn" ] }
重启docker
安装kubeadm kubelet kubectl
同样的两台机器都要操作
添加软件源
vim /etc/yum.repos.d/kubernetes.repo
加入
[kubernetes] name=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 https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
安装
yum install kubeadm-1.10.13-0.x86_64 kubelet-1.10.13-0.x86_64 kubectl-1.10.13-0.x86_64
让kubelet开机启动
systemctl enable kubelet
启动kubelet
systemctl start kubelet
发现kubelet启动不起来
报错
"systemed" is different from docker cgroup driver: "cgroupfs"
于是
vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
修改
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemed"
为
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs"
另外一个节点也要这么做
启动master节点
输入下面的命令启动master节点
kubeadm init --kubernetes-version stable-1.10 --apiserver-advertise-address 10.10.10.120 --pod-network-cidr=10.244.0.0/16
报错
[ERROR SystemVerification]: unsupported docker version: 18.09.3
说docker版本不支持,直接忽略
kubeadm init --kubernetes-version stable-1.10 --apiserver-advertise-address 10.10.10.120 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all
最后显示
Your Kubernetes master has initialized successfully! To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config You should now deploy a pod network to the cluster. Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at: https://kubernetes.io/docs/concepts/cluster-administration/addons/ You can now join any number of machines by running the following on each node as root: kubeadm join 10.10.10.120:6443 --token xv3h2w.x1mwfesew7jcn07b --discovery-token-ca-cert-hash sha256:16fce397d457f1fcbdfc04031fbea686722dbf9c4a5b356a06ff2d3b955528d0
说明成功
添加work节点
直接使用下面命令在work节点添加就好
kubeadm join 10.10.10.120:6443 --token xv3h2w.x1mwfesew7jcn07b --discovery-token-ca-cert-hash sha256:16fce397d457f1fcbdfc04031fbea686722dbf9c4a5b356a06ff2d3b955528d0 --ignore-preflight-errors=all
之后在master节点执行
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get node
你会发现两个节点都是没有ready的,kube-dns一直在pending状态,是因为没有安装flannel网络的缘故
➜ ~ kubectl get node NAME STATUS ROLES AGE VERSION bboysoul-k8s-master NotReady master 12m v1.10.13 bboysoul-k8s-slave1 NotReady <none> 3m v1.10.13
安装flannel网络
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml
完成之后等几分钟执行
kubectl get node
你就会发现所有的节点都已经ready了
创建用户
创建用户
vim ServiceAccount.yaml
apiVersion: v1 kind: ServiceAccount metadata: name: bboysoul namespace: kube-system
给用户绑定权限
vim ClusterRoleBinding.yaml
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: bboysoul roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: bboysoul namespace: kube-system
之后应用执行上面的操作
kubectl apply -f ServiceAccount.yaml
kubectl apply -f ClusterRoleBinding.yaml
接着查看用户的token
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep bboysoul | awk '{print $1}')
安装dashboard
安装
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
修改dashboard的service类型为nodeport
kubectl -n kube-system edit service kubernetes-dashboard
把spec下
type: ClusterIP
改为
type: NodePort
查看分配的端口
kubectl get svc -n kube-system
之后使用https访问
https://10.10.10.120:31930
接着我们使用上面创建的用户的token登录就好了
最后说几句
关于国内网络环境什么的,这个我就不说了,拉取镜像你可以在国内各个镜像源里面拉,实在不会可以问我,我因为是路由器上外网的,所以就不存在这些恶心的问题,还有k8s的更新实在是太快了,很久之前我就写了搭建1.12版本的,后来因为工作忙,一直没有出来,当我再想写的时候出了1.13,当我想完善1.13安装的时候,版本又更新了,无奈,找一个最稳定的版本玩玩算了。
欢迎关注Bboysoul的博客www.bboysoul.com
Have Fun
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 从0到1搭建推荐策略产品的思考(二):如何搭建?
- Docker搭建disconf环境,三部曲之三:细说搭建过程
- 在Windows下搭建React Native Android开发环境&搭建项目
- 2019最新k8s集群搭建教程 (centos k8s 搭建)
- Python 环境搭建
- 1 - 搭建开发环境
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java语言程序设计
(美) Y. Daniel Liang / 李娜 / 机械工业出版社 / 2011-6 / 75.00元
本书是Java语言的经典教材,多年来畅销不衰。本书全面整合了Java 6的特性,采用“基础优先,问题驱动”的教学方式,循序渐进地介绍了程序设计基础、解决问题的方法、面向对象程序设计、图形用户界面设计、异常处理、I/O和递归等内容。此外,本书还全面且深入地覆盖了一些高级主题,包括算法和数据结构、多线程、网络、国际化、高级GUI等内容。 本书中文版由《Java语言程序设计:基础篇》和《Java语......一起来看看 《Java语言程序设计》 这本书的介绍吧!
XML 在线格式化
在线 XML 格式化压缩工具
HEX CMYK 转换工具
HEX CMYK 互转工具