Kubernetes pod部署httpd

*部署Master



启动顺序:
# 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

安装Docker

参考:https://blog.51cto.com/lizhenliang/2296100
https://blog.51cto.com/liuleis/2067977

1、如果以前安装过,先卸载旧版本:
#yum remove docker docker-common docker-selinux docker-engine
在这里插入图片描述
2、镜像仓库安装:

#yum install -y yum-utils device-mapper-persistent-data lvm2
//配置镜像源,这里用的阿里
#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#yum makecache

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、指定版本安装:
查看版本:yum list docker-ce --showduplicates | sort -r
在这里插入图片描述
查看github里Kubernetes-1.14支持Docker-ce-18.06,所以决定安装18.06。
在这里插入图片描述
安装:#yum install -y docker-ce-18.06.3.ce
在这里插入图片描述
启动与验证:systemctl enable docker && systemctl start docker
在这里插入图片描述
查看运行状态:
#systemctl status docker
在这里插入图片描述
尝试一下:
在这里插入图片描述

安装Kubernetes

1、安装Kubernetes-v1.14.3:
#yum install -y kubeadm-1.14.3 kubectl-1.14.3 kubelet-1.14.3
在这里插入图片描述
在这里插入图片描述
2、确保docker和kubelet的cgroup drive一样:

#docker info | grep -i cgroup //查看docker的cgroup drive
//查看kubelet的cgroup drive
#cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

docker上如图:
在这里插入图片描述
但是居然没找到kubelet的文件,后来通过查看kubelet status发现文件在其它路径
在这里插入图片描述
重新查看文件:
在这里插入图片描述
参考:https://www.linuxidc.com/Linux/2018-01/150442.htm?hmsr=toutiao.io
修改配置文件,具体见下步。

3、启动kubelet:
#systemctl enable kubelet
直接start会失败:
在这里插入图片描述
【PENDING】修改配置文件:

Environment="KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs"
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBE
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Ansible远程部署httpd服务的步骤: 1. 确保已经安装了Ansible,并且配置了各节点之间的互信关系。 2. 创建一个Ansible playbook文件,例如`deploy_httpd.yml`,并在其中定义任务和角色。 3. 在playbook中定义主节点和被控节点的组,以及相关的变量。例如: ```yaml --- - name: Deploy httpd hosts: webservers become: yes vars: httpd_port: 99 httpd_root: /var/www httpd_domain: "{{ ansible_host }}" httpd_user: apache roles: - httpd ``` 4. 创建一个Ansible角色,例如`httpd`,并在其中定义任务和模板文件。 5. 在角色的`tasks`目录下创建一个`main.yml`文件,并在其中定义任务。例如: ```yaml --- - name: Install httpd yum: name: httpd state: present - name: Configure httpd template: src: httpd.conf.j2 dest: /etc/httpd/conf/httpd.conf notify: Restart httpd - name: Deploy index.html template: src: index.html.j2 dest: "{{ httpd_root }}/index.html" - name: Start httpd service: name: httpd state: started enabled: yes - name: Check httpd status uri: url: "http://{{ httpd_domain }}:{{ httpd_port }}" return_content: yes register: httpd_status failed_when: httpd_status.status != 200 ``` 6. 在角色的`templates`目录下创建一个`httpd.conf.j2`文件,并在其中定义httpd的配置。例如: ```apacheconf Listen {{ httpd_port }} DocumentRoot "{{ httpd_root }}" <Directory "{{ httpd_root }}"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> ``` 7. 在角色的`templates`目录下创建一个`index.html.j2`文件,并在其中定义测试页面的内容。例如: ```html <html> <head> <title>Test Page</title> </head> <body> <h1>Hello, World!</h1> </body> </html> ``` 8. 运行Ansible playbook来执行部署任务。例如: ```shell ansible-playbook deploy_httpd.yml ``` 这将在主节点上远程执行部署任务,并将httpd服务安装在被控节点上。 9. 检查部署是否成功。可以通过浏览器访问被控节点的IP地址,加上指定的端口号(例如99),来查看测试页面是否正常显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值