kubernetes单机版安装一个nginx实例

本文将介绍如何在CentOS 7.5上安装一个单机版的kubernetes,并在上面部署一个nginx服务。由于Google的相关网站被屏蔽,导致某些组建无法下载,所以需要修改下载国内镜像地址。

1. 更新系统,这部不是必须的
yum -y update

2. 关闭防火墙
systemctl disable firewalld
systemctl stop firewalld

3. 下载核心组建
yum -y install etcd kubernetes

4. 修改服务参数
vi /etc/kubernetes/apiserver
删除--admission-control参数中ServiceAccount
修改docker的镜像地址,官方的地址在国内无法下载
vi /etc/docker/daemon.json
{
   "registry-mirrors": ["https://registry.docker-cn.com"]      
}

5. 下载组建,安装证书,以便能够下载容器
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem

6. 服务启动
systemctl start etcd
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy

6. 写一个样例,保存文件到nginx.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
type: NodePort
ports:
- port: 80
nodePort: 30306
targetPort: 80
selector:
app: nginx

7. 启动nginx服务
kubectl create -f nginx.yaml

查看启动情况,如果成功,应该入下图所示(这里需要等一会儿,因为它里面要下载nginx镜像,大概几分钟内,执行下面三个命令可以查看进度
kubectl get deployment
kubectl get po
kubectl get svc


如果启动失败,可以查看日志
cat /var/log/messages

8. 在浏览器中打开
http://192.168.204.131:30306/

可能会无法打开网站,执行下列命令,开启INPUT策略
iptables -P FORWARD ACCEPT

总结:到此就完成了一个nginx的部署,这个流程,我反复在不同的电脑上做过测试,都是可行的,之所以选择nginx,是因为这个镜像相对体量不大,下载快,对于新手,能够在比较短时间内知道部署是否成功。
Posted by 何敏
on 2018/09/25 06:48:43
Copyright ©2018 程序员网址导航 粤ICP备14091834号