使用Ansible创建kubeadm令牌

时间:2018-04-17 06:39:07

标签: kubernetes ansible

我在裸机上运行Kubernetes集群并且我正在编写Ansible任务以从主节点获取join命令:

- name: Get join command from master
  shell: kubeadm token create --print-join-command
  when: role == "master"
  run_once: true
  register: join_command

当我运行剧本时,我收到以下错误:" 5次尝试后无法创建引导令牌[]"。

如果我直接在主控主机上运行完全相同的命令(kubeadm token create --print-join-command)或使用ssh kube-master kubeadm token create --print-join-command远程运行​​,它会正确输出连接命令。

我在这里没有选择......有什么想法吗?

2 个答案:

答案 0 :(得分:2)

如果您的“kubeadm”无法使用配置文件中的凭据连接到Kubernetes群集,则会出现该错误。您可以通过停止主节点上的<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.0/jquery-ui.js"></script> <link href="https://code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css" rel="stylesheet"/> <table name="kalender" width="100%" border="0"> <tr height="45px"> <td id="28800"><b>08:00</b></td> <td>1 <div class="dragDiv" style="height:44px; line-height:44px; font-size:12px;" id="test">TEST</div> </td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> </tr> <tr height="45px"> <td id="30600">08:30</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6 </td> </tr> <tr height="45px"> <td id="32400"><b>09:00</b></td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> </tr> <tr height="45px"> <td id="34200">09:30</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> </tr> </table>服务来重现它。

在你的情况下使用Ansible或shell运行命令没有区别,所以它应该可以工作。

所以,我唯一可以建议的是:

  1. 验证Ansible角色func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { // Table view cells are reused and should be dequeued using a cell identifier. let cellIdentifier = "ToDoListTableViewCell" let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! ToDoListTableViewCell cell.delegate = self // let toDoActionItem = fetchedResultsController.object(at: indexPath) if let getTempDetails: [String : Any] = getAllDetail[indexPath.row] { print("ang tanan data:" , getTempDetails) if let str = getTempDetails["status"] as? [String: String] { if let name = str["name"] { if name == "ongoing" { cell.toDoItemLabel.text = getTempDetails["name"] as? String cell.statuslabel.backgroundColor = created // cell.label.textColor = UIColor(red: 0.9294, green: 0.3333, blue: 0.1804, alpha: 1.0) // cell.backgroundColor = created } else if name == "approved" { cell.toDoItemLabel.text = getTempDetails["name"] as? String cell.statuslabel.backgroundColor = done cell.checkBoxButton.isSelected = true } else if name == "for approval" { cell.toDoItemLabel.text = getTempDetails["name"] as? String cell.statuslabel.backgroundColor = pending }else if name == "near expiry" { cell.toDoItemLabel.text = getTempDetails["name"] as? String cell.statuslabel.backgroundColor = neardue } else if name == "expired" { cell.toDoItemLabel.text = getTempDetails["name"] as? String cell.statuslabel.backgroundColor = expired } else { print("false") cell.toDoItemLabel.text = "LOLS" } } } } code for segment (in selecting segment) func selectSegmentInSegmentView(segmentView: SMSegmentView) { if segmentView.selectedSegmentIndex == 1 { print("ang index nga emo ge click is one") // let selectedSegment : SMSegment = segmentView.selectedSegment! // self.userName = selectedSegment.label.text! } else { logic here } self.setUpTableView() or could be self.tableView.reloadData() } 是否已附加到正确的主机。
  2. 检查Ansible用户是否有权访问docker配置,其默认路径为master,并确保配置正确。您可以尝试使用kubeadm选项以root身份运行命令。

答案 1 :(得分:0)

在ansible playbook中设置了代理配置:

---

- hosts: [vmsk8s]
  roles:
    - vmsk8s
  environment:
    http_proxy: http://10.0.0.1:3128
    https_proxy: http://10.0.0.1:3128

删除代理环境变量修复了问题。