kubernetes 环境搭建(ubuntu16.04)
通过kubeadm安装kubernetes的教程:
1: 首先在每台机器上安装: docker(1.12), kubeadm(1.6), kubectl, kubelet, kubernetes-cni
apt-get update && apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main #将kubernetes的源加入到当前的source list中
EOF
apt-get update
# Install docker if you don't have it already.
apt-get install -y docker-engine
apt-get install -y kubelet kubeadm kubectl kubernetes-cni
~~~~~~~~~~~~~~~~~~~~~~~~
其中docker install 安装注意事项:
https://docs.docker.com/engine/installation/linux/ubuntu/#install-using-the-repository
由于通过k8s管理containers,只需要有docker-engine部分就可以了,其它的并不需要,因此:
有两个命令可以查看当前可以安装的docker-ce版本和docker-engine版本:
apt-cache policy docker-engine
apt-cache madison docker-ce
~~~~~~~~~~~~~~~~~~~~~~~~~
2: 然后在master节点上:
kubeadm init
第一次执行等待时间比较长,卡在(Created API client, waiting for the control plane to become ready)
解决办法:kubeadm reset -> kubeadm init
当出现:
renjingui@renjg-HP-Compaq-Pro-6380-MT:~$ sudo kubeadm init
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
[init] Using Kubernetes version: v1.6.2
[init] Using Authorization mode: RBAC
[preflight] Running pre-flight checks
[preflight] Starting the kubelet service
[certificates] Generated CA certificate and key.
[certificates] Generated API server certificate and key.
[certificates] API Server serving cert is signed for DNS names [renjg-HP-Compaq-Pro-6380-MT kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 109.123.123.6]
[certificates] Generated API server kubelet client certificate and key.
[certificates] Generated service account token signing key and public key.
[certificates] Generated front-proxy CA certificate and key.
[certificates] Generated front-proxy client certificate and key.
[certificates] Valid certificates and keys now exist in "/etc/kubernetes/pki"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/controller-manager.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/scheduler.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/admin.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/kubelet.conf"
[apiclient] Created API client, waiting for the control plane to become ready
[apiclient] All control plane components are healthy after 16.520114 seconds
[apiclient] Waiting for at least one node to register
[apiclient] First node has registered after 4.010585 seconds
[token] Using token: d9961d.36bce67db0c5bd3b
[apiconfig] Created RBAC rules
[addons] Created essential addon: kube-proxy
[addons] Created essential addon: kube-dns
Your Kubernetes master has initialized successfully!
To start using your cluster, you need to run (as a regular user):
sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
export KUBECONFIG=$HOME/admin.conf
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
http://kubernetes.io/docs/admin/addons/
You can now join any number of machines by running the following on each node
as root:
kubeadm join --token d9961d.36bce67db0c5bd3b 109.123.123.6:6443
就说明init成功了。
通过: kubectl taint nodes --all node-role.kubernetes.io/master- 可以将一个master节点映射为一个node节点
通过 kubectl get nodes 可以查看当前节点情况。
3: 配置网络环境。
由于机器的硬件环境不同,所以要采用通用的网络组件,Flannel 和 Weave Net,前面一种没有成功,原因:dns docker container启动不了
后面一种配置方法:
kubectl apply -f https://git.io/weave-kube-1.6
可以查看所有的namespace的信息:
renjingui@renjg-HP-Compaq-Pro-6380-MT:~$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system etcd-renjg-hp-compaq-pro-6380-mt 1/1 Running 0 6m
kube-system kube-apiserver-renjg-hp-compaq-pro-6380-mt 1/1 Running 0 6m
kube-system kube-controller-manager-renjg-hp-compaq-pro-6380-mt 1/1 Running 0 6m
kube-system kube-dns-3913472980-1j8dx 3/3 Running 0 7m
kube-system kube-proxy-4j745 1/1 Running 0 7m
kube-system kube-scheduler-renjg-hp-compaq-pro-6380-mt 1/1 Running 0 6m
kube-system weave-net-r4b8d 2/2 Running 0 5m
renjingui@renjg-HP-Compaq-Pro-6380-MT:~$
4:部署应用/调试信息
kubectl describe -n kube-system po kube-flannel-ds-rr7xv
(NAMESPACE) (NAME)
5:删除一个节点:
Master:
kubectl drain maoxj-optiplex-7010 --delete-local-data --force --ignore-daemonsets
kubectl delete node <node name>
node:
kubeadm reset
6:加入Cluster的方式为:
在node节点上执行:
kubeadm join --token a93f59.e500af089136cc83 109.123.123.6:6443
7:添加dashboard:
在master节点上执行
参看链接:
https://github.com/kubernetes/dashboard#kubernetes-dashboard
apache 转发代理配置:
<VirtualHost *:8081>
ProxyRequests On
ProxyPass / http://127.0.0.1:8001/
</VirtualHost>
kubernetes 环境搭建(ubuntu16.04)的更多相关文章
- 阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装
阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装 最近琢磨着想在服务器上搭建一个hexo博客,于是就在阿里云上买了一个云服务器ECS,远程接入后默认给的是一个命令窗口,没有图形界面, ...
- (转)深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0 发表于2016年07月15号由52nlp 接上文<深度学习主机攒机小记>,这台GTX10 ...
- 深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow
深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow 最近在公司做深度学习相关的学习和实验,原来一直 ...
- Docker Kubernetes 环境搭建
Docker Kubernetes 环境搭建 节点规划 版本 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 etcd存储版本:etcd-3. ...
- 深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow
接上文<深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0>,我们继续来安装 TensorFlow,使其支持GeForce GTX 1080显卡 ...
- 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
不多说,直接上干货! 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
- 深度学习环境配置:Ubuntu16.04安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)
本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...
- 深度学习环境配置:Ubuntu16.04下安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)
本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...
- 傲视Kubernetes(二):Docker镜像搭建与本地Kubernetes环境搭建
主要内容: 1.Docker与Kubernetes的关系 2.SpringBoot微服务的Docker镜像创建 3.Kubernetes本地环境搭建 一.Docker与Kubernetes的关系 在说 ...
随机推荐
- liunx权限管理之高级权限
高级权限 suid,sgid,sticky ======================================================== 文件权限管理之:高级权限 问题1: 为什么 ...
- 4.1.4 Nim
Problem description: 有n堆石子,每堆各有ai颗石子.A和B轮流从非空的石子堆中取走至少一颗石子.A先取,取光所有石子的一方获胜.当双方都采用最佳策略时,谁会获胜? 1<=n ...
- python记录_day02 while循环 格式化 基本运算符
一.流程控制之while循环 语法: while 条件: 循环体 else: else语句(当条件不成立的时候执行这里 和break没关系) 判断条件是否成立. 如果成立执行循环体.然后再次判断条件, ...
- laravel项目数据库交互逻辑
一般在获取数据库数据的时候,我们会使用get().或者first()来获取数据,但是在做一个项目的时候我使用了first()->toArray(),然后就报错了,鉴于此就好好的研究了get和fi ...
- bzoj3876: [Ahoi2014&Jsoi2014]支线剧情
题意:给一幅图,从1开始,每条边有边权最少走一遍,可以在任意点退出,问最小花费 题解:上下界费用流,每个边都流一遍,然后为了保证流量平衡,新建源点汇点,跑费用流把流量平衡 /************* ...
- shiro缓存机制
Shiro提供了类似于Spring的Cache抽象,即Shiro本身不实现Cache,但是对Cache进行了又抽象,方便更换不同的底层Cache实现.对于Cache的一些概念可以参考我的<Spr ...
- hpu_newoj_1028-exgcd
The Elevator 描述 全是电梯. Philo正处于高度为0的一个平台上,在他面前的一个平面,全是上上下下的电梯. Philo想要离开这里,请你帮帮他. 电梯世界规则:这里的电梯所能到达的 ...
- SQLServer清空表
TRUNCATE TABLE TABLE_NAME 这个不记日志. delete table table_name 这个记日志 drop table table_name 删除表 TRUNCATE 语 ...
- 前端基础之http协议
B-S模式: browser------>server BS模式工作过程: 用户在 browser 输入一个URL 确定要访问的server browser发送 post/get请求 给serv ...
- thinkphp 3.2 加载第三方库 第三方命名空间库
tp 自动加载的介绍: http://document.thinkphp.cn/manual_3_2.html#autoload 第三方库不规范库 不适用命名空间的库 可以使用import函数导入,其 ...