CentOS7 安装kubernetes
2台机器,1台为Master,1台为Node
修改Host Master为dmaster,Node为dslave
安装K8s and Etcd
在Master机器上安装
yum install etcd
yum install kubernetes
Node机器只需要
yum install kubernetes
安装k8s会自动安装docker,目前版本是1.8
配置K8s
Etcd默认的监听端口是4001,在这里修改
vim /etc/etcd/etcd.conf
修改Master机器K8s配置
1. apiserver配置
vim /etc/kubernetes/apiserver
- ###
- # kubernetes system config
- #
- # The following values are used to configure the kube-apiserver
- #
- # The address on the local server to listen to.
- KUBE_API_ADDRESS="--address=0.0.0.0"
- # The port on the local server to listen on.
- KUBE_API_PORT="--port=8080"
- # Port minions listen on
- KUBELET_PORT="--kubelet_port=10250"
- # Comma separated list of nodes in the etcd cluster
- KUBE_ETCD_SERVERS="--etcd_servers=http://127.0.0.1:4001"
- # Address range to use for services
- KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
- # default admission control policies
- KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
- # Add your own!
- KUBE_API_ARGS="--secure-port=0"
2.K8s配置
vim /etc/kubernetes/config
- # kubernetes system config
- #
- # The following values are used to configure various aspects of all
- # kubernetes services, including
- #
- # kube-apiserver.service
- # kube-controller-manager.service
- # kube-scheduler.service
- # kubelet.service
- # kube-proxy.service
- # logging to stderr means we get it in the systemd journal
- KUBE_LOGTOSTDERR="--logtostderr=true"
- # journal message level, is debug
- KUBE_LOG_LEVEL="--v=0"
- # Should this cluster be allowed to run privileged docker containers
- KUBE_ALLOW_PRIV="--allow_privileged=false"
- # How the controller-manager, scheduler, and proxy find the apiserver
- KUBE_MASTER="--master=http://dmaster:8080"
- KUBE_ETCD_SERVERS="--etcd-servers=http://dmaster:4001"
3.启动服务
systemctl enable etcd kube-apiserver kube-controller-manager kube-scheduler
systemctl restart etcd kube-apiserver kube-controller-manager kube-scheduler
systemctl status etcd kube-apiserver kube-controller-manager kube-scheduler
修改Node机器配置
1. K8s配置
vim /etc/kubernetes/kubelet
- # kubernetes kubelet (minion) config
- # The address for the info server to serve on (set to 0.0.0.0 or "" for all interfaces)
- KUBELET_ADDRESS="--address=127.0.0.1"
- # The port for the info server to serve on
- KUBELET_PORT="--port=10250"
- # You may leave this blank to use the actual hostname
- KUBELET_HOSTNAME="--hostname_override=dslave"
- # location of the api-server
- KUBELET_API_SERVER="--api_servers=http://dmaster:8080"
- # Add your own!
- KUBELET_ARGS=""
2. 启动服务
systemctl enable kube-proxy kubeletdocker
systemctl restart kube-proxy kubeletdocker
systemctl status kube-proxy kubeletdocker
新增Pod
1. 在Master机器查看Node状态
- [root@ k8s]# kubectl get nodes
- NAME LABELS STATUS
- dslave kubernetes.io/hostname=dslave Ready
2. 新建Pod资源文件
- apiVersion: v1
- kind: Pod
- metadata:
- name: mysql
- labels:
- name: mysql
- spec:
- containers:
- - resources:
- limits :
- cpu: 0.5
- image: mysql
- name: mysql
- env:
- - name: MYSQL_ROOT_PASSWORD
- # change this
- value: rootpwd
- ports:
- - containerPort:
- name: mysql
- volumeMounts:
- # name must match the volume name below
- - name: mysql-persistent-storage
- # mount path within the container
- mountPath: /var/lib/mysql
- volumes:
- - name: mysql-persistent-storage
- cinder:
- volumeID: bd82f7e2-wece-4c01-a505-4acf60b07f4a
- fsType: ext4
3. 导入资源
kubectl create -f mysql.yaml
4. 查看资源状态
- [root@ k8s]# kubectl get pods
- NAME READY STATUS RESTARTS AGE
- mysql / Running 1h
这里已经部署在运行了,所以是Running。Status开始是Ready。
5. 查看日志
Master机器日志
tail -f /var/log/messages | grep kube
- Dec :: kube-scheduler: I1211 ::11.380994 event.go:] Event(api.ObjectReference{Kind:"Pod", Namespace:"default", Name:"mysql", UID:"2f192467-a030-11e5-8a55-000c298cfaa1", APIVersion:"v1", ResourceVersion:"", FieldPath:""}): reason: 'scheduled' Successfully assigned mysql to dslave
在部署Pod时,在Node机器日志中报错
- Dec :: dslave kubelet: E1211 ::22.745867 manager.go:] Failed to create pod infra container: image pull failed for gcr.io/google_containers/pause:0.8., this may be because there are no credentials on this request. details: (Network timed out while trying to connect to http://gcr.io/v1/repositories/google_containers/pause/images. You may want to check your internet connection or if you are behind a proxy.); Skipping pod "mysql_default"
- Dec :: dslave kubelet: E1211 ::22.955470 pod_workers.go:] Error syncing pod bcbb3b8a-a02a-11e5-8a55-000c298cfaa1, skipping: image pull failed for gcr.io/google_containers/pause:0.8., this may be because there are no credentials on this request. details: (Network timed out while trying to connect to http://gcr.io/v1/repositories/google_containers/pause/images. You may want to check your internet connection or if you are behind a proxy.)
Google被墙了,下载资源包到本地
在Node节点导入
docker load --input pause-0.8.0.tar
这是一个容器,负责Pod内部的网络
还有一个问题是权限的问题
- no API token found for service account default/default, retry after the token is automatically created and added to the service account
这样即可解决
- #vim /etc/kubernetes/apiserver
- KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"
- #systemctl restart kube-apiserver.service
CentOS7 安装kubernetes的更多相关文章
- CentOS7安装Kubernetes
CentOS7安装Kubernetes 安装Kubernetes时候需要一台机器作为管理机器,1台或者多台机器作为集群中的节点. 系统信息: Hosts: 请将IP地址换成自己环境的地址. cento ...
- centos7安装kubernetes 1.1
原文地址:http://foxhound.blog.51cto.com/1167932/1717105 前提:centos7 已经update yum update -y 一.创建yum源 maste ...
- Centos7安装Kubernetes k8s v1.16.0 国内环境
一. 为什么是k8s v1.16.0? 最新版的v1.16.2试过了,一直无法安装完成,安装到kubeadm init那一步执行后,报了很多错,如:node xxx not found等.centos ...
- centos7安装kubernetes k8s 1.18
可以参考其他网友的阿里云搭建k8s高可用集群(1.17.3) https://www.cnblogs.com/gmmy/p/12372805.html 准备四台centos7虚拟机,用来安装k8s集群 ...
- centos7安装kubernetes k8s 1.16
#初始化服务器 echo 'export LC_ALL="en_US.UTF-8"' >> /etc/profile source /etc/profile #!/bi ...
- 使用kubeadm 安装 kubernetes 1.12.0
目录 简介: 架构说明: 系统配置: 1.1 关闭防火墙 1.2 禁用SELinux 1.3 关闭系统Swap 1.4 安装docker 使用kubeadm部署Kubernetes: 2.1 安装ku ...
- 使用kubeadm 安装 kubernetes 1.15.1
简介: Kubernetes作为Google开源的容器运行平台,受到了大家的热捧.搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿.kubernetes1.5版本以及之前,安装 ...
- Centos7上安装Kubernetes集群部署docker
一.安装前准备1.操作系统详情需要三台主机,都最小化安装 centos7.3,并update到最新 [root@master ~]# (Core) 角色 主机名 IPMaster master 192 ...
- centos7.3 kubernetes/k8s 1.10 离线安装 --已验证
本文介绍在centos7.3使用kubeadm快速离线安装kubernetes 1.10. 采用单master,单node(可以多node),占用资源较少,方便在笔记本或学习环境快速部署,不适用于生产 ...
随机推荐
- java移位运算符具体解释
java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的全部位都左移 ...
- 人们的Live Meeting系列 (floyd)
人活着系列之开会 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 人活着假设是为了事业.从打工的到老板的,个个都在拼搏,奋斗了多年最终有了非凡成就.有了一 ...
- LVM逻辑卷管理@设备、格式、摩、引导自己主动安装一个完整的章节
离http://www.it165.net/admin/html/201307/1553.html LVM的重要性,在这里我也就不多说了,今天和大家分享一下.LVM设备,而且安装方式. 首先呢,先让我 ...
- hdu 2391 Filthy Rich
单纯dp 水一 处理时间点,第一行和第一列特殊处理: 其余的w[i][j]=show(w[i-1][j-1],w[i-1][j],w[i][j-1]); <span style="fo ...
- Oracle 11g client安装和配置。
数据库和client在不同的机器. 安装前的准备.在安装过程中Oracle数据库server导航到下面的文件夹. 将listener.ora和tnsnames.ora中的host中的localhost ...
- centos7关闭防火墙(转)
直接命令:service firewalld stop 1. Disable Firewalld Service. [root@rhel-centos7-tejas-barot-linux ~]# s ...
- enumerateObjectsUsingBlock、enumerateObjectsWithOptions、enumerateObjectsAtIndexes、makeObjectsPerfor使用
OC至 NSArray它提供了一个方便的遍历block,以下具体说明 第一.enumerateObjectsUsingBlock NSArray *array=@[@"aa",@& ...
- socket计划编制的原则
socket编程原理 1.问题的引入 1) 普通的I/O操作过程: UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-rea ...
- WebLogic部署集群和代理服务器
应公司要求,最近在学习weblogic集群这块的知识,下面我把我这几天学到的,以及过程中遇到的问题及如何解决的,分享给大家.首先,weblogic是Orcale公司的一款产品,至于其作用,我想就不用我 ...
- c# 通过配置自动附加数据库
using System; using System.Collections.Generic; using System.Windows.Forms; using System.Data.SqlCli ...